Class: SOAP::Mapping::BasetypeFactory_
- Defined in:
- lib/action_web_service/soap/mapping/factory.rb
Instance Method Summary collapse
-
#initialize(allow_original_mapping = false) ⇒ BasetypeFactory_
constructor
A new instance of BasetypeFactory_.
- #obj2soap(soap_class, obj, info, map) ⇒ Object
- #soap2obj(obj_class, node, info, map) ⇒ Object
Methods inherited from Factory
Methods included from TraverseSupport
#mark_marshalled_obj, #mark_unmarshalled_obj
Constructor Details
#initialize(allow_original_mapping = false) ⇒ BasetypeFactory_
Returns a new instance of BasetypeFactory_.
114 115 116 117 |
# File 'lib/action_web_service/soap/mapping/factory.rb', line 114 def initialize(allow_original_mapping = false) super() @allow_original_mapping = allow_original_mapping end |
Instance Method Details
#obj2soap(soap_class, obj, info, map) ⇒ Object
119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 |
# File 'lib/action_web_service/soap/mapping/factory.rb', line 119 def obj2soap(soap_class, obj, info, map) if !@allow_original_mapping and !obj.instance_variables.empty? return nil end soap_obj = nil begin soap_obj = soap_class.new(obj) rescue XSD::ValueSpaceError return nil end if @allow_original_mapping # Basetype except String should not be multiref-ed in SOAP/1.1. mark_marshalled_obj(obj, soap_obj) end soap_obj end |
#soap2obj(obj_class, node, info, map) ⇒ Object
136 137 138 139 140 |
# File 'lib/action_web_service/soap/mapping/factory.rb', line 136 def soap2obj(obj_class, node, info, map) obj = node.data mark_unmarshalled_obj(node, obj) return true, obj end |