2017-02-13 13:58:58 -05:00
|
|
|
# frozen_string_literal: true
|
2018-02-24 01:45:50 -05:00
|
|
|
|
2018-02-24 02:41:47 -05:00
|
|
|
module Arel # :nodoc: all
|
2010-08-23 17:44:10 -04:00
|
|
|
module Nodes
|
2019-01-24 14:35:52 -05:00
|
|
|
class And < Arel::Nodes::NodeExpression
|
2010-12-09 17:48:28 -05:00
|
|
|
attr_reader :children
|
|
|
|
|
2018-02-24 01:45:50 -05: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
|
|
|
|
|
2018-02-24 01:45:50 -05:00
|
|
|
def eql?(other)
|
2012-08-18 22:33:25 -04:00
|
|
|
self.class == other.class &&
|
|
|
|
self.children == other.children
|
|
|
|
end
|
|
|
|
alias :== :eql?
|
2010-08-23 17:44:10 -04:00
|
|
|
end
|
|
|
|
end
|
|
|
|
end
|