def settings
      @log.debug "merging settings"
      setting_sources = [default_settings, configfile, @settings]
      merged_settings = setting_sources.inject({}) { |merged, hash| merged.deep_merge!(hash) }
      @log.debug "using merged settings: " + merged_settings.to_s
      return merged_settings
    end
def settings
      @log.debug "merging settings"
      setting_sources = [default_settings, configfile, @settings]
      merged_settings = setting_sources.inject({}) { |merged, hash| merged.deep_merge!(hash) }
      @log.debug "using merged settings: " + merged_settings.to_s
      return merged_settings
    end
Create a config instance to interact with configuration settings
 To specify a configuration file, settings_param should include something like:
 {'config_file' => '/usr/local/etc/autosign.conf'}

 If no defaults are provided, the class checks several common locations for config file path.

 @param settings_param [Hash] config settings that should override defaults and config file settings
 @return [Autosign::Config] instance of the Autosign::Config class
 Return a merged settings hash of defaults, config file settings
 and passed in settings (such as from the CLI)

 @return [Hash] deep merged settings hash