Class: SOAP::Mapping::Object

Inherits:
Object
  • Object
show all
Defined in:
lib/soap/mapping/registry.rb

Overview

For anyType object: SOAP::Mapping::Object not ::Object

Instance Method Summary collapse

Constructor Details

#initializeObject

Returns a new instance of Object.



35
36
37
38
39
# File 'lib/soap/mapping/registry.rb', line 35

def initialize
  @__xmlele_type = {}
  @__xmlele = []
  @__xmlattr = {}
end

Instance Method Details

#[](qname) ⇒ Object



54
55
56
57
58
59
60
61
62
63
64
# File 'lib/soap/mapping/registry.rb', line 54

def [](qname)
  qname = Mapping.to_qname(qname)
  @__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) ⇒ Object



66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
# File 'lib/soap/mapping/registry.rb', line 66

def []=(qname, value)
  qname = Mapping.to_qname(qname)
  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) ⇒ Object



82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
# File 'lib/soap/mapping/registry.rb', line 82

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

#__xmlattrObject



46
47
48
# File 'lib/soap/mapping/registry.rb', line 46

def __xmlattr
  @__xmlattr
end

#__xmleleObject



50
51
52
# File 'lib/soap/mapping/registry.rb', line 50

def __xmlele
  @__xmlele
end

#inspectObject



41
42
43
44
# File 'lib/soap/mapping/registry.rb', line 41

def inspect
  sprintf("#<%s:0x%x%s>", self.class.name, __id__,
    @__xmlele.collect { |name, value| " #{name}=#{value.inspect}" }.join)
end

#marshal_load(dumpobj) ⇒ Object



100
101
102
# File 'lib/soap/mapping/registry.rb', line 100

def marshal_load(dumpobj)
  __import(dumpobj)
end