From 6c57c78671ef49922643361cfb0a9287986be904 Mon Sep 17 00:00:00 2001 From: lsylvester Date: Fri, 3 Oct 2014 19:53:54 +1000 Subject: [PATCH] define hash on duration --- activesupport/lib/active_support/duration.rb | 4 ++++ activesupport/test/core_ext/duration_test.rb | 4 ++++ 2 files changed, 8 insertions(+) diff --git a/activesupport/lib/active_support/duration.rb b/activesupport/lib/active_support/duration.rb index e861a17426..584fc1e1c5 100644 --- a/activesupport/lib/active_support/duration.rb +++ b/activesupport/lib/active_support/duration.rb @@ -63,6 +63,10 @@ module ActiveSupport Duration === other && other.value.eql?(value) end + def hash + @value.hash + end + def self.===(other) #:nodoc: other.is_a?(Duration) rescue ::NoMethodError diff --git a/activesupport/test/core_ext/duration_test.rb b/activesupport/test/core_ext/duration_test.rb index f4d504914e..5a2af7f943 100644 --- a/activesupport/test/core_ext/duration_test.rb +++ b/activesupport/test/core_ext/duration_test.rb @@ -196,4 +196,8 @@ class DurationTest < ActiveSupport::TestCase assert_respond_to 1.day, :since assert_respond_to 1.day, :zero? end + + def test_hash + assert_equal 1.minute.hash, 60.seconds.hash + end end