def settings
      @log.debug "merging settings"
      setting_sources = [get_override_settings, load_config, default_settings]
      merged_settings = setting_sources.inject({}) { |merged, hash| merged.deep_merge(hash) }
      @log.debug "using merged settings: " + merged_settings.to_s
      @log.debug "validating merged settings"
      if validate_settings(merged_settings)
        @log.debug "successfully validated merged settings"
        return merged_settings
      else
        @log.warn "validation of merged settings failed"
        @log.warn "unable to validate settings in #{self.name} validator"
        raise "settings validation error"
      end
    end
def settings
      @log.debug "merging settings"
      setting_sources = [get_override_settings, load_config, default_settings]
      merged_settings = setting_sources.inject({}) { |merged, hash| merged.deep_merge(hash) }
      @log.debug "using merged settings: " + merged_settings.to_s
      @log.debug "validating merged settings"
      if validate_settings(merged_settings)
        @log.debug "successfully validated merged settings"
        return merged_settings
      else
        @log.warn "validation of merged settings failed"
        @log.warn "unable to validate settings in #{self.name} validator"
        raise "settings validation error"
      end
    end
provide a merged settings hash of default settings for a validator,
 config file settings for the validator, and override settings defined in
 the validator.

 Do not override this in child classes. If you need to set
 custom config settings, override the get_override_settings method.
 The section of the config file this reads from is the same as the name
 method returns.

 @return [Hash] of config settings