AllCops:
  Exclude:
    - 'test/**/*'
    - 'examples/*'
    - 'tmp/**/*'
    - Rakefile
    - gir_ffi.gemspec

Lint/AssignmentInCondition:
  AllowSafeAssignment: true

Style/Blocks:
  Enabled: false

Style/DotPosition:
  EnforcedStyle: trailing

Style/LineLength:
  Max: 92

Style/MethodDefParentheses:
  EnforcedStyle: require_no_parentheses

Style/SignalException:
  EnforcedStyle: only_raise

Style/StringLiterals:
  Enabled: false

Style/RedundantReturn:
  AllowMultipleReturnValues: true

Style/GuardClause:
  MinBodyLength: 2

Style/IfUnlessModifier:
  MaxLineLength: 60

Style/TrivialAccessors:
  ExactNameMatch: true

Style/SingleLineBlockParams:
  Enabled: false

Style/Next:
  Enabled: false

Style/AccessorMethodName:
  Enabled: false

# TODO: See about has_ and have_
Style/PredicateName:
  NamePrefixBlacklist:
    - is_

# RuboCop has no setting to accept how vim aligns parameters.
Style/AlignParameters:
  Enabled: false

# FIXME: GirFFI uses a ffi-something naming scheme.
Style/FileName:
  Enabled: false

# TODO: Decide on the desired style (nested or compact)
Style/ClassAndModuleChildren:
  Enabled: false

inherit_from: .rubocop_todo.yml

AllCops:
  Exclude:
    - 'test/**/*'
    - 'examples/*'
    - 'tmp/**/*'
    - Rakefile
    - gir_ffi.gemspec

Lint/AssignmentInCondition:
  AllowSafeAssignment: true

Style/Blocks:
  Enabled: false

Style/DotPosition:
  EnforcedStyle: trailing

Style/LineLength:
  Max: 92

Style/MethodDefParentheses:
  EnforcedStyle: require_no_parentheses

Style/SignalException:
  EnforcedStyle: only_raise

Style/StringLiterals:
  Enabled: false

Style/RedundantReturn:
  AllowMultipleReturnValues: true

Style/GuardClause:
  MinBodyLength: 2

Style/IfUnlessModifier:
  MaxLineLength: 60

Style/TrivialAccessors:
  ExactNameMatch: true

Style/SingleLineBlockParams:
  Enabled: false

Style/Next:
  Enabled: false

Style/AccessorMethodName:
  Enabled: false

# Support use of and and or for control flow.
Style/AndOr:
  Enabled: false

# TODO: See about has_ and have_
Style/PredicateName:
  NamePrefixBlacklist:
    - is_

# RuboCop has no setting to accept how vim aligns parameters.
Style/AlignParameters:
  Enabled: false

# FIXME: GirFFI uses a ffi-something naming scheme.
Style/FileName:
  Enabled: false

# TODO: Decide on the desired style (nested or compact)
Style/ClassAndModuleChildren:
  Enabled: false

inherit_from: .rubocop_todo.yml

Allow and and or for control flow
Allow and and or for control flow
