Compound datatypes.
# File lib/soap/baseData.rb, line 558 558: def [](idx) 559: if idx.is_a?(Range) 560: @data[idx] 561: elsif idx.is_a?(Integer) 562: if (idx > @array.size) 563: raise ArrayIndexOutOfBoundsError.new('In ' << @type.name) 564: end 565: @data[idx] 566: else 567: if @array.include?(idx) 568: @data[@array.index(idx)] 569: else 570: nil 571: end 572: end 573: end
# File lib/soap/baseData.rb, line 575 575: def []=(idx, data) 576: if @array.include?(idx) 577: data.parent = self if data.respond_to?(:parent=) 578: @data[@array.index(idx)] = data 579: else 580: add(idx, data) 581: end 582: end
# File lib/soap/baseData.rb, line 549 549: def add(name, value) 550: value = SOAPNil.new if value.nil? 551: @array.push(name) 552: value.elename = value.elename.dup_name(name) 553: @data.push(value) 554: value.parent = self if value.respond_to?(:parent=) 555: value 556: end
# File lib/soap/baseData.rb, line 615 615: def each 616: idx = 0 617: while idx < @array.length 618: yield(@array[idx], @data[idx]) 619: idx += 1 620: end 621: end
# File lib/soap/baseData.rb, line 592 592: def have_member 593: !@array.empty? 594: end
# File lib/soap/baseData.rb, line 584 584: def key?(name) 585: @array.include?(name) 586: end
# File lib/soap/baseData.rb, line 588 588: def members 589: @array 590: end
# File lib/soap/baseData.rb, line 623 623: def replace 624: members.each do |member| 625: self[member] = yield(self[member]) 626: end 627: end
# File lib/soap/baseData.rb, line 596 596: def to_obj 597: hash = {} 598: proptype = {} 599: each do |k, v| 600: value = v.respond_to?(:to_obj) ? v.to_obj : v.to_s 601: case proptype[k] 602: when :single 603: hash[k] = [hash[k], value] 604: proptype[k] = :multi 605: when :multi 606: hash[k] << value 607: else 608: hash[k] = value 609: proptype[k] = :single 610: end 611: end 612: hash 613: end
Disabled; run with --debug to generate this.
Generated with the Darkfish Rdoc Generator 1.1.6.