class DDQL::TokenType::SubQueryType

Public Class Methods

new() click to toggle source
Calls superclass method DDQL::TokenType::new
# File lib/ddql/token_type.rb, line 574
def initialize
  super(name: :sub_query_type, pattern: /type:\s*(?<sub_query_type>IssuerCase|IssuerPerson|Issuer|Case|Person)\s*,?\s*/)
end

Public Instance Methods

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