class RbVmomi::BasicTypes::DataObject
Attributes
props[R]
Public Class Methods
kind()
click to toggle source
# File lib/rbvmomi/basic_types.rb, line 94 def self.kind; :data end
new(props={})
click to toggle source
# File lib/rbvmomi/basic_types.rb, line 96 def initialize props={} # Deserialization fast path if props == nil @props = {} return end @props = Hash[props.map { |k, v| [k.to_sym, v] }] #self.class.full_props_desc.each do |desc| #fail "missing required property #{desc['name'].inspect} of #{self.class.wsdl_name}" if @props[desc['name'].to_sym].nil? and not desc['is-optional'] #end @props.each do |k, v| raise "unexpected property name #{k}" unless self.class.find_prop_desc(k) end end
Public Instance Methods
==(o)
click to toggle source
# File lib/rbvmomi/basic_types.rb, line 133 def == o return false unless o.class == self.class hash == o.hash end
Also aliased as: eql?
[](sym)
click to toggle source
# File lib/rbvmomi/basic_types.rb, line 121 def [] sym _get_property sym end
[]=(sym, val)
click to toggle source
# File lib/rbvmomi/basic_types.rb, line 129 def []= sym, val _set_property sym, val end
_get_property(sym)
click to toggle source
# File lib/rbvmomi/basic_types.rb, line 117 def _get_property sym @props[sym] end
_set_property(sym, val)
click to toggle source
# File lib/rbvmomi/basic_types.rb, line 125 def _set_property sym, val @props[sym] = val end
as_hash(val)
click to toggle source
# File lib/rbvmomi/basic_types.rb, line 164 def as_hash(val) if val.kind_of?(Array) val.map { |v| as_hash(v) } elsif val.respond_to?(:to_hash) val.to_hash else val end end
hash()
click to toggle source
# File lib/rbvmomi/basic_types.rb, line 141 def hash props.hash end
initialize_copy(source)
click to toggle source
Calls superclass method
# File lib/rbvmomi/basic_types.rb, line 112 def initialize_copy(source) super @props = @props.dup end
pretty_print(q)
click to toggle source
# File lib/rbvmomi/basic_types.rb, line 145 def pretty_print q q.text self.class.wsdl_name q.group 2 do q.text '(' q.breakable props = @props.sort_by { |k, v| k.to_s } q.seplist props, nil, :each do |e| k, v = e q.group do q.text k.to_s q.text ': ' q.pp v end end end q.breakable q.text ')' end
to_hash()
click to toggle source
# File lib/rbvmomi/basic_types.rb, line 174 def to_hash props.transform_values { |v| as_hash(v) } end
to_json(options = nil)
click to toggle source
# File lib/rbvmomi/basic_types.rb, line 178 def to_json(options = nil) to_hash.merge(JSON.create_id => self.class.name).to_json end