class DDQL::CoalesceOperator
Public Class Methods
new()
click to toggle source
Calls superclass method
DDQL::AggOperator::new
# File lib/ddql/coalesce_operator.rb, line 3 def initialize super("COALESCE", "Coalesce", return_type: :match) end
Public Instance Methods
parse(parser, token, expression: nil)
click to toggle source
# File lib/ddql/coalesce_operator.rb, line 7 def parse(parser, token, expression: nil) new_expression = parser.parse(precedence: precedence) if expression expression = expression.merge(new_expression) else expression = new_expression end left_factor, right_factor = expression[:string].split('|', 2) { op_coalesce: [ {factor: left_factor}, {factor: right_factor}, ] } end