我想在非Rails Ruby项目的date_helper.rb Rails文件中使用distance_of_time_in_words
方法(参见Github)。
如何加入?它需要其他文件,那么如何包含它们呢?
我不想包含所有Rails,因为这会减慢开发过程。
Ruby 1.9.3
答案 0 :(得分:2)
方法'distance_of_time_in_words'位于actionpack / lib / action_view / helpers / date_helper.rb中。所以你应该要求'action_view'和'action_view / helpers'来加载这个方法。并且该方法在模块ActionView :: Helpers :: DateHelper中定义,您可以将它包含在您的类中。该方法是一种实例方法。
require 'action_view'
require 'action_view/helpers'
class Klass
include ActionView::Helpers::DateHelper
end
c = Klass.new
c.distance_of_time_in_words( ...... )
答案 1 :(得分:2)
如果这是你唯一想要的东西,那么我就去拿source code并破解它来删除依赖项(看起来只是一些I18n翻译。为了支持黑客,你可以翻译this测试套件。
为什么我会这样做而不是使用gem?因为它只是如此巨大的依赖性。它是如此巨大,你实际上注意到它加载所有代码。我宁愿撕掉这个方法并破解它的工作,而不是依赖于所有这些(再次,假设这是你想从lib中唯一的东西)。