Class: Basepack::FilterQL::Builder
- Inherits:
-
Object
- Object
- Basepack::FilterQL::Builder
- Defined in:
- lib/basepack/filter_ql.rb
Instance Attribute Summary collapse
-
#options ⇒ Object
readonly
Returns the value of attribute options.
-
#query ⇒ Object
readonly
Returns the value of attribute query.
-
#slice ⇒ Object
readonly
Returns the value of attribute slice.
Instance Method Summary collapse
- #functions ⇒ Object
-
#initialize(query, options, slice = nil) ⇒ Builder
constructor
A new instance of Builder.
- #new_for_slice(slice) ⇒ Object
- #raise_error(message) ⇒ Object
- #raise_error_for_pos(message, pos, line = '?', column = '?') ⇒ Object
Constructor Details
#initialize(query, options, slice = nil) ⇒ Builder
Returns a new instance of Builder.
155 156 157 158 159 |
# File 'lib/basepack/filter_ql.rb', line 155 def initialize(query, , slice = nil) @query = query @options = @slice = slice end |
Instance Attribute Details
#options ⇒ Object (readonly)
Returns the value of attribute options.
153 154 155 |
# File 'lib/basepack/filter_ql.rb', line 153 def @options end |
#query ⇒ Object (readonly)
Returns the value of attribute query.
153 154 155 |
# File 'lib/basepack/filter_ql.rb', line 153 def query @query end |
#slice ⇒ Object (readonly)
Returns the value of attribute slice.
153 154 155 |
# File 'lib/basepack/filter_ql.rb', line 153 def slice @slice end |
Instance Method Details
#functions ⇒ Object
161 162 163 |
# File 'lib/basepack/filter_ql.rb', line 161 def functions @options[:functions] || {} end |
#new_for_slice(slice) ⇒ Object
179 180 181 |
# File 'lib/basepack/filter_ql.rb', line 179 def new_for_slice(slice) Builder.new(query, , slice) end |
#raise_error(message) ⇒ Object
170 171 172 173 174 175 176 177 |
# File 'lib/basepack/filter_ql.rb', line 170 def raise_error() if slice line, column = slice.line_and_column raise_error_for_pos(, slice.offset + slice.size, line, column) else raise ParseError, end end |
#raise_error_for_pos(message, pos, line = '?', column = '?') ⇒ Object
165 166 167 168 |
# File 'lib/basepack/filter_ql.rb', line 165 def raise_error_for_pos(, pos, line = '?', column = '?') query_error = pos >= query.length ? "#{query}(<=CHYBA)" : query.dup.insert(pos, "(<=CHYBA)") raise ParseError, "#{} na řádku #{line} sloupec #{column}: \"#{query_error}\"" end |