55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
|
# File 'lib/parade_db/index.rb', line 55
def parse(source_name, tokenizer, context:)
unless tokenizer.is_a?(Tokenizer)
raise InvalidIndexDefinition, "#{context} for #{source_name.inspect} must be a Tokenizer"
end
options = {}
options[:__positional] = tokenizer.positional_args.dup unless tokenizer.positional_args.nil?
tokenizer.options&.each { |key, value| options[key.to_sym] = value }
key = options[:alias]&.to_s || source_name
DefinitionCompiler::Entry.new(
source: source_name,
expression: expression?(source_name),
tokenizer: tokenizer.name,
options: options,
query_key: key
)
end
|