Class SOAP::Mapping::TypedArrayFactory_
In: lib/soap/mapping/factory.rb
Parent: Factory

Methods

new   obj2soap   soap2obj  

Public Class methods

[Source]

     # 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

Public Instance methods

[Source]

     # 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

[Source]

     # 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

[Validate]