2015-08-06 11 views
7

Ich würde Argumente in der Lage sein mag für eine Aufgabe zu übergeben, die ich von einer anderen Aufgabe verlangenInvoke Rake Aufgabe mit Argumenten aus einer anderen Aufgabe

aufrufen, ohne Argumente funktioniert für mich wie folgt aus:

Rake::Task["mytask1"].invoke 

jedoch mit Argumenten wie diese es nicht:

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

Dank

Antwort

18

Sie können

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

versuchen oder Sie können

Rake.application.invoke_task("my_task[1, 'v18_0', 20141230]") 
+0

Dank passieren kann Ihre Antwort funktioniert, wie Sie für mich –

+0

Hinweis haben rufen '.reenable' um dieselbe Aufgabe zweimal auszuführen. Siehe http://stackoverflow.com/questions/22639194/invoking-the-same-rake-task-twice-in-rspec –

4

Sie tun in Parameter durch 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 
Verwandte Themen