Sha256: 3332e17ddbcab0dde2d76c5fd40d0143afa9f5c1e8d01f639cac5f9c18c3a9de

Contents?: true

Size: 707 Bytes

Versions: 16

Compression:

Stored size: 707 Bytes

Contents

#!/usr/bin/env ruby

# Copyright (c) 2011-2017 VMware, Inc.  All Rights Reserved.
# SPDX-License-Identifier: MIT

# Find collisions between VMODL property names and Ruby methods
require 'rbvmomi'
VIM = RbVmomi::VIM

conn = VIM.new(:ns => 'urn:vim25', :rev => '4.0')

VIM.loader.typenames.each do |name|
  klass = VIM.loader.get name
  next unless klass.respond_to? :kind and [:managed, :data].member? klass.kind
  methods = klass.kind == :managed ?
    RbVmomi::BasicTypes::ObjectWithMethods.instance_methods : 
    RbVmomi::BasicTypes::ObjectWithProperties.instance_methods
  klass.props_desc.each do |x|
    name = x['name']
    puts "collision: #{klass}##{name}" if methods.member? name.to_sym
  end
end

Version data entries

16 entries across 14 versions & 2 rubygems

Version Path
rbvmomi-2.0.0 devel/collisions.rb
vagrant-packet-0.1.1 vendor/bundle/ruby/2.5.0/gems/rbvmomi-1.13.0/devel/collisions.rb
vagrant-packet-0.1.1 vendor/bundle/ruby/2.4.0/gems/rbvmomi-1.13.0/devel/collisions.rb
vagrant-packet-0.1.1 vendor/bundle/ruby/2.3.0/gems/rbvmomi-1.13.0/devel/collisions.rb
rbvmomi-1.13.0 devel/collisions.rb
rbvmomi-1.12.0 devel/collisions.rb
rbvmomi-1.11.7 devel/collisions.rb
rbvmomi-1.11.6 devel/collisions.rb
rbvmomi-1.11.5 devel/collisions.rb
rbvmomi-1.11.4 devel/collisions.rb
rbvmomi-1.11.3 devel/collisions.rb
rbvmomi-1.11.2 devel/collisions.rb
rbvmomi-1.11.1 devel/collisions.rb
rbvmomi-1.11.0 devel/collisions.rb
rbvmomi-1.10.0 devel/collisions.rb
rbvmomi-1.9.5 devel/collisions.rb