aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorErnie Miller <ernie@ernie.io>2016-02-17 16:40:27 -0500
committerErnie Miller <ernie@ernie.io>2016-02-17 16:40:27 -0500
commit1beac5b00395e2007181a10b5c70df113b4ed917 (patch)
treeba4d835e051c0258610560a5f409a9f10e704912
parent148348278241998e004c411deb3a6cfb7cf71213 (diff)
parentdf9dd77ee5cf2610599942555e49dedd678a8e8b (diff)
downloadrails-1beac5b00395e2007181a10b5c70df113b4ed917.tar.gz
rails-1beac5b00395e2007181a10b5c70df113b4ed917.tar.bz2
rails-1beac5b00395e2007181a10b5c70df113b4ed917.zip
Merge pull request #414 from bertBruynooghe/master
added Casted#hash
-rw-r--r--lib/arel/nodes/casted.rb4
-rw-r--r--test/nodes/test_casted.rb16
2 files changed, 20 insertions, 0 deletions
diff --git a/lib/arel/nodes/casted.rb b/lib/arel/nodes/casted.rb
index 9fa02955ef..543374d695 100644
--- a/lib/arel/nodes/casted.rb
+++ b/lib/arel/nodes/casted.rb
@@ -10,6 +10,10 @@ module Arel
def nil?; @val.nil?; end
+ def hash
+ [@class, @val, @attribute].hash
+ end
+
def eql? other
self.class == other.class &&
self.val == other.val &&
diff --git a/test/nodes/test_casted.rb b/test/nodes/test_casted.rb
new file mode 100644
index 0000000000..6d775e17ec
--- /dev/null
+++ b/test/nodes/test_casted.rb
@@ -0,0 +1,16 @@
+require 'helper'
+
+module Arel
+ module Nodes
+ describe Casted do
+ describe '#hash' do
+ it 'is equal when eql? returns true' do
+ one = Casted.new 1, 2
+ also_one = Casted.new 1, 2
+
+ assert_equal one.hash, also_one.hash
+ end
+ end
+ end
+ end
+end