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.85.12 lib/cc/config/validation/json.rb
codeclimate-0.85.11 lib/cc/config/validation/json.rb
codeclimate-0.85.10 lib/cc/config/validation/json.rb
codeclimate-0.85.9 lib/cc/config/validation/json.rb
codeclimate-0.85.8 lib/cc/config/validation/json.rb
codeclimate-0.85.7 lib/cc/config/validation/json.rb
codeclimate-0.85.6 lib/cc/config/validation/json.rb
codeclimate-0.85.5 lib/cc/config/validation/json.rb
codeclimate-0.85.4 lib/cc/config/validation/json.rb
codeclimate-0.85.3 lib/cc/config/validation/json.rb
codeclimate-0.85.2 lib/cc/config/validation/json.rb
codeclimate-0.85.1 lib/cc/config/validation/json.rb
codeclimate-0.85.0 lib/cc/config/validation/json.rb
codeclimate-0.84.0 lib/cc/config/validation/json.rb
codeclimate-0.83.0 lib/cc/config/validation/json.rb
codeclimate-0.82.0 lib/cc/config/validation/json.rb
codeclimate-0.81.0 lib/cc/config/validation/json.rb
codeclimate-0.80.0 lib/cc/config/validation/json.rb
codeclimate-0.79.0 lib/cc/config/validation/json.rb
codeclimate-0.78.1 lib/cc/config/validation/json.rb