Я хочу видеть сообщения «Пуск» и «Завершение» для всех задач рейка.
task :my_before_hook, [:name] => :environment do |_t, args|
puts "Rake task #{args[:name]} started"
end
task :my_after_hook, [:name] => :environment do |_t, args|
puts "Rake task #{args[:name]} finished"
end
task :my_test_task => :environment do
puts '--------- This is test task'
end
Rake.application.tasks.each do |tsk|
next if [Rake::Task['my_before_hook'],
Rake::Task['my_after_hook']].include?(tsk)
tsk.enhance ['my_before_hook']
tsk.enhance do
Rake::Task['my_after_hook'].invoke(tsk.name)
end
end
Выход:
Rake task started
--------- This is test task
Rake task my_test_task finished
Проблема здесь
tsk.enhance ['my_before_hook']
Я понятия не имею, как отправлять параметры перед хуком.