3.days.ago,2.hours.from_now等没有Rails?

d11*_*wtq 28 ruby rubygems ruby-on-rails numeric activesupport

有些书中提到的一些宝石与装饰数字#days,#megabytes,#minutes等等.这是只有在的ActiveSupport,还是有提供此功能用于(小)无轨宝石小宝石?我想在一个小小的宝石中使用这个功能作为DSL的一部分.

Mic*_*ohl 36

我不确定是否还有其他宝石ActiveSupport,但是自己制作一个小版本真的很简单:

class Fixnum
  SECONDS_IN_DAY = 24 * 60 * 60

  def days
    self * SECONDS_IN_DAY
  end

  def ago
    Time.now - self
  end
end

3.days.ago #=> 2011-06-18 08:45:29 0200
Run Code Online (Sandbox Code Playgroud)

from_now可以像ago使用+ self和等一样实现weeks,hours比如days使用不同的常量.


Jor*_*ing 9

ActiveSupport具有此功能.它最初是Rails的一部分,但现在可以单独使用.

  • 这是正确的,但也请注意,你不能只是```require'activesupport'```.OP需要更加明确他们想要从activesupport"``require```.如果你只是想要时间,你可以"需要"active_support/core_ext/numeric/time"``` (20认同)
  • 现在它的`require'active_support/all' (9认同)