class DDQL::TokenType::SubQueryFields

Public Class Methods

new() click to toggle source
Calls superclass method DDQL::TokenType::new
# File lib/ddql/token_type.rb, line 527
def initialize
  super(name: :sub_query_fields, pattern: /fields:\s*(?<sub_query_fields>#{FACTOR_PATTERN})\s*,?\s*/)
  trimming!
end

Public Instance Methods

as_hash(data) click to toggle source
# File lib/ddql/token_type.rb, line 532
def as_hash(data)
  {name => {factor: data}}
end
parse(parser, token, expression: nil) click to toggle source
# File lib/ddql/token_type.rb, line 536
def parse(parser, token, expression: nil)
  if expression.nil? || expression.keys != %i[agg sub_query_expression sub_query_type]
    as_hash(token.data).merge parser.parse
  else
    expression.merge(as_hash(token.data))
  end
end