Included Modules

Files

Class Index [+]

Quicksearch

SOAP::Mapping::Factory

Public Class Methods

new() click to toggle source
    # File lib/soap/mapping/factory.rb, line 16
16:   def initialize
17:     # nothing to do
18:   end

Public Instance Methods

obj2soap(soap_class, obj, info, map) click to toggle source
    # 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
setiv2obj(obj, node, map) click to toggle source
    # 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
setiv2soap(node, obj, map) click to toggle source
    # File lib/soap/mapping/factory.rb, line 39
39:   def setiv2soap(node, obj, map)
40:     if obj.class.class_variables.include?('@@schema_element')
41:       setdefinediv2soap(node, obj, map)
42:     else
43:       # should we sort instance_variables? how?
44:       obj.instance_variables.each do |var|
45:         name = var.sub(/^@/, '')
46:         elename = Mapping.name2elename(name)
47:         node.add(elename,
48:           Mapping._obj2soap(obj.instance_variable_get(var), map))
49:       end
50:     end
51:   end
soap2obj(obj_class, node, info, map) click to toggle source
    # 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

Private Instance Methods

anonymous_class?(obj) click to toggle source
    # File lib/soap/mapping/factory.rb, line 91
91:   def anonymous_class?(obj)
92:     name = obj.class.name
93:     name.nil? or name.empty?    # 1.8 returns ""
94:   end
setdefinediv2soap(ele, obj, map) click to toggle source
    # File lib/soap/mapping/factory.rb, line 55
55:   def setdefinediv2soap(ele, obj, map)
56:     definition = Mapping.schema_definition_classdef(obj.class)
57:     definition.elements.each do |eledef|
58:       child = Mapping.get_attribute(obj, eledef.varname)
59:       # extract method
60:       if child.nil?
61:         value = SOAPNil.new
62:       elsif child.is_a?(XSD::NSDBase)
63:         value = child
64:       else
65:         klass = Mapping.class_from_name(eledef.type)
66:         if klass && klass.include?(::SOAP::SOAPBasetype)
67:           value = klass.new(child)
68:         else
69:           # should check klass matches an actual object?
70:           value = Mapping._obj2soap(child, map)
71:         end
72:       end
73:       ele.add(eledef.elename.name, value)
74:     end
75:   end
setiv2ary(obj, node, map) click to toggle source
    # File lib/soap/mapping/factory.rb, line 77
77:   def setiv2ary(obj, node, map)
78:     node.each do |name, value|
79:       Array.instance_method(:<<).bind(obj).call(Mapping._soap2obj(value, map))
80:     end
81:   end
setiv2struct(obj, node, map) click to toggle source
    # File lib/soap/mapping/factory.rb, line 83
83:   def setiv2struct(obj, node, map)
84:     vars = {}
85:     node.each do |name, value|
86:       vars[Mapping.elename2name(name)] = Mapping._soap2obj(value, map)
87:     end
88:     Mapping.set_attributes(obj, vars)
89:   end

Disabled; run with --debug to generate this.

[Validate]

Generated with the Darkfish Rdoc Generator 1.1.6.