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