class ChefConfig::WorkstationConfigLoader

def locate_local_config

def locate_local_config
  candidate_configs = []
  # Look for $KNIFE_HOME/knife.rb (allow multiple knives config on same machine)
  if env["KNIFE_HOME"]
    candidate_configs << File.join(env["KNIFE_HOME"], "config.rb")
    candidate_configs << File.join(env["KNIFE_HOME"], "knife.rb")
  end
  # Look for $PWD/knife.rb
  if Dir.pwd
    candidate_configs << File.join(Dir.pwd, "config.rb")
    candidate_configs << File.join(Dir.pwd, "knife.rb")
  end
  # Look for $UPWARD/.chef/knife.rb
  if chef_config_dir
    candidate_configs << File.join(chef_config_dir, "config.rb")
    candidate_configs << File.join(chef_config_dir, "knife.rb")
  end
  # Look for $HOME/.chef/knife.rb
  PathHelper.home(".chef") do |dot_chef_dir|
    candidate_configs << File.join(dot_chef_dir, "config.rb")
    candidate_configs << File.join(dot_chef_dir, "knife.rb")
  end
  candidate_configs.find do |candidate_config|
    have_config?(candidate_config)
  end
end