Class: SOAP::Mapping::StringFactory_
- Defined in:
- lib/soap/mapping/factory.rb
Instance Method Summary collapse
-
#initialize(allow_original_mapping = false) ⇒ StringFactory_
constructor
A new instance of StringFactory_.
- #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) ⇒ StringFactory_
Returns a new instance of StringFactory_.
80 81 82 83 |
# File 'lib/soap/mapping/factory.rb', line 80 def initialize(allow_original_mapping = false) super() @allow_original_mapping = allow_original_mapping end |
Instance Method Details
#obj2soap(soap_class, obj, info, map) ⇒ Object
85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 |
# File 'lib/soap/mapping/factory.rb', line 85 def obj2soap(soap_class, obj, info, map) if !@allow_original_mapping and !obj.instance_variables.empty? return nil end begin unless XSD::Charset.is_ces(obj, Thread.current[:SOAPExternalCES]) return nil end encoded = XSD::Charset.encoding_conv(obj, Thread.current[:SOAPExternalCES], XSD::Charset.encoding) soap_obj = soap_class.new(encoded) rescue XSD::ValueSpaceError return nil end mark_marshalled_obj(obj, soap_obj) soap_obj end |
#soap2obj(obj_class, node, info, map) ⇒ Object
103 104 105 106 107 108 109 110 |
# File 'lib/soap/mapping/factory.rb', line 103 def soap2obj(obj_class, node, info, map) obj = Mapping.create_empty_object(obj_class) decoded = XSD::Charset.encoding_conv(node.data, XSD::Charset.encoding, Thread.current[:SOAPExternalCES]) obj.replace(decoded) mark_unmarshalled_obj(node, obj) return true, obj end |