class Canql::Parser
This class simplifies CANQL queries by wrapping them in a little syntactic sugar.
Attributes
parser[R]
Public Class Methods
new(query)
click to toggle source
# File lib/canql/parser.rb, line 11 def initialize(query) raise ArgumentError unless query.is_a?(String) @parser = CanqlParser.new @result = @parser.parse(query.downcase) return if valid? # FIXME: should log "Parser failed parsing \"#{query}\": #{@parser.failure_reason} " \ # "(line: #{@parser.failure_line}, column: #{@parser.failure_column})" end
Public Instance Methods
failure_column()
click to toggle source
# File lib/canql/parser.rb, line 34 def failure_column valid? ? nil : @parser.failure_column end
failure_line()
click to toggle source
# File lib/canql/parser.rb, line 30 def failure_line valid? ? nil : @parser.failure_line end
failure_reason()
click to toggle source
# File lib/canql/parser.rb, line 26 def failure_reason valid? ? nil : @parser.failure_reason end
meta_data()
click to toggle source
# File lib/canql/parser.rb, line 38 def meta_data valid? ? @result.meta_data : {} end
valid?()
click to toggle source
# File lib/canql/parser.rb, line 22 def valid? !@result.nil? end