class SOAP::Mapping::SOAPException
Inner class to pass an exception.
Attributes
cause[R]
excn_type_name[R]
Public Class Methods
new(e)
click to toggle source
# File lib/soap/mapping/encodedregistry.rb, line 24 def initialize(e) @excn_type_name = Mapping.name2elename(e.class.to_s) @cause = e end
Public Instance Methods
to_e()
click to toggle source
# File lib/soap/mapping/encodedregistry.rb, line 29 def to_e if @cause.is_a?(::Exception) @cause.extend(::SOAP::Mapping::MappedException) return @cause elsif @cause.respond_to?(:message) and @cause.respond_to?(:backtrace) e = RuntimeError.new(@cause.message) e.set_backtrace(@cause.backtrace) return e end klass = Mapping.class_from_name(Mapping.elename2name(@excn_type_name.to_s)) if klass.nil? or not klass <= ::Exception return RuntimeError.new(@cause.inspect) end obj = klass.new(@cause.message) obj.extend(::SOAP::Mapping::MappedException) obj end