Extended maintenance of Ruby versions 1.8.7 and 1.9.2 will end on July 31, 2014. Read more

In Files

  • soap/baseData.rb

Class/Module Index [+]

Quicksearch

SOAP::SOAPStruct

Compound datatypes.

Public Class Methods

decode(elename, type) click to toggle source
 
               # File soap/baseData.rb, line 486
def self.decode(elename, type)
  s = SOAPStruct.new(type)
  s.elename = elename
  s
end
            
new(type = nil) click to toggle source
 
               # File soap/baseData.rb, line 400
def initialize(type = nil)
  super()
  @type = type || XSD::QName::EMPTY
  @array = []
  @data = []
end
            

Public Instance Methods

[](idx) click to toggle source
 
               # 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
            
[]=(idx, data) click to toggle source
 
               # 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
            
add(name, value) click to toggle source
 
               # File soap/baseData.rb, line 415
def add(name, value)
  add_member(name, value)
end
            
each() click to toggle source
 
               # File soap/baseData.rb, line 472
def each
  idx = 0
  while idx < @array.length
    yield(@array[idx], @data[idx])
    idx += 1
  end
end
            
key?(name) click to toggle source
 
               # File soap/baseData.rb, line 445
def key?(name)
  @array.include?(name)
end
            
members() click to toggle source
 
               # File soap/baseData.rb, line 449
def members
  @array
end
            
replace() click to toggle source
 
               # File soap/baseData.rb, line 480
def replace
  members.each do |member|
    self[member] = yield(self[member])
  end
end
            
to_obj() click to toggle source
 
               # 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
            
to_s() click to toggle source
 
               # File soap/baseData.rb, line 407
def to_s()
  str = ''
  self.each do |key, data|
    str << "#{key}: #{data}\n"
  end
  str
end
            

Commenting is here to help enhance the documentation. For example, code samples, or clarification of the documentation.

If you have questions about Ruby or the documentation, please post to one of the Ruby mailing lists. You will get better, faster, help that way.

If you wish to post a correction of the docs, please do so, but also file bug report so that it can be corrected for the next release. Thank you.

If you want to help improve the Ruby documentation, please visit Documenting-ruby.org.

blog comments powered by Disqus