为每个现有rake任务定义自定义rake任务

时间:2014-08-27 15:01:03

标签: ruby-on-rails ruby rake

我需要为每个现有任务创建一个自定义任务。例如在/ lib / tasks中我有两个包含任务的文件:update.rakeservice.rake等。我在每个文件中都有几个任务。我有例如:rake update:users。现在我希望为我定义的每个任务rake custom_behaviour:提供rake custom_behaviour:update:users,例如:Rake::Task.tasks.each do |task| task "custom_behaviour:#{task.name}" do puts "Custom Behaviour Task: rake #{task.name}" end end 。我找到了以下代码:

custom_behaviour.rake

如果我存储此代码的文件以" z"开头,这是正常的,这是因为它是要执行的最后一个文件,但如果我将文件命名为{ {1}}在" c"之后的文件中定义的所有任务不是" custom_behavioured"因为任务还没有加载......

所以我的问题是:这样做的正确方法是什么?我应该在哪里放置" custom_behaviour"代码所以当它被执行时#34;所有任务"加载?

1 个答案:

答案 0 :(得分:2)

我使用文件名约定。这种情况发生在与Rails初始化器相关的其他依赖的东西上。

可能允许您完成所需内容的替代方案(我假设您在标准任务之前/之后有一些自定义行为)是rake_hooks:https://github.com/guillermo/rake-hooks

相关问题