Class | SOAP::SOAPStruct |
In: |
soap/baseData.rb
|
Parent: | XSD::NSDBase |
# File soap/baseData.rb, line 486 def self.decode(elename, type) s = SOAPStruct.new(type) s.elename = elename s end
# File soap/baseData.rb, line 400 def initialize(type = nil) super() @type = type || XSD::QName::EMPTY @array = [] @data = [] end
# File soap/baseData.rb, line 419 def [](idx) if idx.is_a?(Range) @data[idx] elsif idx.is_a?(Integer) if (idx > @array.size) raise ArrayIndexOutOfBoundsError.new('In ' << @type.name) end @data[idx] else if @array.include?(idx) @data[@array.index(idx)] else nil end end end
# File soap/baseData.rb, line 436 def []=(idx, data) if @array.include?(idx) data.parent = self if data.respond_to?(:parent=) @data[@array.index(idx)] = data else add(idx, data) end end
# File soap/baseData.rb, line 472 def each idx = 0 while idx < @array.length yield(@array[idx], @data[idx]) idx += 1 end end
# File soap/baseData.rb, line 480 def replace members.each do |member| self[member] = yield(self[member]) end end
# File soap/baseData.rb, line 453 def to_obj hash = {} proptype = {} each do |k, v| value = v.respond_to?(:to_obj) ? v.to_obj : v.to_s case proptype[k] when :single hash[k] = [hash[k], value] proptype[k] = :multi when :multi hash[k] << value else hash[k] = value proptype[k] = :single end end hash end