class Rufus::Lua::LuaError

An error class for rufus-lua.

Constants

CALLER_REX
DIR

Attributes

bndng[R]
errcode[R]
filename[R]
kind[R]
lineno[R]
msg[R]
original_backtrace[R]

Public Class Methods

new(kind, errcode, msg, bndng, filename, lineno) click to toggle source
Calls superclass method
# File lib/rufus/lua/error.rb, line 18
def initialize(kind, errcode, msg, bndng, filename, lineno)

  super("#{kind} : '#{msg}' (#{errcode} #{LUA_ERRS[errcode]})")

  @kind = kind
  @errcode = errcode
  @msg = msg

  @bndng = bndng
  @filename = filename
  @lineno = lineno
end

Public Instance Methods

set_backtrace(trace) click to toggle source
Calls superclass method
# File lib/rufus/lua/error.rb, line 47
def set_backtrace(trace)

  @original_backtrace = trace

  trace =
    trace.select { |line|
      m = CALLER_REX.match(line)
      ( ! m) || File.dirname(m[1]) != DIR
    }

  trace.insert(0, "#{@filename}:#{@lineno}:") if @filename

  super(trace)
end