Class: VimHash
- Inherits:
-
Hash
- Object
- Hash
- VimHash
- Includes:
- VimType
- Defined in:
- lib/VMwareWebService/VimTypes.rb
Instance Method Summary collapse
- #each_arg ⇒ Object
-
#initialize(xsiType = nil, vimType = nil) {|_self| ... } ⇒ VimHash
constructor
A new instance of VimHash.
- #method_missing(sym, *args) ⇒ Object
Methods included from VimType
#vimBaseType, #vimType, #vimType=, #xsiType, #xsiType=
Constructor Details
#initialize(xsiType = nil, vimType = nil) {|_self| ... } ⇒ VimHash
Returns a new instance of VimHash.
35 36 37 38 39 40 41 |
# File 'lib/VMwareWebService/VimTypes.rb', line 35 def initialize(xsiType = nil, vimType = nil) self.xsiType = xsiType self.vimType = vimType super() self.default = nil yield(self) if block_given? end |
Dynamic Method Handling
This class handles dynamic methods through the method_missing method
#method_missing(sym, *args) ⇒ Object
51 52 53 54 55 56 57 58 |
# File 'lib/VMwareWebService/VimTypes.rb', line 51 def method_missing(sym, *args) key = sym.to_s if key[-1, 1] == '=' self[key[0...-1]] = args[0] else self[key] end end |
Instance Method Details
#each_arg ⇒ Object
43 44 45 46 47 48 49 |
# File 'lib/VMwareWebService/VimTypes.rb', line 43 def each_arg raise "No arg map for #{xsiType}" unless (am = VimMappingRegistry.args(xsiType)) am.each do |a| next unless self.key?(a) yield(a, self[a]) end end |