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.96.0 lib/cc/config/validation/json.rb
codeclimate-0.95.0 lib/cc/config/validation/json.rb
codeclimate-0.94.1 lib/cc/config/validation/json.rb
codeclimate-0.94.0 lib/cc/config/validation/json.rb
codeclimate-0.93.0 lib/cc/config/validation/json.rb
codeclimate-0.92.1 lib/cc/config/validation/json.rb
codeclimate-0.92.0 lib/cc/config/validation/json.rb
codeclimate-0.91.0 lib/cc/config/validation/json.rb
codeclimate-0.90.0 lib/cc/config/validation/json.rb
codeclimate-0.89.0 lib/cc/config/validation/json.rb
codeclimate-0.88.0 lib/cc/config/validation/json.rb
codeclimate-0.87.5 lib/cc/config/validation/json.rb
codeclimate-0.87.4 lib/cc/config/validation/json.rb
codeclimate-0.87.3 lib/cc/config/validation/json.rb
codeclimate-0.87.2 lib/cc/config/validation/json.rb
codeclimate-0.87.1 lib/cc/config/validation/json.rb
codeclimate-0.87.0 lib/cc/config/validation/json.rb
codeclimate-0.86.0 lib/cc/config/validation/json.rb
codeclimate-0.85.29 lib/cc/config/validation/json.rb
codeclimate-0.85.28 lib/cc/config/validation/json.rb