Class: RbVmomi::BasicTypes::DataObject
Instance Attribute Summary collapse
Class Method Summary
collapse
Instance Method Summary
collapse
find_prop_desc, full_props_desc, full_props_set, init
Methods inherited from Base
init, to_s
Constructor Details
#initialize(props = {}) ⇒ DataObject
Returns a new instance of DataObject.
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
|
# File 'lib/rbvmomi/basic_types.rb', line 95
def initialize props={}
if props == nil
@props = {}
return
end
@props = Hash[props.map { |k,v| [k.to_sym, v] }]
@props.each do |k,v|
fail "unexpected property name #{k}" unless self.class.find_prop_desc(k)
end
end
|
Instance Attribute Details
#props ⇒ Object
Returns the value of attribute props.
91
92
93
|
# File 'lib/rbvmomi/basic_types.rb', line 91
def props
@props
end
|
Class Method Details
.kind ⇒ Object
93
|
# File 'lib/rbvmomi/basic_types.rb', line 93
def self.kind; :data end
|
Instance Method Details
#==(o) ⇒ Object
Also known as:
eql?
132
133
134
135
136
|
# File 'lib/rbvmomi/basic_types.rb', line 132
def == o
return false unless o.class == self.class
keys = (props.keys + o.props.keys).uniq
keys.all? { |k| props[k] == o.props[k] }
end
|
#[](sym) ⇒ Object
120
121
122
|
# File 'lib/rbvmomi/basic_types.rb', line 120
def [] sym
_get_property sym
end
|
#[]=(sym, val) ⇒ Object
128
129
130
|
# File 'lib/rbvmomi/basic_types.rb', line 128
def []= sym, val
_set_property sym, val
end
|
#_get_property(sym) ⇒ Object
116
117
118
|
# File 'lib/rbvmomi/basic_types.rb', line 116
def _get_property sym
@props[sym]
end
|
#_set_property(sym, val) ⇒ Object
124
125
126
|
# File 'lib/rbvmomi/basic_types.rb', line 124
def _set_property sym, val
@props[sym] = val
end
|
#hash ⇒ Object
140
141
142
|
# File 'lib/rbvmomi/basic_types.rb', line 140
def hash
props.hash
end
|
#initialize_copy(source) ⇒ Object
111
112
113
114
|
# File 'lib/rbvmomi/basic_types.rb', line 111
def initialize_copy(source)
super
@props = @props.dup
end
|
#pretty_print(q) ⇒ Object
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
|
# File 'lib/rbvmomi/basic_types.rb', line 144
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_json(*args) ⇒ Object
163
164
165
166
167
|
# File 'lib/rbvmomi/basic_types.rb', line 163
def to_json(*args)
h = self.props
m = h.merge({ JSON.create_id => self.class.name })
m.to_json(*args)
end
|