Exception: Web::TemplateError

Inherits:
Exception show all
Defined in:
lib/web/load.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Methods inherited from Exception

#rbw_backtrace, #rbw_backtrace_html, #rbw_html, #rbw_to_s

Constructor Details

#initialize(error, scriptname) ⇒ TemplateError

Returns a new instance of TemplateError.



12
13
14
15
16
# File 'lib/web/load.rb', line 12

def initialize(error, scriptname)
  self.original_error = error
  self.scriptname = scriptname
  super(error.to_s)
end

Instance Attribute Details

#original_errorObject

Returns the value of attribute original_error.



11
12
13
# File 'lib/web/load.rb', line 11

def original_error
  @original_error
end

#scriptnameObject

Returns the value of attribute scriptname.



11
12
13
# File 'lib/web/load.rb', line 11

def scriptname
  @scriptname
end

Instance Method Details

#trimmed_originalObject



18
19
20
21
22
23
24
25
26
27
28
29
30
31
# File 'lib/web/load.rb', line 18

def trimmed_original
  call_index = original_error.backtrace.length
  original_error.backtrace.each_with_index do |line, i|
    if line =~ /web\/load.rb.*in `call'/
      call_index = i + 1
      break
    end
  end
  trace = original_error.backtrace[call_index..-1]
  # I want to set the script name, but I can't get it to work
  #trace[-1] = trace[-1].gsub(/^\(eval\):/, scriptname + ":")
  original_error.set_backtrace( trace )
  original_error 
end