web-dev-qa-db-ja.com

3.days.ago、2.hours.from_nowなど、Railsなし?

いくつかの本では、数字を#days#megabytes#minutesなど。これはActiveSupportにのみ存在しますか、それとも(小さな)非Railsジェムで使用するためにこの機能を提供する小さなジェムがありますか?この機能をDSLの一部として小さな宝石で使用したいと思います。

28
d11wtq

ActiveSupport以外に利用可能なgemがあるかどうかはわかりませんが、自分で小さなバージョンを作成するのは非常に簡単です。

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

from_nowagoのように実装できますが、+ selfおよびweekshoursなど、異なる定数を使用したdaysなど。

36
Michael Kohl

ActiveSupport にはこの機能があります。元々はRailsの一部でしたが、現在は個別に使用できます。

9
Jordan Running
3
Erik