【问题标题】:How do I add Ruby methods to a rake file 'the right way'?如何“以正确的方式”将 Ruby 方法添加到 rake 文件?
【发布时间】:2013-09-12 00:03:53
【问题描述】:

我正在创建一个复杂的 Rakefile,并且有一些在各个地方使用的逻辑,并希望将其打包在一些“帮助”方法中。我看到了三种可能性:

  1. 将方法放在调用它们的任务之后。
  2. 将它们放在单独的 rake_helpers.rb 文件中,并在开头包含该文件。
  3. 使用一些我不知道的 rake 功能来处理这种情况。

这里的最佳做法或惯例是什么?

【问题讨论】:

  • 你的意思是你的 Rails 应用程序在运行时使用的辅助方法吗?还是它们是您在开发过程中使用的工具?作为开发过程的一部分,Rake 任务通常用于命令行工作。对于应用程序助手,有些可能会在app/helpers 下用于查看/控制器特定的助手。否则,请考虑在 lib/extensions 下的文件中定义帮助程序类。
  • 我通常使用“帮助者”这个词。它们实际上是在多个 Rakefile 任务中调用的方法,因此将代码内联不是 DRY。而且很丑。
  • 确实,我不提倡将它们“内联”。我的评论表明大致位置取决于他们扮演的角色。干燥度是下面的一个细节。如果它们是多个 Rake 任务使用的对象,您仍然可以将它们放在 lib 下,或者放在与 Rakefiles 相同的文件夹中的单独 .rb 文件中,或者放在不同的 lib 子文件夹中。您的配置文件可能需要指明您使用的任何新库路径的存在。

标签: ruby rake


【解决方案1】:

我只是将它们放在lib/rake 子目录中,并且仅出于 rake 任务的目的而包含它们。如果需要,我还可以将这些文件单独包含在我的 Rails(或其他)环境中。

我实际上有一整个这样的特殊函数库。例如,当我不使用 Rails 时,我有自己的 say_with_time("message") do; block; end 记录器。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2022-12-23
    • 1970-01-01
    • 2020-09-01
    • 1970-01-01
    • 2015-09-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多