Compound datatypes.
# File lib/soap/baseData.rb, line 558 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 lib/soap/baseData.rb, line 575 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 lib/soap/baseData.rb, line 549 def add(name, value) value = SOAPNil.new if value.nil? @array.push(name) value.elename = value.elename.dup_name(name) @data.push(value) value.parent = self if value.respond_to?(:parent=) value end
# File lib/soap/baseData.rb, line 615 def each idx = 0 while idx < @array.length yield(@array[idx], @data[idx]) idx += 1 end end
# File lib/soap/baseData.rb, line 592 def have_member !@array.empty? end
# File lib/soap/baseData.rb, line 584 def key?(name) @array.include?(name) end
# File lib/soap/baseData.rb, line 623 def replace members.each do |member| self[member] = yield(self[member]) end end
# File lib/soap/baseData.rb, line 596 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
Generated with the Darkfish Rdoc Generator 2.