Files

Class Index [+]

Quicksearch

SOAP::Mapping::HashFactory_

Public Class Methods

new(allow_original_mapping = false) click to toggle source
     # File lib/soap/mapping/factory.rb, line 337
337:   def initialize(allow_original_mapping = false)
338:     super()
339:     @allow_original_mapping = allow_original_mapping
340:   end

Public Instance Methods

obj2soap(soap_class, obj, info, map) click to toggle source
     # File lib/soap/mapping/factory.rb, line 342
342:   def obj2soap(soap_class, obj, info, map)
343:     if !@allow_original_mapping and !obj.instance_variables.empty?
344:       return nil
345:     end
346:     if !obj.default.nil? or
347:         (obj.respond_to?(:default_proc) and obj.default_proc)
348:       return nil
349:     end
350:     soap_obj = SOAPStruct.new(MapQName)
351:     mark_marshalled_obj(obj, soap_obj)
352:     obj.each do |key, value|
353:       elem = SOAPStruct.new
354:       elem.add("key", Mapping._obj2soap(key, map))
355:       elem.add("value", Mapping._obj2soap(value, map))
356:       # ApacheAxis allows only 'item' here.
357:       soap_obj.add("item", elem)
358:     end
359:     soap_obj
360:   end
soap2obj(obj_class, node, info, map) click to toggle source
     # File lib/soap/mapping/factory.rb, line 362
362:   def soap2obj(obj_class, node, info, map)
363:     unless node.type == MapQName
364:       return false
365:     end
366:     if node.class == SOAPStruct and node.key?('default')
367:       return false
368:     end
369:     obj = Mapping.create_empty_object(obj_class)
370:     mark_unmarshalled_obj(node, obj)
371:     if node.class == SOAPStruct
372:       node.each do |key, value|
373:         obj[Mapping._soap2obj(value['key'], map)] =
374:           Mapping._soap2obj(value['value'], map)
375:       end
376:     else
377:       node.each do |value|
378:         obj[Mapping._soap2obj(value['key'], map)] =
379:           Mapping._soap2obj(value['value'], map)
380:       end
381:     end
382:     return true, obj
383:   end

Disabled; run with --debug to generate this.

[Validate]

Generated with the Darkfish Rdoc Generator 1.1.6.