Module: ActiveQuery::SQLParser
- Defined in:
- lib/active_query/sql_parser.rb
Defined Under Namespace
Classes: Query, SyntaxError
Constant Summary collapse
- WHITESPACE =
/\s+/- NAME =
/^\s*--\s*name\s*:\s*(.+)/- END_QUERY =
/;/- PARAMS =
/\(\:\s*([^)]+?)\s*\)/- ALL_COMMENTS =
/(?-m:--.*)|(?m:--\*.--?\*\/)/- PARAM =
/:\w+/
Class Method Summary collapse
Class Method Details
.parse_query(query) ⇒ Object
16 17 18 19 20 21 22 23 24 25 26 27 |
# File 'lib/active_query/sql_parser.rb', line 16 def self.parse_query(query) @scanner = StringScanner.new(query) @line = 0 @query = Query.new until @scanner.eos? || @scanner.check_until(END_QUERY).nil? @line += 1 parse_line end @query.query = make_params(@query.query, @query.params) @query end |