class Rack::Remote::ChainedError
Attributes
cause[R]
Public Class Methods
new(*attrs)
click to toggle source
Calls superclass method
# File lib/rack/remote.rb, line 16 def initialize(*attrs) if attrs.last.is_a?(Hash) && attrs.last[:cause].is_a?(Exception) @cause = attrs.last.delete(:cause) attrs.pop if attrs.last.empty? end super *attrs end
Public Instance Methods
set_backtrace(trace)
click to toggle source
Calls superclass method
# File lib/rack/remote.rb, line 24 def set_backtrace(trace) trace.is_a?(Array) ? trace.map!(&:to_s) : trace = trace.to_s.split("\n") trace.map! { |line| " #{line}" } if cause trace << "caused by #{cause.class.name}: #{cause.message}" trace += cause.backtrace.map! { |line| " #{line}" } end super trace end