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 14 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 8 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 58 def pretty_path path[1..-1].map { |x| x[1] } * '/' end