ruby-json-schema/json-schema

View on GitHub
.rubocop_todo.yml

Summary

Maintainability
Test Coverage
# This configuration was generated by
# `rubocop --auto-gen-config`
# on 2023-02-17 10:57:31 UTC using RuboCop version 1.12.1.
# The point is for the user to remove these configuration records
# one by one as the offenses are removed from the code base.
# Note that changes in the inspected code, or installation of new
# versions of RuboCop, may require this file to be generated again.

# Offense count: 1
# Cop supports --auto-correct.
# Configuration parameters: EnforcedStyle.
# SupportedStyles: symmetrical, new_line, same_line
Layout/MultilineMethodCallBraceLayout:
  Exclude:
    - 'test/common_test_suite_test.rb'

# Offense count: 1
Lint/AmbiguousBlockAssociation:
  Exclude:
    - 'lib/json-schema/errors/validation_error.rb'

# Offense count: 4
# Configuration parameters: AllowSafeAssignment.
Lint/AssignmentInCondition:
  Exclude:
    - 'lib/json-schema/attributes/additionalproperties.rb'
    - 'lib/json-schema/attributes/disallow.rb'
    - 'lib/json-schema/validator.rb'

# Offense count: 2
Lint/FloatComparison:
  Exclude:
    - 'lib/json-schema/attributes/divisibleby.rb'

# Offense count: 6
Lint/ImplicitStringConcatenation:
  Exclude:
    - 'test/all_of_ref_schema_test.rb'
    - 'test/any_of_ref_schema_test.rb'
    - 'test/one_of_test.rb'

# Offense count: 1
Lint/MissingSuper:
  Exclude:
    - 'lib/json-schema/attributes/formats/custom.rb'

# Offense count: 2
# Cop supports --auto-correct.
Lint/NonDeterministicRequireOrder:
  Exclude:
    - 'lib/json-schema.rb'
    - 'test/support/test_helper.rb'

# Offense count: 1
# Cop supports --auto-correct.
Lint/RedundantRequireStatement:
  Exclude:
    - 'lib/json-schema/validator.rb'

# Offense count: 3
# Cop supports --auto-correct.
Lint/RedundantStringCoercion:
  Exclude:
    - 'lib/json-schema/attributes/extends.rb'
    - 'lib/json-schema/attributes/ref.rb'

# Offense count: 1
# Cop supports --auto-correct.
Lint/ScriptPermission:
  Exclude:
    - 'lib/json-schema/util/uuid.rb'

# Offense count: 2
# Configuration parameters: AllowComments, AllowNil.
Lint/SuppressedException:
  Exclude:
    - 'Rakefile'
    - 'lib/json-schema/validator.rb'

# Offense count: 3
# Cop supports --auto-correct.
Lint/TripleQuotes:
  Exclude:
    - 'test/all_of_ref_schema_test.rb'
    - 'test/any_of_ref_schema_test.rb'
    - 'test/one_of_test.rb'

# Offense count: 10
# Cop supports --auto-correct.
# Configuration parameters: IgnoreEmptyBlocks, AllowUnusedKeywordArguments.
Lint/UnusedBlockArgument:
  Exclude:
    - 'lib/json-schema/attributes/patternproperties.rb'
    - 'lib/json-schema/attributes/properties.rb'
    - 'lib/json-schema/attributes/required.rb'
    - 'lib/json-schema/schema.rb'
    - 'lib/json-schema/schema/validator.rb'
    - 'lib/json-schema/validator.rb'

# Offense count: 24
# Cop supports --auto-correct.
# Configuration parameters: AllowUnusedKeywordArguments, IgnoreEmptyMethods, IgnoreNotImplementedMethods.
Lint/UnusedMethodArgument:
  Enabled: false

# Offense count: 52
# Configuration parameters: IgnoredMethods, CountRepeatedAttributes.
Metrics/AbcSize:
  Max: 60

# Offense count: 2
# Configuration parameters: CountComments, CountAsOne, ExcludedMethods, IgnoredMethods.
# IgnoredMethods: refine
Metrics/BlockLength:
  Max: 37

# Offense count: 6
# Configuration parameters: CountBlocks.
Metrics/BlockNesting:
  Max: 4

# Offense count: 9
# Configuration parameters: CountComments, CountAsOne.
Metrics/ClassLength:
  Max: 561

# Offense count: 17
# Configuration parameters: IgnoredMethods.
Metrics/CyclomaticComplexity:
  Max: 21

# Offense count: 145
# Configuration parameters: CountComments, CountAsOne, ExcludedMethods, IgnoredMethods.
Metrics/MethodLength:
  Max: 73

# Offense count: 38
# Configuration parameters: CountKeywordArgs, MaxOptionalParameters.
Metrics/ParameterLists:
  Max: 8

# Offense count: 15
# Configuration parameters: IgnoredMethods.
Metrics/PerceivedComplexity:
  Max: 20

# Offense count: 1
Naming/AccessorMethodName:
  Exclude:
    - 'test/caching_test.rb'

# Offense count: 2
# Configuration parameters: AllowedNames.
# AllowedNames: module_parent
Naming/ClassAndModuleCamelCase:
  Exclude:
    - 'test/support/enum_validation.rb'

# Offense count: 6
# Configuration parameters: ExpectMatchingDefinition, CheckDefinitionPathHierarchy, Regex, IgnoreExecutableScripts, AllowedAcronyms.
# AllowedAcronyms: CLI, DSL, ACL, API, ASCII, CPU, CSS, DNS, EOF, GUID, HTML, HTTP, HTTPS, ID, IP, JSON, LHS, QPS, RAM, RHS, RPC, SLA, SMTP, SQL, SSH, TCP, TLS, TTL, UDP, UI, UID, UUID, URI, URL, UTF8, VM, XML, XMPP, XSRF, XSS
Naming/FileName:
  Exclude:
    - 'lib/json-schema.rb'
    - 'lib/json-schema/validators/hyper-draft1.rb'
    - 'lib/json-schema/validators/hyper-draft2.rb'
    - 'lib/json-schema/validators/hyper-draft3.rb'
    - 'lib/json-schema/validators/hyper-draft4.rb'
    - 'lib/json-schema/validators/hyper-draft6.rb'

# Offense count: 18
# Configuration parameters: MinNameLength, AllowNamesEndingInNumbers, AllowedNames, ForbiddenNames.
# AllowedNames: at, by, db, id, in, io, ip, of, on, os, pp, to
Naming/MethodParameterName:
  Exclude:
    - 'lib/json-schema/attributes/extends.rb'
    - 'lib/json-schema/attributes/ref.rb'
    - 'lib/json-schema/util/uuid.rb'
    - 'lib/json-schema/validator.rb'

# Offense count: 18
# Configuration parameters: EnforcedStyle, CheckMethodNames, CheckSymbols, AllowedIdentifiers.
# SupportedStyles: snake_case, normalcase, non_integer
# AllowedIdentifiers: capture3, iso8601, rfc1123_date, rfc822, rfc2822, rfc3339
Naming/VariableNumber:
  Exclude:
    - 'test/all_of_ref_schema_test.rb'
    - 'test/any_of_ref_schema_test.rb'
    - 'test/custom_format_test.rb'
    - 'test/one_of_test.rb'

# Offense count: 1
# Cop supports --auto-correct.
# Configuration parameters: SafeMultiline.
Performance/DeletePrefix:
  Exclude:
    - 'lib/json-schema/util/uuid.rb'

# Offense count: 1
# Cop supports --auto-correct.
Performance/RangeInclude:
  Exclude:
    - 'lib/json-schema/util/uuid.rb'

# Offense count: 1
# Cop supports --auto-correct.
Performance/StringInclude:
  Exclude:
    - 'test/min_items_test.rb'

# Offense count: 1
# Cop supports --auto-correct.
Performance/UnfreezeString:
  Exclude:
    - 'test/type_attribute_test.rb'

# Offense count: 1
Security/MarshalLoad:
  Exclude:
    - 'lib/json-schema/util/uuid.rb'

# Offense count: 4
Security/Open:
  Exclude:
    - 'lib/json-schema/schema/reader.rb'
    - 'lib/json-schema/util/uuid.rb'
    - 'lib/json-schema/validator.rb'

# Offense count: 1
# Cop supports --auto-correct.
Security/YAMLLoad:
  Exclude:
    - 'json-schema.gemspec'

# Offense count: 4
# Cop supports --auto-correct.
# Configuration parameters: EnforcedStyle.
# SupportedStyles: prefer_alias, prefer_alias_method
Style/Alias:
  Exclude:
    - 'lib/json-schema/util/uuid.rb'

# Offense count: 4
# Cop supports --auto-correct.
# Configuration parameters: EnforcedStyle.
# SupportedStyles: percent_q, bare_percent
Style/BarePercentLiterals:
  Exclude:
    - 'test/files_test.rb'

# Offense count: 2
# Cop supports --auto-correct.
Style/CaseLikeIf:
  Exclude:
    - 'lib/json-schema/validator.rb'

# Offense count: 23
Style/ClassVars:
  Exclude:
    - 'lib/json-schema/validator.rb'

# Offense count: 4
# Cop supports --auto-correct.
Style/ColonMethodCall:
  Exclude:
    - 'lib/json-schema.rb'
    - 'lib/json-schema/validator.rb'

# Offense count: 5
# Cop supports --auto-correct.
# Configuration parameters: EnforcedStyle, SingleLineConditionsOnly, IncludeTernaryExpressions.
# SupportedStyles: assign_to_condition, assign_inside_condition
Style/ConditionalAssignment:
  Exclude:
    - 'lib/json-schema/attributes/oneof.rb'
    - 'lib/json-schema/attributes/ref.rb'
    - 'lib/json-schema/attributes/type.rb'
    - 'lib/json-schema/schema.rb'
    - 'lib/json-schema/validator.rb'

# Offense count: 70
# Configuration parameters: AllowedConstants.
Style/Documentation:
  Enabled: false

# Offense count: 2
# Cop supports --auto-correct.
Style/EmptyLiteral:
  Exclude:
    - 'test/type_attribute_test.rb'

# Offense count: 5
# Cop supports --auto-correct.
Style/Encoding:
  Exclude:
    - 'test/custom_format_test.rb'
    - 'test/draft3_test.rb'
    - 'test/draft4_test.rb'
    - 'test/draft6_test.rb'
    - 'test/uri_parsing_test.rb'

# Offense count: 40
# Cop supports --auto-correct.
Style/ExpandPathArguments:
  Enabled: false

# Offense count: 1
# Cop supports --auto-correct.
# Configuration parameters: EnforcedStyle.
# SupportedStyles: format, sprintf, percent
Style/FormatString:
  Exclude:
    - 'lib/json-schema/util/uuid.rb'

# Offense count: 21
# Configuration parameters: MaxUnannotatedPlaceholdersAllowed, IgnoredMethods.
# SupportedStyles: annotated, template, unannotated
Style/FormatStringToken:
  EnforcedStyle: unannotated

# Offense count: 118
# Cop supports --auto-correct.
# Configuration parameters: EnforcedStyle.
# SupportedStyles: always, always_true, never
Style/FrozenStringLiteralComment:
  Enabled: false

# Offense count: 26
# Configuration parameters: MinBodyLength.
Style/GuardClause:
  Enabled: false

# Offense count: 19
# Cop supports --auto-correct.
Style/IfUnlessModifier:
  Exclude:
    - 'Rakefile'
    - 'lib/json-schema/attributes/additionalproperties.rb'
    - 'lib/json-schema/attributes/not.rb'
    - 'lib/json-schema/attributes/ref.rb'
    - 'lib/json-schema/schema.rb'
    - 'lib/json-schema/schema/validator.rb'
    - 'lib/json-schema/validator.rb'

# Offense count: 1
# Cop supports --auto-correct.
# Configuration parameters: AllowedMethods.
# AllowedMethods: nonzero?
Style/IfWithBooleanLiteralBranches:
  Exclude:
    - 'lib/json-schema/validator.rb'

# Offense count: 6
# Cop supports --auto-correct.
# Configuration parameters: EnforcedStyle.
# SupportedStyles: line_count_dependent, lambda, literal
Style/Lambda:
  Exclude:
    - 'lib/json-schema/validator.rb'
    - 'test/custom_format_test.rb'

# Offense count: 14
# Cop supports --auto-correct.
# Configuration parameters: EnforcedStyle.
# SupportedStyles: require_parentheses, require_no_parentheses, require_no_parentheses_except_multiline
Style/MethodDefParentheses:
  Exclude:
    - 'lib/json-schema/util/uuid.rb'
    - 'lib/json-schema/validator.rb'

# Offense count: 1
Style/MultilineBlockChain:
  Exclude:
    - 'lib/json-schema/attribute.rb'

# Offense count: 2
# Cop supports --auto-correct.
Style/MultilineIfThen:
  Exclude:
    - 'lib/json-schema/util/uuid.rb'

# Offense count: 3
# Cop supports --auto-correct.
Style/MultilineWhenThen:
  Exclude:
    - 'lib/json-schema/schema.rb'

# Offense count: 11
# Cop supports --auto-correct.
# Configuration parameters: EnforcedStyle.
# SupportedStyles: literals, strict
Style/MutableConstant:
  Exclude:
    - 'lib/json-schema/attribute.rb'
    - 'lib/json-schema/attributes/formats/date.rb'
    - 'lib/json-schema/attributes/formats/date_time.rb'
    - 'lib/json-schema/attributes/formats/time.rb'
    - 'lib/json-schema/errors/validation_error.rb'
    - 'lib/json-schema/util/uri.rb'
    - 'lib/json-schema/util/uuid.rb'
    - 'test/extends_nested_test.rb'
    - 'test/schema_reader_test.rb'
    - 'test/support/type_validation.rb'

# Offense count: 11
# Cop supports --auto-correct.
# Configuration parameters: EnforcedStyle.
# SupportedStyles: both, prefix, postfix
Style/NegatedIf:
  Exclude:
    - 'lib/json-schema/attributes/anyof.rb'
    - 'lib/json-schema/attributes/extends.rb'
    - 'lib/json-schema/attributes/oneof.rb'
    - 'lib/json-schema/attributes/required.rb'
    - 'lib/json-schema/attributes/type.rb'
    - 'lib/json-schema/attributes/type_v4.rb'
    - 'lib/json-schema/errors/validation_error.rb'
    - 'lib/json-schema/util/array_set.rb'
    - 'lib/json-schema/util/uri.rb'
    - 'lib/json-schema/validator.rb'

# Offense count: 1
# Cop supports --auto-correct.
Style/NegatedIfElseCondition:
  Exclude:
    - 'lib/json-schema/validator.rb'

# Offense count: 2
# Cop supports --auto-correct.
# Configuration parameters: EnforcedStyle, MinBodyLength.
# SupportedStyles: skip_modifier_ifs, always
Style/Next:
  Exclude:
    - 'lib/json-schema/attributes/ref.rb'
    - 'lib/json-schema/validator.rb'

# Offense count: 3
# Cop supports --auto-correct.
# Configuration parameters: Strict.
Style/NumericLiterals:
  MinDigits: 23

# Offense count: 10
# Cop supports --auto-correct.
# Configuration parameters: EnforcedStyle, IgnoredMethods.
# SupportedStyles: predicate, comparison
Style/NumericPredicate:
  Exclude:
    - 'spec/**/*'
    - 'lib/json-schema/attributes/allof.rb'
    - 'lib/json-schema/attributes/anyof.rb'
    - 'lib/json-schema/attributes/divisibleby.rb'
    - 'lib/json-schema/attributes/oneof.rb'
    - 'lib/json-schema/attributes/type.rb'
    - 'lib/json-schema/errors/validation_error.rb'
    - 'test/extended_schema_test.rb'

# Offense count: 2
# Configuration parameters: AllowedMethods.
# AllowedMethods: respond_to_missing?
Style/OptionalBooleanParameter:
  Exclude:
    - 'lib/json-schema/validator.rb'

# Offense count: 3
# Cop supports --auto-correct.
Style/ParallelAssignment:
  Exclude:
    - 'lib/json-schema/attributes/extends.rb'
    - 'lib/json-schema/attributes/ref.rb'

# Offense count: 4
# Cop supports --auto-correct.
# Configuration parameters: PreferredDelimiters.
Style/PercentLiteralDelimiters:
  Exclude:
    - 'Rakefile'
    - 'lib/json-schema/util/uri.rb'
    - 'lib/json-schema/util/uuid.rb'

# Offense count: 4
# Cop supports --auto-correct.
# Configuration parameters: EnforcedStyle.
# SupportedStyles: lower_case_q, upper_case_q
Style/PercentQLiterals:
  Exclude:
    - 'test/files_test.rb'

# Offense count: 10
# Cop supports --auto-correct.
# Configuration parameters: EnforcedStyle.
# SupportedStyles: short, verbose
Style/PreferredHashMethods:
  Exclude:
    - 'lib/json-schema/attributes/dependencies.rb'
    - 'lib/json-schema/attributes/properties.rb'
    - 'lib/json-schema/attributes/properties_optional.rb'
    - 'lib/json-schema/attributes/required.rb'
    - 'lib/json-schema/schema/validator.rb'

# Offense count: 2
# Cop supports --auto-correct.
Style/RedundantBegin:
  Exclude:
    - 'lib/json-schema/attributes/formats/custom.rb'
    - 'lib/json-schema/validator.rb'

# Offense count: 1
# Cop supports --auto-correct.
Style/RedundantConditional:
  Exclude:
    - 'lib/json-schema/validator.rb'

# Offense count: 1
# Cop supports --auto-correct.
Style/RedundantRegexpEscape:
  Exclude:
    - 'lib/json-schema/attributes/formats/date_time.rb'

# Offense count: 10
# Cop supports --auto-correct.
Style/SelfAssignment:
  Exclude:
    - 'lib/json-schema/attributes/additionalproperties.rb'
    - 'lib/json-schema/attributes/allof.rb'
    - 'lib/json-schema/attributes/anyof.rb'
    - 'lib/json-schema/attributes/oneof.rb'
    - 'lib/json-schema/attributes/ref.rb'
    - 'lib/json-schema/attributes/type.rb'
    - 'lib/json-schema/util/uuid.rb'

# Offense count: 4
# Cop supports --auto-correct.
Style/StringConcatenation:
  Exclude:
    - 'lib/json-schema/attributes/ref.rb'
    - 'lib/json-schema/util/uuid.rb'
    - 'test/schema_reader_test.rb'

# Offense count: 3
# Cop supports --auto-correct.
# Configuration parameters: AllowMethodsWithArguments, IgnoredMethods.
# IgnoredMethods: respond_to, define_method
Style/SymbolProc:
  Exclude:
    - 'lib/json-schema/errors/validation_error.rb'
    - 'lib/json-schema/validator.rb'

# Offense count: 76
# Cop supports --auto-correct.
# Configuration parameters: AutoCorrect, AllowHeredoc, AllowURI, URISchemes, IgnoreCopDirectives, IgnoredPatterns.
# URISchemes: http, https
Layout/LineLength:
  Max: 235