Class: Operator
- Inherits:
-
Expression
- Object
- Expression
- Operator
- Defined in:
- lib/eno.rb
Instance Attribute Summary
Attributes inherited from Expression
Instance Method Summary collapse
-
#initialize(*members, **props) ⇒ Operator
constructor
A new instance of Operator.
- #op ⇒ Object
- #to_sql ⇒ Object
Methods inherited from Expression
#!=, #!@, #%, #&, #*, #+, #-, #/, #<, #<=, #==, #>, #>=, #as, #desc, #inner_join, #join, #not_null?, #null?, #over, quote, #|
Constructor Details
#initialize(*members, **props) ⇒ Operator
Returns a new instance of Operator.
127 128 129 130 131 132 133 134 135 136 137 |
# File 'lib/eno.rb', line 127 def initialize(*members, **props) op = members[0] if Operator === members[1] && op == members[1].op members = [op] + members[1].members[1..-1] + members[2..-1] end if Operator === members[2] && op == members[2].op members = members[0..1] + members[2].members[1..-1] end super(*members, **props) end |
Instance Method Details
#op ⇒ Object
139 140 141 |
# File 'lib/eno.rb', line 139 def op @members[0] end |
#to_sql ⇒ Object
143 144 145 146 |
# File 'lib/eno.rb', line 143 def to_sql op = " #{@members[0]} " "(%s)" % @members[1..-1].map { |m| Expression.quote(m) }.join(op) end |