Sha256: 05c8932db8d7d4649e9721334bc23ba43b1cebcde69a41c12e92a51dcbe87ee9

Contents?: true

Size: 1022 Bytes

Versions: 9

Compression:

Stored size: 1022 Bytes

Contents

# frozen_string_literal: true
module Reek
  module Configuration
    #
    # Configuration validator module.
    #
    module ConfigurationValidator
      private

      # :reek:UtilityFunction
      def smell_type?(key)
        case key
        when Class
          true
        when String
          begin
            Reek::SmellDetectors.const_defined? key
          rescue NameError
            false
          end
        end
      end

      # :reek:UtilityFunction
      def key_to_smell_detector(key)
        case key
        when Class
          key
        else
          Reek::SmellDetectors.const_get key
        end
      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?
        yield directory if block_given?
      end
    end
  end
end

Version data entries

9 entries across 9 versions & 1 rubygems

Version Path
reek-4.6.1 lib/reek/configuration/configuration_validator.rb
reek-4.6.0 lib/reek/configuration/configuration_validator.rb
reek-4.5.6 lib/reek/configuration/configuration_validator.rb
reek-4.5.5 lib/reek/configuration/configuration_validator.rb
reek-4.5.4 lib/reek/configuration/configuration_validator.rb
reek-4.5.3 lib/reek/configuration/configuration_validator.rb
reek-4.5.2 lib/reek/configuration/configuration_validator.rb
reek-4.5.1 lib/reek/configuration/configuration_validator.rb
reek-4.5.0 lib/reek/configuration/configuration_validator.rb