instance method
minus_with_coercion
Ruby on Rails edge
Since v3.0.20Signature
minus_with_coercion(other)
Time#- can also be used to determine the number of seconds between two Time instances. We’re layering on additional behavior so that ActiveSupport::TimeWithZone instances are coerced into values that Time#- will recognize
Parameters
-
otherreq
Source
# File activesupport/lib/active_support/core_ext/time/calculations.rb, line 341
def minus_with_coercion(other)
other = other.comparable_time if other.respond_to?(:comparable_time)
if other.is_a?(DateTime)
# Prefer an exact rational difference: Float (to_f) cannot represent every
# microsecond, so sub-second DateTime values lost precision (same class of
# issue as Time.at with DateTime). The difference is returned as a Float
# to match Time#-(Time) and ActiveSupport::TimeWithZone#-(DateTime).
(to_r - other.to_i - other.sec_fraction).to_f
else
minus_without_coercion(other)
end
end
Defined in activesupport/lib/active_support/core_ext/time/calculations.rb line 341
· View on GitHub
· Improve this page
· Find usages on GitHub
Defined in Time