【发布时间】:2013-09-12 00:03:53
【问题描述】:
我正在创建一个复杂的 Rakefile,并且有一些在各个地方使用的逻辑,并希望将其打包在一些“帮助”方法中。我看到了三种可能性:
- 将方法放在调用它们的任务之后。
- 将它们放在单独的
rake_helpers.rb文件中,并在开头包含该文件。 - 使用一些我不知道的 rake 功能来处理这种情况。
这里的最佳做法或惯例是什么?
【问题讨论】:
-
你的意思是你的 Rails 应用程序在运行时使用的辅助方法吗?还是它们是您在开发过程中使用的工具?作为开发过程的一部分,Rake 任务通常用于命令行工作。对于应用程序助手,有些可能会在
app/helpers下用于查看/控制器特定的助手。否则,请考虑在lib/extensions下的文件中定义帮助程序类。 -
我通常使用“帮助者”这个词。它们实际上是在多个 Rakefile 任务中调用的方法,因此将代码内联不是 DRY。而且很丑。
-
确实,我不提倡将它们“内联”。我的评论表明大致位置取决于他们扮演的角色。干燥度是下面的一个细节。如果它们是多个 Rake 任务使用的对象,您仍然可以将它们放在
lib下,或者放在与 Rakefiles 相同的文件夹中的单独.rb文件中,或者放在不同的lib子文件夹中。您的配置文件可能需要指明您使用的任何新库路径的存在。