class DDQL::LookupOperator
Public Class Methods
new()
click to toggle source
Calls superclass method
DDQL::AggOperator::new
# File lib/ddql/lookup_operator.rb, line 5 def initialize super("LOOKUP BY", "Lookup", type: :infix, return_type: :string) end
Public Instance Methods
parse(parser, _token, expression: nil)
click to toggle source
# File lib/ddql/lookup_operator.rb, line 9 def parse(parser, _token, expression: nil) precedence = self.precedence precedence -= 1 if right? next_expression = parser.parse(precedence: precedence) foreign_value_factor = expression[:factor] foreign_key_factor = (next_expression.delete(:left) || next_expression)[:factor] { op_lookup_by: { foreign_key: {factor: foreign_key_factor}, foreign_value: {factor: foreign_value_factor}, }, } end