Sha256: bbf05bc20b6a35c815ec42cd1baef41084bca4d6607df9877685f7b4b74a6166

Contents?: true

Size: 777 Bytes

Versions: 95

Compression:

Stored size: 777 Bytes

Contents

module CC
  class Config
    module Validation
      class JSON < FileValidator
        private

        def validate
          @data = ::JSON.parse(File.read(path))

          return unless validate_hash_data

          validate_version
          validate_prepare
          validate_engines("plugins")
          validate_checks
          validate_exclude_pattern("exclude_patterns")

          warn_unrecognized_keys(%w[checks prepare plugins exclude_patterns version])
        rescue ::JSON::ParserError => ex
          errors << "Unable to parse: #{ex.message}"
        end

        def validate_version
          unless data.key?("version")
            warnings << %(missing 'version' key. Please add `"version": "2"`)
          end
        end
      end
    end
  end
end

Version data entries

95 entries across 95 versions & 2 rubygems

Version Path
codeclimate-0.78.0 lib/cc/config/validation/json.rb
codeclimate-0.77.0 lib/cc/config/validation/json.rb
codeclimate-0.76.0 lib/cc/config/validation/json.rb
codeclimate-0.75.0 lib/cc/config/validation/json.rb
codeclimate-0.74.0 lib/cc/config/validation/json.rb
codeclimate-0.73.0 lib/cc/config/validation/json.rb
codeclimate-0.72.0 lib/cc/config/validation/json.rb
codeclimate-0.71.2 lib/cc/config/validation/json.rb
codeclimate-0.71.1 lib/cc/config/validation/json.rb
codeclimate-0.71.0 lib/cc/config/validation/json.rb
codeclimate-0.70.6 lib/cc/config/validation/json.rb
codeclimate-0.70.5 lib/cc/config/validation/json.rb
codeclimate-0.70.4 lib/cc/config/validation/json.rb
codeclimate-0.70.3 lib/cc/config/validation/json.rb
codeclimate-0.70.2 lib/cc/config/validation/json.rb