| Class | SOAP::Mapping::Factory |
| In: |
lib/soap/mapping/factory.rb
|
| Parent: | Object |
# File lib/soap/mapping/factory.rb, line 20
20: def obj2soap(soap_class, obj, info, map)
21: raise NotImplementError.new
22: # return soap_obj
23: end
# File lib/soap/mapping/factory.rb, line 30
30: def setiv2obj(obj, node, map)
31: return if node.nil?
32: if obj.is_a?(Array)
33: setiv2ary(obj, node, map)
34: else
35: setiv2struct(obj, node, map)
36: end
37: end
# File lib/soap/mapping/factory.rb, line 39
39: def setiv2soap(node, obj, map)
40: if obj.class.class_variables.include?('@@schema_element')
41: obj.class.class_eval('@@schema_element').each do |name, info|
42: type, qname = info
43: if qname
44: elename = qname.name
45: else
46: elename = Mapping.name2elename(name)
47: end
48: node.add(elename,
49: Mapping._obj2soap(obj.instance_variable_get('@' + name), map))
50: end
51: else
52: # should we sort instance_variables?
53: obj.instance_variables.each do |var|
54: name = var.sub(/^@/, '')
55: elename = Mapping.name2elename(name)
56: node.add(elename,
57: Mapping._obj2soap(obj.instance_variable_get(var), map))
58: end
59: end
60: end
# File lib/soap/mapping/factory.rb, line 25
25: def soap2obj(obj_class, node, info, map)
26: raise NotImplementError.new
27: # return convert_succeeded_or_not, obj
28: end
# File lib/soap/mapping/factory.rb, line 64
64: def setiv2ary(obj, node, map)
65: node.each do |name, value|
66: Array.instance_method(:<<).bind(obj).call(Mapping._soap2obj(value, map))
67: end
68: end