Module: ActiveQuery::SQLParser

Defined in:
lib/active_query/sql_parser.rb

Defined Under Namespace

Classes: InvalidQueryError, Query, SyntaxError

Constant Summary collapse

WHITESPACE =
/\s+/
NAME =
/^\s*--\s*name\s*:\s*(.+)/
QNAME =
/^\s*--\s*name\s*:/
SEMICOLON =
/;/
PARAMS =
/\(\:\s*([^)]+?)\s*\)/
ALL_COMMENTS =
/(?-m:--.*)|(?m:--\*.--?\*\/)/
PARAM =
/:\w+/

Class Method Summary collapse

Class Method Details

.parse_query(query) ⇒ Object



25
26
27
28
29
30
31
32
33
34
35
36
# File 'lib/active_query/sql_parser.rb', line 25

def self.parse_query(query)
  @scanner = StringScanner.new(query.strip)
  @line = 0
  @query = Query.new 

  until @scanner.eos?
    @line += 1
    parse_line
  end
  @query.query = make_params(@query.query, @query.params)
  @query
end