web-dev-qa-db-ja.com

別のタスクからの引数を使用してrakeタスクを呼び出す

別のタスクから呼び出さなければならないタスクの引数を渡せるようにしたい

引数なしで呼び出すと、次のように機能します。

Rake::Task["mytask1"].invoke

ただし、このような引数では、次のことはできません。

Rake::Task["mytask1[1,v18_0,20141230]"].invoke

ありがとう

17
Karim Mtl

あなたが試すことができます

Rake::Task[:my_task].invoke(1,'v18_0',20141230)

またはあなたがすることができます

Rake.application.invoke_task("my_task[1, 'v18_0', 20141230]")
44
Rajarshi Das

invoke を介してパラメータを渡すことができます

namespace :tester do
  desc "test"
  task :test, [:amount] => :environment do |task, args|
    puts "Your amount is #{args.amount}"
  end

  task :test_task do
    Rake::Task["tester:test"].invoke(100)
  end  
end

rake tester:test_task
Your amount is 100
6
ChrisBarthol