【问题标题】:How can I add a description to a rake task after it has been defined?如何在定义 rake 任务后为其添加描述?
【发布时间】:2023-03-03 17:15:01
【问题描述】:

典型的 rake 任务定义如下所示:

desc "Set the environment value for the database"
task "environment:set" => [:environment, :load_config] do
  ActiveRecord::InternalMetadata.create_table
  ActiveRecord::InternalMetadata[:environment] = ActiveRecord::Migrator.current_environment
end

但是如果它没有desc,我想稍后在运行时添加它,在任务定义的文件执行之后。像desc "this is the documentation", task: :taskname 这样的东西。这可能吗?

【问题讨论】:

标签: ruby rake


【解决方案1】:

是的,只要它位于“任务”方法的正上方,您就可以在事后添加 desc。

Github 存储库的链接已损坏,但如果您查看 at the source here,您可以看到 desc 只是在 rake -T 被调用。

【讨论】:

  • “事后”我的意思是“在代码中更进一步”。所以,不能直接在task方法上面。
  • 哦,我误会了。否。 desc 方法链接到下一个任务方法。将 desc 方法放在任务之后会导致 desc 被分配给下一个任务,或者如果它位于 rakefile 的末尾,则根本不分配。有两种 desc 方法会导致后一种方法覆盖第一种方法。出于好奇,为什么不能把它放在任务方法之前呢?可能会有某种黑客攻击,但这超出了我的范围。
  • 您的“事后”评论需要出现在您的问题中,就好像它一直都存在一样。添加它,以便其他人了解您在说什么。 (不要使用“编辑”或“更新”标签,因为我们可以知道发生了什么变化。)你应该解释为什么你不希望它高于它应该去的任务。
猜你喜欢
  • 2012-02-05
  • 1970-01-01
  • 2013-05-12
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-10-17
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多