class ChefDK::Command::Env

Attributes

ui[RW]

Public Class Methods

new(*args) click to toggle source
Calls superclass method ChefDK::Command::Base::new
# File lib/chef-dk/command/env.rb, line 33
def initialize(*args)
  super
  @ui = UI.new
end

Public Instance Methods

chefdk_info() click to toggle source
# File lib/chef-dk/command/env.rb, line 48
def chefdk_info
  {}.tap do |chefdk|
    chefdk["ChefDK Version"] = ChefDK::VERSION
    chefdk["ChefDK Home"] = chefdk_home
    chefdk["ChefDK Install Directory"] = omnibus_root
    chefdk["Policyfile Config"] = policyfile_config
  end
end
gem_environment() click to toggle source
# File lib/chef-dk/command/env.rb, line 69
def gem_environment
  {}.tap do |h|
    h["GEM ROOT"] = omnibus_env["GEM_ROOT"]
    h["GEM HOME"] = omnibus_env["GEM_HOME"]
    h["GEM PATHS"] = omnibus_env["GEM_PATH"].split(File::PATH_SEPARATOR)
  end
end
paths() click to toggle source
# File lib/chef-dk/command/env.rb, line 77
def paths
  omnibus_env["PATH"].split(File::PATH_SEPARATOR)
end
policyfile_config() click to toggle source
# File lib/chef-dk/command/env.rb, line 81
def policyfile_config
  {}.tap do |h|
    h["Cache Path"] = CookbookOmnifetch.cache_path
    h["Storage Path"] = CookbookOmnifetch.storage_path.to_s
  end
end
ruby_info() click to toggle source
# File lib/chef-dk/command/env.rb, line 57
def ruby_info
  {}.tap do |ruby|
    ruby["Ruby Executable"] = Gem.ruby
    ruby["Ruby Version"] = RUBY_VERSION
    ruby["RubyGems"] = {}.tap do |rubygems|
      rubygems["RubyGems Version"] = Gem::VERSION
      rubygems["RubyGems Platforms"] = Gem.platforms.map(&:to_s)
      rubygems["Gem Environment"] = gem_environment
    end
  end
end
run(params) click to toggle source
# File lib/chef-dk/command/env.rb, line 38
def run(params)
  info = {}
  info["#{ChefDK::Dist::PRODUCT}"] = {}.tap do |chefdk_env|
    chefdk_env["ChefDK"] = chefdk_info
    chefdk_env["Ruby"] = ruby_info
    chefdk_env["Path"] = paths
  end
  ui.msg info.to_yaml
end