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(ChefConfig::Dist::USER_CONF_DIR) 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