.rubocop.yml
AllCops:
TargetRubyVersion: 3.1
NewCops: enable
Exclude:
- vendor/**
- bin/**
- config/environments/**
- spec/dummy/**/*
Gemspec/RequiredRubyVersion:
Enabled: false
Security/YAMLLoad:
Enabled: false
Style/Documentation:
# don't require classes to be documented
Enabled: false
Style/Encoding:
# no need to always specify encoding
Enabled: false
Style/FrozenStringLiteralComment:
# love the idea of frozen string literal, hate the idea of using a comment
# in each file to enable/check for it
Enabled: false
Layout/ParameterAlignment:
# allow for end of if to be aligned with a variable.
# for example:
#
# foo = if a == b
# 'bar'
# else
# 'baz'
# end
EnforcedStyle: with_fixed_indentation
Layout/HashAlignment:
EnforcedHashRocketStyle: table
Layout/MultilineMethodCallIndentation:
# allow for multi-line method chaining to have normal indentation.
# for example:
#
# Person
# .where(first_name: 'tom')
# .not(last_name: 'foolery')
EnforcedStyle: indented
Layout/EndAlignment:
EnforcedStyleAlignWith: variable
Style/ClassAndModuleChildren:
# ok to use compact style when modules are predefined.
# for example the following is fine so long as we're sure that
# module MDB has already been required/defined.
#
# class MDB::Person; end
Enabled: false
Metrics/BlockLength:
# Certain DSL use blocks and can be lengthy
Exclude:
- 'spec/**/*'
- nib.gemspec
Style/PercentLiteralDelimiters:
# use the traidtional style for percent arrays
#
# %w(foo bar)
PreferredDelimiters:
default: ()
"%i": ()
"%w": ()
Naming/FileName:
Exclude:
- Dangerfile
Naming/MethodParameterName:
AllowedNames:
- _
Style/SignalException:
Exclude:
- Dangerfile