У меня есть следующий Rakefile (это упрощенный пример):
namespace :green do
rule(/^build:/) do |t|
puts "[green] #{t}"
end
task :start do
puts '[green] start'
end
task run: ['build:app', :start]
end
namespace :blue do
rule(/^build:/) do |t|
puts "[blue] #{t}"
end
task :start do
puts '[blue] start'
end
task run: ['build:app', :start]
end
Я бы хотел, чтобы каждое правило "сборки" применялось только в пределах пространства имен, в котором оно определено. Другими словами, это то, что я хочу, чтобы произошло:
$ rake blue:run
[blue] build:app
[blue] start
Но что на самом деле происходит, так это (с Rake 12.3.1):
$ rake blue:run
[green] build:app
[blue] start
Есть ли способ ограничить область действия правил "сборки", чтобы правило, определенное в "зеленом" пространстве имен, не было доступно из "синего" пространства имен?