aboutsummaryrefslogtreecommitdiffstats
path: root/activesupport/lib
diff options
context:
space:
mode:
authorJeremy Kemper <jeremy@bitsweat.net>2007-05-30 06:21:08 +0000
committerJeremy Kemper <jeremy@bitsweat.net>2007-05-30 06:21:08 +0000
commit6503da69910beb382b18127c51cd318631245607 (patch)
tree4095ad542ea7e0ba2e760430ea9a1f52a763be88 /activesupport/lib
parenta1c88273f4321e203ccf389ccff8a8e043c4f8f9 (diff)
downloadrails-6503da69910beb382b18127c51cd318631245607.tar.gz
rails-6503da69910beb382b18127c51cd318631245607.tar.bz2
rails-6503da69910beb382b18127c51cd318631245607.zip
Time durations use since instead of + for accuracy. Closes #8513.
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@6901 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
Diffstat (limited to 'activesupport/lib')
-rw-r--r--activesupport/lib/active_support/core_ext/date_time/calculations.rb2
-rw-r--r--activesupport/lib/active_support/duration.rb2
2 files changed, 2 insertions, 2 deletions
diff --git a/activesupport/lib/active_support/core_ext/date_time/calculations.rb b/activesupport/lib/active_support/core_ext/date_time/calculations.rb
index dd30dd07bc..3e62891fcf 100644
--- a/activesupport/lib/active_support/core_ext/date_time/calculations.rb
+++ b/activesupport/lib/active_support/core_ext/date_time/calculations.rb
@@ -45,7 +45,7 @@ module ActiveSupport #:nodoc:
# Returns a new DateTime representing the time a number of seconds since the instance time
# Do not use this method in combination with x.months, use months_since instead!
def since(seconds)
- self + Rational(seconds, 86400)
+ self + Rational(seconds.round, 86400)
end
alias :in :since
diff --git a/activesupport/lib/active_support/duration.rb b/activesupport/lib/active_support/duration.rb
index 5279c4435a..721bc18795 100644
--- a/activesupport/lib/active_support/duration.rb
+++ b/activesupport/lib/active_support/duration.rb
@@ -67,7 +67,7 @@ module ActiveSupport
parts.inject(time) do |t,(type,number)|
if t.acts_like?(:time)
if type == :seconds
- t + (sign * number)
+ t.since(sign * number)
else
t.advance(type => sign * number)
end