# File lib/picnic/conf.rb, line 124
    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 
          # can use local config.yml file in case we're running non-gem installation
          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