class SOAP::Mapping::Object
For anyType object: SOAP::Mapping::Object
not ::Object
Public Class Methods
new()
click to toggle source
# File lib/soap/mapping/registry.rb, line 65 def initialize @__xmlele_type = {} @__xmlele = [] @__xmlattr = {} end
Public Instance Methods
[](qname)
click to toggle source
# File lib/soap/mapping/registry.rb, line 84 def [](qname) unless qname.is_a?(XSD::QName) qname = XSD::QName.new(nil, qname) end @__xmlele.each do |k, v| return v if k == qname end # fallback @__xmlele.each do |k, v| return v if k.name == qname.name end nil end
[]=(qname, value)
click to toggle source
# File lib/soap/mapping/registry.rb, line 98 def []=(qname, value) unless qname.is_a?(XSD::QName) qname = XSD::QName.new(nil, qname) end found = false @__xmlele.each do |pair| if pair[0] == qname found = true pair[1] = value end end unless found __define_attr_accessor(qname) @__xmlele << [qname, value] end @__xmlele_type[qname] = :single end
__add_xmlele_value(qname, value)
click to toggle source
# File lib/soap/mapping/registry.rb, line 116 def __add_xmlele_value(qname, value) found = false @__xmlele.map! do |k, v| if k == qname found = true [k, __set_xmlele_value(k, v, value)] else [k, v] end end unless found __define_attr_accessor(qname) @__xmlele << [qname, value] @__xmlele_type[qname] = :single end value end
__xmlattr()
click to toggle source
# File lib/soap/mapping/registry.rb, line 76 def __xmlattr @__xmlattr end
__xmlele()
click to toggle source
# File lib/soap/mapping/registry.rb, line 80 def __xmlele @__xmlele end
inspect()
click to toggle source
# File lib/soap/mapping/registry.rb, line 71 def inspect sprintf("#<%s:0x%x%s>", self.class.name, __id__, @__xmlele.collect { |name, value| " #{name}=#{value.inspect}" }.join) end
Private Instance Methods
__define_attr_accessor(qname)
click to toggle source
# File lib/soap/mapping/registry.rb, line 137 def __define_attr_accessor(qname) name = XSD::CodeGen::GenSupport.safemethodname(qname.name) Mapping.define_attr_accessor(self, name, proc { self[qname] }, proc { |value| self[qname] = value }) end
__set_xmlele_value(key, org, value)
click to toggle source
# File lib/soap/mapping/registry.rb, line 158 def __set_xmlele_value(key, org, value) case @__xmlele_type[key] when :multi org << value org when :single @__xmlele_type[key] = :multi [org, value] else raise RuntimeError.new("unknown type") end end