# This configuration was generated by
# `rubocop --auto-gen-config`
# on 2017-09-24 19:22:52 +0200 using RuboCop version 0.41.2.
# 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.

plugins:
  - rubocop-performance

# Offense count: 2
Lint/NonLocalExitFromIterator:
  Exclude:
    - 'lib/contracts/call_with.rb'

# Offense count: 7
# Cop supports --auto-correct.
Performance/RedundantBlockCall:
  Exclude:
    - 'spec/builtin_contracts_spec.rb'
    - 'spec/fixtures/fixtures.rb'
    - 'spec/methods_spec.rb'

# Offense count: 3
# Cop supports --auto-correct.
# Configuration parameters: EnforcedStyle, SupportedStyles.
# SupportedStyles: prefer_alias, prefer_alias_method
Style/Alias:
  Exclude:
    - 'lib/contracts/builtin_contracts.rb'
    - 'lib/contracts/errors.rb'
    - 'lib/contracts/method_handler.rb'

# Offense count: 1
# Cop supports --auto-correct.
# Configuration parameters: AllowAdjacentOneLineDefs.
Layout/EmptyLineBetweenDefs:
  Exclude:
    - 'benchmarks/wrap_test.rb'

# Offense count: 1
# Cop supports --auto-correct.
# Configuration parameters: AllowForAlignment, ForceEqualSignAlignment.
Layout/ExtraSpacing:
  Exclude:
    - 'spec/builtin_contracts_spec.rb'

# Offense count: 1
# Configuration parameters: MinBodyLength.
Style/GuardClause:
  Exclude:
    - 'lib/contracts.rb'

# Offense count: 1
Style/IfInsideElse:
  Exclude:
    - 'lib/contracts/validators.rb'

# Offense count: 2
# Cop supports --auto-correct.
# Configuration parameters: EnforcedStyle, SupportedStyles.
# SupportedStyles: symmetrical, new_line, same_line
Layout/MultilineHashBraceLayout:
  Exclude:
    - 'spec/contracts_spec.rb'
    - 'spec/fixtures/fixtures.rb'

# Offense count: 6
# Cop supports --auto-correct.
Style/MutableConstant:
  Exclude:
    - 'lib/contracts/builtin_contracts.rb'
    - 'lib/contracts/errors.rb'
    - 'lib/contracts/method_handler.rb'
    - 'lib/contracts/version.rb'

# Offense count: 7
# Cop supports --auto-correct.
Style/NestedParenthesizedCalls:
  Exclude:
    - 'spec/contracts_spec.rb'
    - 'spec/support_spec.rb'

# Offense count: 4
# Cop supports --auto-correct.
Style/ParallelAssignment:
  Exclude:
    - 'lib/contracts.rb'
    - 'lib/contracts/formatters.rb'
    - 'lib/contracts/invariants.rb'

# Offense count: 9
# Cop supports --auto-correct.
Style/RedundantParentheses:
  Exclude:
    - 'benchmarks/hash.rb'
    - 'lib/contracts.rb'
    - 'spec/fixtures/fixtures.rb'
    - 'spec/override_validators_spec.rb'
    - 'spec/ruby_version_specific/contracts_spec_1.9.rb'

# Offense count: 17
# Cop supports --auto-correct.
# Configuration parameters: EnforcedStyle, SupportedStyles.
# SupportedStyles: only_raise, only_fail, semantic
Style/SignalException:
  Exclude:
    - 'benchmarks/bench.rb'
    - 'benchmarks/hash.rb'
    - 'lib/contracts.rb'
    - 'lib/contracts/builtin_contracts.rb'
    - 'lib/contracts/engine/eigenclass.rb'
    - 'lib/contracts/invariants.rb'
    - 'lib/contracts/method_handler.rb'
    - 'spec/contracts_spec.rb'

# Offense count: 2
# Cop supports --auto-correct.
# Configuration parameters: IgnoredMethods.
# IgnoredMethods: respond_to, define_method
Style/SymbolProc:
  Exclude:
    - 'lib/contracts/decorators.rb'
    - 'spec/methods_spec.rb'

# Offense count: 5
# Cop supports --auto-correct.
# Configuration parameters: AllowNamedUnderscoreVariables.
Style/TrailingUnderscoreVariable:
  Exclude:
    - 'lib/contracts/builtin_contracts.rb'

# Offense count: 1
# Cop supports --auto-correct.
Style/RedundantInterpolation:
  Exclude:
    - 'lib/contracts/formatters.rb'
