Class: Sqlite::BaseParser

Inherits:
Object
  • Object
show all
Defined in:
lib/parsers/base_parser.rb

Direct Known Subclasses

DatasetsParser, DisplayParser, QueryParser

Constant Summary collapse

COMMENT =
'-- NONE'

Instance Attribute Summary collapse

Instance Method Summary collapse

Instance Attribute Details

#test_resultObject (readonly)

Returns the value of attribute test_result.



5
6
7
# File 'lib/parsers/base_parser.rb', line 5

def test_result
  @test_result
end

Instance Method Details

#choose_solution(solution) ⇒ Object

A Parser can choose it’s own solution or just return which is passed. This is default choice



21
22
23
# File 'lib/parsers/base_parser.rb', line 21

def choose_solution(solution)
  solution
end

#get_final_queryObject



25
26
27
# File 'lib/parsers/base_parser.rb', line 25

def get_final_query
  ''
end

#parse_test(test) ⇒ Object



7
8
9
10
# File 'lib/parsers/base_parser.rb', line 7

def parse_test(test)
  @test = test
  @test_result = transform_test
end

#show_query?Boolean

Returns:

  • (Boolean)


29
30
31
# File 'lib/parsers/base_parser.rb', line 29

def show_query?
  false
end

#table_nameObject



33
34
35
# File 'lib/parsers/base_parser.rb', line 33

def table_name
  has?(:result_alias) ? get(:result_alias) : I18n.t('default_table_name')
end

#test_has_valid_fields?(test) ⇒ Boolean

Returns:

  • (Boolean)


12
13
14
15
16
17
# File 'lib/parsers/base_parser.rb', line 12

def test_has_valid_fields?(test)
  required = @fields[:required].sort
  optional = @fields[:optional]
  keys = process_alias test.to_h.keys.map(&:to_sym).sort
  (keys - optional).eql? required
end