diff options
author | Bert Bruynooghe <bert.bruynooghe@up-nxt.com> | 2016-02-17 22:30:10 +0100 |
---|---|---|
committer | Bert Bruynooghe <bert.bruynooghe@up-nxt.com> | 2016-02-17 22:30:10 +0100 |
commit | df9dd77ee5cf2610599942555e49dedd678a8e8b (patch) | |
tree | ba4d835e051c0258610560a5f409a9f10e704912 | |
parent | 148348278241998e004c411deb3a6cfb7cf71213 (diff) | |
download | rails-df9dd77ee5cf2610599942555e49dedd678a8e8b.tar.gz rails-df9dd77ee5cf2610599942555e49dedd678a8e8b.tar.bz2 rails-df9dd77ee5cf2610599942555e49dedd678a8e8b.zip |
added Casted#hash
-rw-r--r-- | lib/arel/nodes/casted.rb | 4 | ||||
-rw-r--r-- | test/nodes/test_casted.rb | 16 |
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 |