# This configuration was generated by
# `rubocop --auto-gen-config`
# on 2024-10-23 12:15:48 UTC using RuboCop version 1.66.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: 139
# This cop supports safe autocorrection (--autocorrect).
# Configuration parameters: Max, AllowHeredoc, AllowURI, URISchemes, IgnoreCopDirectives, AllowedPatterns.
# URISchemes: http, https
Layout/LineLength:
  Enabled: false

# Offense count: 11
# Configuration parameters: AllowedMethods.
# AllowedMethods: enums
Lint/ConstantDefinitionInBlock:
  Exclude:
    - 'spec/lutaml/model/schema/json_schema_spec.rb'
    - 'spec/lutaml/model/schema/relaxng_schema_spec.rb'
    - 'spec/lutaml/model/schema/xsd_schema_spec.rb'
    - 'spec/lutaml/model/schema/yaml_schema_spec.rb'
    - 'spec/lutaml/model/validation_spec.rb'
    - 'spec/lutaml/model/xml_adapter/xml_namespace_spec.rb'

# Offense count: 1
Lint/DuplicateMethods:
  Exclude:
    - 'lib/lutaml/model/attribute.rb'

# Offense count: 37
# Configuration parameters: AllowedMethods, AllowedPatterns, CountRepeatedAttributes, Max.
Metrics/AbcSize:
  Exclude:
    - 'lib/lutaml/model/attribute.rb'
    - 'lib/lutaml/model/comparable_model.rb'
    - 'lib/lutaml/model/mapping_rule.rb'
    - 'lib/lutaml/model/schema/relaxng_schema.rb'
    - 'lib/lutaml/model/schema/xsd_schema.rb'
    - 'lib/lutaml/model/serialize.rb'
    - 'lib/lutaml/model/type.rb'
    - 'lib/lutaml/model/xml_adapter/nokogiri_adapter.rb'
    - 'lib/lutaml/model/xml_adapter/ox_adapter.rb'
    - 'lib/lutaml/model/xml_adapter/xml_document.rb'
    - 'lib/lutaml/model/xml_mapping_rule.rb'

# Offense count: 6
# Configuration parameters: CountComments, CountAsOne, AllowedMethods, AllowedPatterns, inherit_mode.
# AllowedMethods: refine
Metrics/BlockLength:
  Max: 47

# Offense count: 27
# Configuration parameters: AllowedMethods, AllowedPatterns, Max.
Metrics/CyclomaticComplexity:
  Exclude:
    - 'lib/lutaml/model/attribute.rb'
    - 'lib/lutaml/model/comparable_model.rb'
    - 'lib/lutaml/model/serialize.rb'
    - 'lib/lutaml/model/type.rb'
    - 'lib/lutaml/model/xml_adapter/nokogiri_adapter.rb'
    - 'lib/lutaml/model/xml_adapter/ox_adapter.rb'
    - 'lib/lutaml/model/xml_adapter/xml_document.rb'

# Offense count: 50
# Configuration parameters: CountComments, CountAsOne, AllowedMethods, AllowedPatterns.
Metrics/MethodLength:
  Max: 51

# Offense count: 4
# Configuration parameters: CountKeywordArgs, MaxOptionalParameters.
Metrics/ParameterLists:
  Max: 12

# Offense count: 22
# Configuration parameters: AllowedMethods, AllowedPatterns, Max.
Metrics/PerceivedComplexity:
  Exclude:
    - 'lib/lutaml/model/attribute.rb'
    - 'lib/lutaml/model/comparable_model.rb'
    - 'lib/lutaml/model/serialize.rb'
    - 'lib/lutaml/model/xml_adapter/nokogiri_adapter.rb'
    - 'lib/lutaml/model/xml_adapter/ox_adapter.rb'
    - 'lib/lutaml/model/xml_adapter/xml_document.rb'

# Offense count: 8
# Configuration parameters: Prefixes, AllowedPatterns.
# Prefixes: when, with, without
RSpec/ContextWording:
  Exclude:
    - 'spec/lutaml/model/xml_adapter/nokogiri_adapter_spec.rb'
    - 'spec/lutaml/model/xml_adapter/oga_adapter_spec.rb'
    - 'spec/lutaml/model/xml_adapter/ox_adapter_spec.rb'
    - 'spec/lutaml/model/xml_adapter/xml_namespace_spec.rb'
    - 'spec/lutaml/model/xml_mapping_spec.rb'

# Offense count: 109
# Configuration parameters: CountAsOne.
RSpec/ExampleLength:
  Max: 54

# Offense count: 2
# Configuration parameters: Max, AllowedIdentifiers, AllowedPatterns.
RSpec/IndexedLet:
  Exclude:
    - 'spec/address_spec.rb'

# Offense count: 19
RSpec/LeakyConstantDeclaration:
  Exclude:
    - 'spec/lutaml/model/schema/json_schema_spec.rb'
    - 'spec/lutaml/model/schema/relaxng_schema_spec.rb'
    - 'spec/lutaml/model/schema/xsd_schema_spec.rb'
    - 'spec/lutaml/model/schema/yaml_schema_spec.rb'
    - 'spec/lutaml/model/validation_spec.rb'
    - 'spec/lutaml/model/xml_adapter/xml_namespace_spec.rb'

# Offense count: 4
RSpec/MultipleDescribes:
  Exclude:
    - 'spec/lutaml/model/json_adapter_spec.rb'
    - 'spec/lutaml/model/toml_adapter_spec.rb'
    - 'spec/lutaml/model/xml_adapter/xml_namespace_spec.rb'
    - 'spec/lutaml/model/xml_adapter_spec.rb'

# Offense count: 119
RSpec/MultipleExpectations:
  Max: 14

# Offense count: 18
# Configuration parameters: AllowSubject.
RSpec/MultipleMemoizedHelpers:
  Max: 9

# Offense count: 7
RSpec/PendingWithoutReason:
  Exclude:
    - 'spec/lutaml/model/mixed_content_spec.rb'
    - 'spec/lutaml/model/validation_spec.rb'
    - 'spec/lutaml/model/xml_adapter/oga_adapter_spec.rb'
    - 'spec/lutaml/model/xml_adapter/xml_namespace_spec.rb'
    - 'spec/lutaml/model/xml_adapter_spec.rb'

# Offense count: 1
RSpec/RemoveConst:
  Exclude:
    - 'spec/lutaml/model/type/decimal_spec.rb'

# Offense count: 2
RSpec/RepeatedExampleGroupDescription:
  Exclude:
    - 'spec/lutaml/model/collection_spec.rb'

# Offense count: 2
# Configuration parameters: Include, CustomTransform, IgnoreMethods, IgnoreMetadata.
# Include: **/*_spec.rb
RSpec/SpecFilePathFormat:
  Exclude:
    - '**/spec/routing/**/*'
    - 'spec/lutaml/model/collection_spec.rb'
    - 'spec/lutaml/model/type/decimal_spec.rb'

# Offense count: 1
Security/CompoundHash:
  Exclude:
    - 'lib/lutaml/model/comparable_model.rb'

# Offense count: 1
Style/MissingRespondToMissing:
  Exclude:
    - 'lib/lutaml/model/serialize.rb'

# Offense count: 1
# Configuration parameters: AllowedMethods.
# AllowedMethods: respond_to_missing?
Style/OptionalBooleanParameter:
  Exclude:
    - 'lib/lutaml/model/comparable_model.rb'