class Operator

Constants

INVERSE_OP
S_OP
S_OP_EXPR

Attributes

op[R]

Public Class Methods

new(op, *members, **props) click to toggle source
Calls superclass method Expression::new
# File lib/eno/expressions.rb, line 336
def initialize(op, *members, **props)
  if Operator === members[0] && op == members[0].op
    members = members[0].members + members[1..-1]
  end
  if Operator === members.last && op == members.last.op
    members = members[0..-2] + members.last.members
  end

  super(*members, **props)
  @op = op
end

Public Instance Methods

to_sql(sql) click to toggle source
# File lib/eno/expressions.rb, line 351
def to_sql(sql)
  op_s = S_OP % @op
  S_OP_EXPR % @members.map { |m| sql.quote(m) }.join(op_s)
end