def load_from_file(app_name, app_root, config_file = nil)
conf_file = determine_config_filename(app_name, app_root, config_file)
puts "Loading configuration for #{app_name.inspect} from #{conf_file.inspect}..."
begin
conf_file = etc_conf = conf_file
unless File.exists? conf_file
conf_file = "#{app_root}/config.yml"
end
unless File.exists? conf_file
copy_example_config_file(app_name, app_root, etc_conf)
end
loaded_conf = HashWithIndifferentAccess.new(YAML.load_file(conf_file))
@conf.merge!(loaded_conf)
rescue => e
raise "Your #{app_name} configuration may be invalid."+
" Please double-check check your config.yml file."+
" Make sure that you are using spaces instead of tabs for your indentation!!" +
"\n\nTHE UNDERLYING ERROR WAS:\n#{e.inspect}"
end
end