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.
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
|
# File 'lib/rbvmomi/basic_types.rb', line 96
def initialize props={}
if props == nil
@props = {}
return
end
@props = Hash[props.map { |k, v| [k.to_sym, v] }]
@props.each do |k, v|
raise "unexpected property name #{k}" unless self.class.find_prop_desc(k)
end
end
|
Instance Attribute Details
#props ⇒ Object
Returns the value of attribute props.
92
93
94
|
# File 'lib/rbvmomi/basic_types.rb', line 92
def props
@props
end
|
Class Method Details
.kind ⇒ Object
94
|
# File 'lib/rbvmomi/basic_types.rb', line 94
def self.kind; :data end
|
Instance Method Details
#==(o) ⇒ Object
Also known as:
eql?
133
134
135
136
137
|
# File 'lib/rbvmomi/basic_types.rb', line 133
def == o
return false unless o.class == self.class
hash == o.hash
end
|
#[](sym) ⇒ Object
121
122
123
|
# File 'lib/rbvmomi/basic_types.rb', line 121
def [] sym
_get_property sym
end
|
#[]=(sym, val) ⇒ Object
129
130
131
|
# File 'lib/rbvmomi/basic_types.rb', line 129
def []= sym, val
_set_property sym, val
end
|
#_get_property(sym) ⇒ Object
117
118
119
|
# File 'lib/rbvmomi/basic_types.rb', line 117
def _get_property sym
@props[sym]
end
|
#_set_property(sym, val) ⇒ Object
125
126
127
|
# File 'lib/rbvmomi/basic_types.rb', line 125
def _set_property sym, val
@props[sym] = val
end
|
#as_hash(val) ⇒ Object
164
165
166
167
168
169
170
171
172
|
# 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 ⇒ Object
141
142
143
|
# File 'lib/rbvmomi/basic_types.rb', line 141
def hash
props.hash
end
|
#initialize_copy(source) ⇒ Object
112
113
114
115
|
# File 'lib/rbvmomi/basic_types.rb', line 112
def initialize_copy(source)
super
@props = @props.dup
end
|
#pretty_print(q) ⇒ Object
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
|
# 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 ⇒ Object
174
175
176
|
# File 'lib/rbvmomi/basic_types.rb', line 174
def to_hash
props.transform_values { |v| as_hash(v) }
end
|
#to_json(options = nil) ⇒ Object
178
179
180
|
# 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
|