2017-02-13 13:58:58 -05:00
|
|
|
# frozen_string_literal: true
|
2010-08-23 17:44:10 -04:00
|
|
|
module Arel
|
|
|
|
module Nodes
|
2010-12-14 21:13:06 -05:00
|
|
|
class And < Arel::Nodes::Node
|
2010-12-09 17:48:28 -05:00
|
|
|
attr_reader :children
|
|
|
|
|
2014-06-01 07:32:16 -04:00
|
|
|
def initialize children
|
2013-05-17 18:43:54 -04:00
|
|
|
super()
|
2010-12-09 17:48:28 -05:00
|
|
|
@children = children
|
|
|
|
end
|
|
|
|
|
|
|
|
def left
|
|
|
|
children.first
|
|
|
|
end
|
|
|
|
|
|
|
|
def right
|
|
|
|
children[1]
|
|
|
|
end
|
2012-08-18 22:33:25 -04:00
|
|
|
|
|
|
|
def hash
|
|
|
|
children.hash
|
|
|
|
end
|
|
|
|
|
|
|
|
def eql? other
|
|
|
|
self.class == other.class &&
|
|
|
|
self.children == other.children
|
|
|
|
end
|
|
|
|
alias :== :eql?
|
2010-08-23 17:44:10 -04:00
|
|
|
end
|
|
|
|
end
|
|
|
|
end
|