Dodaj następujące zadania poza obszarem nazw:
desc "Run all my tasks"
task :my_tasks => ["my_tasks:all"]
Należy pamiętać, że można mieć zadanie o takiej samej nazwie jak nazw.
I hier większy przykład, który pokazuje, w jaki sposób można skorzystać z zadań, które mają taką samą nazwę jak nazw, nawet gdy gniazdowania nazw:
namespace :job1 do
task :do_something1 do
puts "job1:do_something1"
end
task :do_something2 do
puts "job1:do_something2"
end
task :all => [:do_something1, :do_something2]
end
desc "Job 1"
task :job1 => ["job1:all"]
# You do not need the "all"-task, but it might be handier to have one.
namespace :job2 do
task :do_something1 do
puts "job2:do_something1"
end
task :do_something2 do
puts "job2:do_something2"
end
end
desc "Job 2"
task :job2 => ["job2:do_something1", "job2:do_something2"]
namespace :superjob do
namespace :job1 do
task :do_something1 do
puts "superjob:job1:do_something1"
end
task :do_something2 do
puts "superjob:job1:do_something2"
end
end
desc "Job 1 in Superjob"
task :job1 => ["job1:do_something1", "job1:do_something2"]
namespace :job2 do
task :do_something1 do
puts "superjob:job2:do_something1"
end
task :do_something2 do
puts "superjob:job2:do_something2"
end
end
desc "Job 2 in Superjob"
task :job2 => ["job2:do_something1", "job2:do_something2"]
end
desc "My Super Job"
task :superjob => ["superjob:job1", "superjob:job2"]
# Do them all just by calling "$ rake"
task :default => [:job1, :job2, :superjob]
Wystarczy skopiować go i go wypróbować.
próbowałeś wprowadzenie domyślnego w przestrzeni nazw (zadanie: default =>: all) –
tak, że nie działa :/ – hsribei
Zrób to, co Jim opisuje, tylko domyślne zadanie wykracza poza przestrzeń nazw i musi zawierać przestrzeń nazw i zadania. (task: default => "my_tasks: all") Poniżej znajduje się moja odpowiedź na przykład. –