XSD::NSDBase
Compound datatypes.
# 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 415 def add(name, value) add_member(name, value) 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 445 def key?(name) @array.include?(name) 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