lib/reek/configuration/configuration_validator.rb in reek-4.8.2 vs lib/reek/configuration/configuration_validator.rb in reek-5.0.0

- old
+ new

@@ -1,45 +1,34 @@ # frozen_string_literal: true +require_relative '../errors/config_file_error' + module Reek module Configuration # # Configuration validator module. # module ConfigurationValidator private - # :reek:UtilityFunction + # @quality :reek:UtilityFunction def smell_type?(key) - case key - when Class - true - when String - begin - Reek::SmellDetectors.const_defined? key - rescue NameError - false - end - end + Reek::SmellDetectors.const_defined? key + rescue NameError + false end - # :reek:UtilityFunction + # @quality :reek:UtilityFunction def key_to_smell_detector(key) - case key - when Class - key - else - Reek::SmellDetectors.const_get key - end + Reek::SmellDetectors.const_get key end - def error_message_for_file_given(pathname) - "Configuration error: `#{pathname}` is supposed to be a directory but is a file" - end - def with_valid_directory(path) directory = Pathname.new path.to_s.chomp('/') - abort(error_message_for_file_given(directory)) if directory.file? + if directory.file? + raise Errors::ConfigFileError, + "`#{directory}` is supposed to be a directory but is a file" + end yield directory if block_given? end end end end