| Class | SOAP::Mapping::TypedArrayFactory_ |
| In: |
lib/soap/mapping/factory.rb
|
| Parent: | Factory |
# File lib/soap/mapping/factory.rb, line 242
242: def initialize(allow_original_mapping = false)
243: super()
244: @allow_original_mapping = allow_original_mapping
245: end
# File lib/soap/mapping/factory.rb, line 247
247: def obj2soap(soap_class, obj, info, map)
248: if !@allow_original_mapping and !obj.instance_variables.empty?
249: return nil
250: end
251: arytype = info[:type] || info[0]
252: soap_obj = SOAPArray.new(ValueArrayName, 1, arytype)
253: mark_marshalled_obj(obj, soap_obj)
254: obj.each do |var|
255: soap_obj.add(Mapping._obj2soap(var, map))
256: end
257: soap_obj
258: end
# File lib/soap/mapping/factory.rb, line 260
260: def soap2obj(obj_class, node, info, map)
261: if node.rank > 1
262: return false
263: end
264: arytype = info[:type] || info[0]
265: unless node.arytype == arytype
266: return false
267: end
268: obj = Mapping.create_empty_object(obj_class)
269: mark_unmarshalled_obj(node, obj)
270: node.soap2array(obj) do |elem|
271: elem ? Mapping._soap2obj(elem, map) : nil
272: end
273: return true, obj
274: end