class Basepack::FilterQL::Builder

Attributes

options[R]
query[R]
slice[R]

Public Class Methods

new(query, options, slice = nil) click to toggle source
# File lib/basepack/filter_ql.rb, line 155
def initialize(query, options, slice = nil)
  @query = query
  @options = options
  @slice = slice
end

Public Instance Methods

functions() click to toggle source
# File lib/basepack/filter_ql.rb, line 161
def functions
  @options[:functions] || {}
end
new_for_slice(slice) click to toggle source
# File lib/basepack/filter_ql.rb, line 179
def new_for_slice(slice)
  Builder.new(query, options, slice)
end
raise_error(message) click to toggle source
# File lib/basepack/filter_ql.rb, line 170
def raise_error(message)
  if slice
    line, column = slice.line_and_column
    raise_error_for_pos(message, slice.offset + slice.size, line, column)
  else
    raise ParseError, message
  end
end
raise_error_for_pos(message, pos, line = '?', column = '?') click to toggle source
# File lib/basepack/filter_ql.rb, line 165
def raise_error_for_pos(message, pos, line = '?', column = '?')
  query_error = pos >= query.length ? "#{query}(<=CHYBA)" : query.dup.insert(pos, "(<=CHYBA)")
  raise ParseError, "#{message} na řádku #{line} sloupec #{column}: \"#{query_error}\""
end