Как узнать, была ли вызвана задача rake из другой задачи или из оболочки? - PullRequest
1 голос
/ 26 августа 2011

Допустим, у нас есть:

task :something => [:something_else] do
  # some of stuff
end

task :something_else do
  # some verbose stuff
  # some quiet stuff
end

Теперь я хочу, чтобы something_else делал подробные вещи при вызове из оболочки (rake something_else) и тихие при вызове как зависимость от rake something.

Ответы [ 2 ]

1 голос
/ 26 августа 2011

Я думаю, что лучше работать с параметрами или другими задачами.

одна вещь, которую вы могли бы сделать, это посмотреть на задачу верхнего уровня, такую ​​как:

task :something_else do |t|
  puts "some verbose stuff" if t.application.top_level_tasks.include? 'something_else'
  puts "some quiet stuff"
end
0 голосов
/ 26 августа 2011

Вы можете посмотреть, что было передано ARGV. Например:

task :something_else do
    if ARGV[0] == 'something_else'
       puts "Verbose Stuff!"
    end
end
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...