class FilterLexer::ParseException
Public Class Methods
new(parser)
click to toggle source
# File lib/filter_lexer/exceptions.rb, line 3 def initialize(parser) @index = parser.failure_index @input = parser.input end
Public Instance Methods
context()
click to toggle source
# File lib/filter_lexer/exceptions.rb, line 12 def context size = @input.size i1 = [0, @index - 40].max i2 = [size, @index + 40].min context = @input.slice(i1..i2) context = "...#{context}" if i1 > 0 context = "#{context}..." if i2 < size relpos = @index - i1 relpos += 1 if i1 > 0 return context + "\r\n" + ' ' * relpos + '^' end
message()
click to toggle source
# File lib/filter_lexer/exceptions.rb, line 8 def message return "Parse error at index #{@index}" end