Class: SOAP::Mapping::SOAPException
- Inherits:
-
Object
- Object
- SOAP::Mapping::SOAPException
- Defined in:
- lib/soap/mapping/encodedregistry.rb
Overview
Inner class to pass an exception.
Instance Attribute Summary (collapse)
-
- (Object) cause
readonly
Returns the value of attribute cause.
-
- (Object) excn_type_name
readonly
Returns the value of attribute excn_type_name.
Instance Method Summary (collapse)
-
- (SOAPException) initialize(e)
constructor
A new instance of SOAPException.
- - (Object) to_e
Constructor Details
- (SOAPException) initialize(e)
A new instance of SOAPException
24 25 26 27 |
# File 'lib/soap/mapping/encodedregistry.rb', line 24 def initialize(e) @excn_type_name = Mapping.name2elename(e.class.to_s) @cause = e end |
Instance Attribute Details
- (Object) cause (readonly)
Returns the value of attribute cause
22 23 24 |
# File 'lib/soap/mapping/encodedregistry.rb', line 22 def cause @cause end |
- (Object) excn_type_name (readonly)
Returns the value of attribute excn_type_name
22 23 24 |
# File 'lib/soap/mapping/encodedregistry.rb', line 22 def excn_type_name @excn_type_name end |
Instance Method Details
- (Object) to_e
29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 |
# 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.) 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.) obj.extend(::SOAP::Mapping::MappedException) obj end |