class RbVmomi::VIM::ManagedEntity
Copyright © 2011-2017 VMware, Inc. All Rights Reserved. SPDX-License-Identifier: MIT
Public Class Methods
paths(objs)
click to toggle source
Retrieve the ancestors of a list of entries. @return [Hash] Object-indexed hash of ancestors of entities, starting with the root.
# File lib/rbvmomi/vim/ManagedEntity.rb, line 13 def self.paths objs filterSpec = RbVmomi::VIM.PropertyFilterSpec( :objectSet => objs.map do |obj| RbVmomi::VIM.ObjectSpec( :obj => obj, :selectSet => [ RbVmomi::VIM.TraversalSpec( :name => "tsME", :type => 'ManagedEntity', :path => 'parent', :skip => false, :selectSet => [ RbVmomi::VIM.SelectionSpec(:name => "tsME") ] ) ] ) end, :propSet => [{ :pathSet => %w(name parent), :type => 'ManagedEntity' }] ) propCollector = objs.first._connection.propertyCollector result = propCollector.RetrieveProperties(:specSet => [filterSpec]) Hash[objs.map do |obj| tree = {} result.each { |x| tree[x.obj] = [x['parent'], x['name']] } a = [] cur = obj while cur parent, name = *tree[cur] a << [cur, name] cur = parent end [obj, a.reverse] end] end
Public Instance Methods
path()
click to toggle source
Retrieve the ancestors of the entity. @return [Array] Ancestors of this entity, starting with the root.
# File lib/rbvmomi/vim/ManagedEntity.rb, line 7 def path self.class.paths([self])[self] end
pretty_path()
click to toggle source
Return a string representation of path
suitable for display. @return [String] @see path
# File lib/rbvmomi/vim/ManagedEntity.rb, line 57 def pretty_path path[1..-1].map { |x| x[1] } * '/' end