diff options
-rw-r--r-- | lib/arel/nodes/equality.rb | 3 | ||||
-rw-r--r-- | spec/arel/nodes/equality_spec.rb | 27 |
2 files changed, 30 insertions, 0 deletions
diff --git a/lib/arel/nodes/equality.rb b/lib/arel/nodes/equality.rb index b8d8281434..f29344e580 100644 --- a/lib/arel/nodes/equality.rb +++ b/lib/arel/nodes/equality.rb @@ -1,6 +1,9 @@ module Arel module Nodes class Equality < Arel::Nodes::Binary + def operator; :== end + alias :operand1 :left + alias :operand2 :right end end end diff --git a/spec/arel/nodes/equality_spec.rb b/spec/arel/nodes/equality_spec.rb index d91fa0df03..d9edc352f3 100644 --- a/spec/arel/nodes/equality_spec.rb +++ b/spec/arel/nodes/equality_spec.rb @@ -1,6 +1,33 @@ module Arel module Nodes describe 'equality' do + # FIXME: backwards compat + describe 'backwards compat' do + describe 'operator' do + it 'returns :==' do + attr = Table.new(:users)[:id] + left = attr.eq(10) + check left.operator.should == :== + end + end + + describe 'operand1' do + it "should equal left" do + attr = Table.new(:users)[:id] + left = attr.eq(10) + check left.left.should == left.operand1 + end + end + + describe 'operand2' do + it "should equal right" do + attr = Table.new(:users)[:id] + left = attr.eq(10) + check left.right.should == left.operand2 + end + end + end + describe 'or' do it 'makes an OR node' do attr = Table.new(:users)[:id] |