# This configuration was generated by
# `rubocop --auto-gen-config`
# on 2022-03-15 14:26:54 UTC using RuboCop version 1.26.0.
# 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
# This cop supports safe auto-correction (--auto-correct).
# Configuration parameters: Include.
# Include: **/*.gemspec
Gemspec/RequireMFA:
  Exclude:
    - 'cancancan.gemspec'

# Offense count: 1
# Configuration parameters: Include.
# Include: **/*.gemspec
Gemspec/RequiredRubyVersion:
  Exclude:
    - 'cancancan.gemspec'

# Offense count: 2
# This cop supports safe auto-correction (--auto-correct).
# Configuration parameters: EmptyLineBetweenMethodDefs, EmptyLineBetweenClassDefs, EmptyLineBetweenModuleDefs, AllowAdjacentOneLineDefs, NumberOfEmptyLines.
Layout/EmptyLineBetweenDefs:
  Exclude:
    - 'spec/cancan/ability_spec.rb'

# Offense count: 3
# This cop supports safe auto-correction (--auto-correct).
# Configuration parameters: EnforcedStyle, IndentationWidth.
# SupportedStyles: aligned, indented
Layout/LineEndStringConcatenationIndentation:
  Exclude:
    - 'lib/cancan/ability/rules.rb'
    - 'lib/cancan/rule.rb'
    - 'spec/cancan/model_adapters/active_record_adapter_spec.rb'

# Offense count: 1
# This cop supports safe auto-correction (--auto-correct).
Lint/AmbiguousOperatorPrecedence:
  Exclude:
    - 'lib/cancan/controller_resource.rb'

# Offense count: 77
# Configuration parameters: AllowedMethods.
# AllowedMethods: enums
Lint/ConstantDefinitionInBlock:
  Exclude:
    - 'spec/cancan/ability_spec.rb'
    - 'spec/cancan/controller_resource_spec.rb'
    - 'spec/cancan/model_adapters/accessible_by_has_many_through_spec.rb'
    - 'spec/cancan/model_adapters/accessible_by_integration_spec.rb'
    - 'spec/cancan/model_adapters/active_record_4_adapter_spec.rb'
    - 'spec/cancan/model_adapters/active_record_adapter_spec.rb'
    - 'spec/cancan/model_adapters/conditions_extractor_spec.rb'
    - 'spec/cancan/model_adapters/conditions_normalizer_spec.rb'
    - 'spec/cancan/model_adapters/has_and_belongs_to_many_spec.rb'
    - 'spec/cancan/rule_compressor_spec.rb'
    - 'spec/cancan/rule_spec.rb'

# Offense count: 1
# Configuration parameters: IgnoreLiteralBranches, IgnoreConstantBranches.
Lint/DuplicateBranch:
  Exclude:
    - 'spec/cancan/model_adapters/active_record_adapter_spec.rb'

# Offense count: 3
# Configuration parameters: AllowComments, AllowEmptyLambdas.
Lint/EmptyBlock:
  Exclude:
    - 'spec/cancan/model_adapters/conditions_normalizer_spec.rb'

# Offense count: 4
# Configuration parameters: AllowComments.
Lint/EmptyClass:
  Exclude:
    - 'spec/cancan/controller_resource_spec.rb'
    - 'spec/cancan/rule_compressor_spec.rb'

# Offense count: 2
Lint/MissingSuper:
  Exclude:
    - 'lib/cancan/exceptions.rb'
    - 'lib/cancan/model_adapters/abstract_adapter.rb'

# Offense count: 1
# Configuration parameters: IgnoredMethods, CountRepeatedAttributes.
Metrics/AbcSize:
  Max: 18

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

# Offense count: 1
# Configuration parameters: EnforcedStyle, CheckMethodNames, CheckSymbols, AllowedIdentifiers.
# SupportedStyles: snake_case, normalcase, non_integer
# AllowedIdentifiers: capture3, iso8601, rfc1123_date, rfc822, rfc2822, rfc3339
Naming/VariableNumber:
  Exclude:
    - 'spec/cancan/model_adapters/conditions_extractor_spec.rb'

# Offense count: 2
# This cop supports safe auto-correction (--auto-correct).
Style/BisectedAttrAccessor:
  Exclude:
    - 'lib/cancan/rule.rb'

# Offense count: 5
# This cop supports safe auto-correction (--auto-correct).
# Configuration parameters: IgnoredMethods.
# IgnoredMethods: ==, equal?, eql?
Style/ClassEqualityComparison:
  Exclude:
    - 'lib/cancan/ability.rb'
    - 'lib/cancan/conditions_matcher.rb'
    - 'lib/cancan/relevant.rb'
    - 'lib/cancan/unauthorized_message_resolver.rb'

# Offense count: 1
# This cop supports unsafe auto-correction (--auto-correct-all).
Style/CollectionCompact:
  Exclude:
    - 'lib/cancan/ability.rb'

# Offense count: 4
# Configuration parameters: EnforcedStyle, MaxUnannotatedPlaceholdersAllowed, IgnoredMethods.
# SupportedStyles: annotated, template, unannotated
Style/FormatStringToken:
  Exclude:
    - 'spec/cancan/ability_spec.rb'

# Offense count: 9
# This cop supports safe auto-correction (--auto-correct).
# Configuration parameters: EnforcedStyle.
# SupportedStyles: always, always_true, never
Style/FrozenStringLiteralComment:
  Exclude:
    - 'lib/cancan/class_matcher.rb'
    - 'lib/cancan/model_adapters/conditions_normalizer.rb'
    - 'lib/cancan/model_adapters/sti_normalizer.rb'
    - 'lib/cancan/model_adapters/strategies/base.rb'
    - 'lib/cancan/model_adapters/strategies/left_join.rb'
    - 'lib/cancan/model_adapters/strategies/subquery.rb'
    - 'spec/cancan/model_adapters/accessible_by_has_many_through_spec.rb'
    - 'spec/cancan/model_adapters/conditions_normalizer_spec.rb'
    - 'spec/cancan/model_adapters/has_and_belongs_to_many_spec.rb'

# Offense count: 1
# This cop supports safe auto-correction (--auto-correct).
# Configuration parameters: EnforcedStyle.
# SupportedStyles: same_as_string_literals, single_quotes, double_quotes
Style/QuotedSymbols:
  Exclude:
    - 'lib/cancan/exceptions.rb'

# Offense count: 3
# This cop supports safe auto-correction (--auto-correct).
Style/RedundantBegin:
  Exclude:
    - 'spec/cancan/ability_spec.rb'

# Offense count: 12
# This cop supports safe auto-correction (--auto-correct).
Style/RedundantFileExtensionInRequire:
  Exclude:
    - 'lib/cancan/ability.rb'
    - 'lib/cancan/controller_resource.rb'
    - 'lib/cancan/controller_resource_loader.rb'
    - 'lib/cancan/rule.rb'
    - 'lib/cancan/rules_compressor.rb'

# Offense count: 1
# This cop supports safe auto-correction (--auto-correct).
Style/RedundantFreeze:
  Exclude:
    - 'lib/cancan/version.rb'

# Offense count: 4
# This cop supports safe auto-correction (--auto-correct).
Style/RedundantRegexpEscape:
  Exclude:
    - 'spec/changelog_spec.rb'

# Offense count: 1
# This cop supports safe auto-correction (--auto-correct).
# Configuration parameters: ConvertCodeThatCanStartToReturnNil, AllowedMethods.
# AllowedMethods: present?, blank?, presence, try, try!
Style/SafeNavigation:
  Exclude:
    - 'lib/cancan/controller_resource_builder.rb'

# Offense count: 3
# This cop supports unsafe auto-correction (--auto-correct-all).
Style/SlicingWithRange:
  Exclude:
    - 'lib/cancan/matchers.rb'
    - 'lib/cancan/rules_compressor.rb'
    - 'spec/cancan/rule_compressor_spec.rb'

# Offense count: 2
# This cop supports unsafe auto-correction (--auto-correct-all).
Style/StringChars:
  Exclude:
    - 'spec/matchers.rb'

# Offense count: 1
# This cop supports unsafe auto-correction (--auto-correct-all).
# Configuration parameters: Mode.
Style/StringConcatenation:
  Exclude:
    - 'lib/cancan/rule.rb'

Lint/SafeNavigationChain:
  Enabled: false
