class Q::ParsingException

Public Class Methods

new(input, failure_line, failure_index, failure_reason) click to toggle source
# File lib/q/vm.rb, line 6
def initialize input, failure_line, failure_index, failure_reason
  @input = input
  @failure_line = failure_line
  @failure_index = failure_index
  @failure_reason = failure_reason
end

Public Instance Methods

reason() click to toggle source
# File lib/q/vm.rb, line 17
def reason
  [
    point,
    @failure_reason
  ] * '\n'
end
to_s() click to toggle source
# File lib/q/vm.rb, line 13
def to_s
  @failure_reason
end

Private Instance Methods

line() click to toggle source
# File lib/q/vm.rb, line 25
def line
  @failure_line = @input.split('\n')[@failure_line - 1] if @failure_line.kind_of? Fixnum

  @failure_line
end
point() click to toggle source
# File lib/q/vm.rb, line 31
def point
  [
    line,
    " " * (@failure_index + 1) + "^"
  ] * '\n'
end