aboutsummaryrefslogtreecommitdiffstats
path: root/activesupport/lib/active_support/duration.rb
diff options
context:
space:
mode:
authorChen Kinnrot <kinnrot@gmail.com>2017-12-13 10:16:46 +0200
committerChen Kinnrot <kinnrot@gmail.com>2017-12-13 10:16:46 +0200
commit041b2052e6d5d715474e34f3625f88f586941bfd (patch)
tree32b9cf5e4086cb3ccb84eb13b04639eac86fd792 /activesupport/lib/active_support/duration.rb
parent067fc779c4560fff4812614a2f78f9248f3e55f8 (diff)
downloadrails-041b2052e6d5d715474e34f3625f88f586941bfd.tar.gz
rails-041b2052e6d5d715474e34f3625f88f586941bfd.tar.bz2
rails-041b2052e6d5d715474e34f3625f88f586941bfd.zip
Empty duration inspect fix
Diffstat (limited to 'activesupport/lib/active_support/duration.rb')
-rw-r--r--activesupport/lib/active_support/duration.rb4
1 files changed, 3 insertions, 1 deletions
diff --git a/activesupport/lib/active_support/duration.rb b/activesupport/lib/active_support/duration.rb
index 1af3411a8a..fe1058762b 100644
--- a/activesupport/lib/active_support/duration.rb
+++ b/activesupport/lib/active_support/duration.rb
@@ -194,7 +194,6 @@ module ActiveSupport
end
parts[:seconds] = remainder
- parts.reject! { |k, v| v.zero? }
new(value, parts)
end
@@ -211,6 +210,7 @@ module ActiveSupport
def initialize(value, parts) #:nodoc:
@value, @parts = value, parts.to_h
@parts.default = 0
+ @parts.reject! { |k, v| v.zero? }
end
def coerce(other) #:nodoc:
@@ -370,6 +370,8 @@ module ActiveSupport
alias :before :ago
def inspect #:nodoc:
+ return "0 seconds" if parts.empty?
+
parts.
reduce(::Hash.new(0)) { |h, (l, r)| h[l] += r; h }.
sort_by { |unit, _ | PARTS.index(unit) }.