Provides accurate date and time measurements using Date#advance and Time#advance, respectively. It mainly supports the methods on Numeric. Example:
1.month.ago # equivalent to Time.now.advance(:months => -1)
Methods
Attributes
[RW] | parts | |
[RW] | value |
Instance Public methods
Source: show
# File activesupport/lib/active_support/duration.rb, line 21 def +(other) if Duration === other Duration.new(value + other.value, @parts + other.parts) else Duration.new(value + other, @parts + [[:seconds, other]]) end end
Source: show
# File activesupport/lib/active_support/duration.rb, line 31 def -(other) self + (-other) end
Returns true if other
is also a Duration instance with the same
value
, or if other == value
.
Source: show
# File activesupport/lib/active_support/duration.rb, line 46 def ==(other) if Duration === other other.value == value else other == value end end
Also aliased as: until
Source: show
# File activesupport/lib/active_support/duration.rb, line 69 def ago(time = ::Time.current) sum(-1, time) end