Sha256: 9e7f9b1f64b0fedc9d5eab5be6fa1a66f0348d26f7bbe2ce1708ff723340a01d

Contents?: true

Size: 857 Bytes

Versions: 5

Compression:

Stored size: 857 Bytes

Contents

module RbVmomi

class VIM::ReflectManagedMethodExecuter
  def fetch moid, prop
    result = FetchSoap(:moid => moid, :version => 'urn:vim25/6.0', :prop => prop)
    xml = Nokogiri(result.response)
    _connection.deserializer.deserialize xml.root, nil
  end

  def execute moid, method, args
    soap_args = args.map do |k,v|
      VIM::ReflectManagedMethodExecuterSoapArgument.new.tap do |soap_arg|
        soap_arg.name = k
        xml = Builder::XmlMarkup.new :indent => 0
        _connection.obj2xml xml, k, :anyType, false, v
        soap_arg.val = xml.target!
      end
    end
    result = ExecuteSoap(:moid => moid, :version => 'urn:vim25/6.0',
                         :method => method, :argument => soap_args)
    if result
      _connection.deserializer.deserialize Nokogiri(result.response).root, nil
    else
      nil
    end
  end
end

end

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
rbvmomi-1.9.4 lib/rbvmomi/vim/ReflectManagedMethodExecuter.rb
rbvmomi-1.9.3 lib/rbvmomi/vim/ReflectManagedMethodExecuter.rb
rbvmomi-1.9.2 lib/rbvmomi/vim/ReflectManagedMethodExecuter.rb
rbvmomi-1.9.1 lib/rbvmomi/vim/ReflectManagedMethodExecuter.rb
rbvmomi-1.9.0 lib/rbvmomi/vim/ReflectManagedMethodExecuter.rb