def evaluate_settings(settings_data = @settings)
      settings_data.each do |key, value|
        next if value.is_a?(FalseClass)
        value = {} if value.is_a?(TrueClass)

        case key

          when :jshint, :JSHint, :JShint
            value = load_config(value)

            jshint_ignore settings_data[key]
            @settings[:jshint] = temp_it('jshint.json', value.to_json)

          when :scsslint, :SCSSlint
            value = load_config(value)

            @settings[:scsslint] = temp_it('scsslint.yml', value.to_yaml)

          when :rubocop, :Rubocop, :RuboCop
            value = load_config(value)

            @settings[:rubocop] = temp_it('rubocop.yml', value.to_yaml)

          when :brakeman
            @settings[:brakeman] = settings_data[key]

          when :rails_best_practice, :railsbp
            @settings[:railsbp] = settings_data[key]

          when :stylestats, :Stylestats
            value = load_config(value)
            @settings[:stylestats] = temp_it('stylestats.json', value.to_json)

          when :phantomas, :Phantomas
            value = load_config(value)
            @settings[:phantomas] = temp_it('phantomas.json', value.to_json)

          when :wraith, :Wraith
            value = load_config(value)
            evaluate_for_wraith(value)

          # Configuration important to all of maximus
          when :is_dev, :log, :root_dir, :domain, :port, :paths, :commit
            @settings[key] = settings_data[key]
        end
      end

      @settings
    end
def evaluate_settings(settings_data = @settings)
      settings_data.each do |key, value|
        next if value.is_a?(FalseClass)
        value = {} if value.is_a?(TrueClass)

        case key

          when :jshint, :JSHint, :JShint
            value = load_config(value)

            jshint_ignore settings_data[key]
            @settings[:jshint] = temp_it('jshint.json', value.to_json)

          when :scsslint, :SCSSlint
            value = load_config(value)

            @settings[:scsslint] = temp_it('scsslint.yml', value.to_yaml)

          when :rubocop, :Rubocop, :RuboCop
            value = load_config(value)

            @settings[:rubocop] = temp_it('rubocop.yml', value.to_yaml)

          when :brakeman
            @settings[:brakeman] = settings_data[key]

          when :rails_best_practice, :railsbp
            @settings[:railsbp] = settings_data[key]

          when :stylestats, :Stylestats
            value = load_config(value)
            @settings[:stylestats] = temp_it('stylestats.json', value.to_json)

          when :phantomas, :Phantomas
            value = load_config(value)
            @settings[:phantomas] = temp_it('phantomas.json', value.to_json)

          when :wraith, :Wraith
            value = load_config(value)
            evaluate_for_wraith(value)

          # Configuration important to all of maximus
          when :is_dev, :log, :root_dir, :domain, :port, :paths, :commit
            @settings[key] = settings_data[key]
        end
      end

      @settings
    end
Global options for all of maximus

 @param opts [Hash] options passed directly to config
 @option opts [Boolean] :is_dev (false) whether or not the class was initialized from the command line
 @option opts [String, Boolean, nil] :log ('log/maximus_git.log') path to log file
   If not set, logger outputs to STDOUT
 @option opts [String, Boolean] :git_log (false) path to log file or don't log
   The git gem is very noisey
 @option opts [String] :root_dir base directory
 @option opts [String] :domain ('http://localhost') the host - used for Statistics
 @option opts [String, Integer] :port ('') port number - used for Statistics
   and appended to domain. If blank (false, empty string, etc.), will not
   append to domain
 @option opts [String, Array] :file_paths ('') path to files. Accepts glob notation
 @option opts [Hash] :paths ({home: '/'}) labeled relative path to URLs. Statistics only
 @option opts [String] :commit accepts sha, "working", "last", or "master".
 @option opts [String] :config_file ('maximus.yml') path to config file
 @option opts [Boolean] :compile_assets (true) compile and destroy assets automagically
 @option opts [String] :framework (nil) accepts 'rails' and 'middleman' (should only be used
   when calling Maximus from a Ruby script)
 @return [#load_config_file #group_families #evaluate_settings] this method is used to set up instance variables
 Set global options or generate appropriate config files for lints or statistics
 @param settings_data [Hash] (@settings) loaded data from the discovered maximus config file
 @return [Hash] paths to temp config files and static options
   These should be deleted with destroy_temp after read and loaded