.rubocop.yml
inherit_from: .rubocop_todo.yml
# If you see any problems here, please open a PR
AllCops:
DisplayCopNames: true
DisplayStyleGuide: true
ExtraDetails: true
EnabledByDefault: false
UseCache: true
CacheRootDirectory: ~
TargetRubyVersion: 2.7
Exclude:
- 'a/*'
- 'bin/*'
Include:
- '**/*.gemspec'
- '**/*.god'
- '**/*.rake'
- '**/*.spec'
- '**/.irbrc'
- '**/.pryrc'
- '**/config.ru'
- '**/Capfile'
- '**/Gemfile'
- '**/Guardfile'
- '**/Rakefile'
- '**/Vagrantfile'
- 'test/**/*.rb'
- 'spec/**/*.rb'
- 'lib/**/*.rb'
# By Namespace
Layout:
Enabled: true
Lint:
Enabled: true
Metrics:
Enabled: true
Naming:
Enabled: true
Style:
Enabled: true
# Undefaulted
Style/HashEachMethods:
Enabled: true
Style/HashTransformKeys:
Enabled: true
Style/HashTransformValues:
Enabled: true
# Custom
Layout/LineLength:
Max: 80
Exclude:
- 'spec/ftpmock/proxies_net_ftp/integration_spec.rb'
# If you think this should be true, reach out!
Style/FrozenStringLiteralComment:
Enabled: false
Style/Documentation:
Enabled: false
Style/GuardClause:
Enabled: false
Style/MethodMissingSuper:
Exclude:
- 'lib/ftpmock/proxies/method_missing_mixin.rb'
Style/MissingRespondToMissing:
Exclude:
- 'lib/ftpmock/proxies/method_missing_mixin.rb'
Metrics/BlockLength:
Exclude:
- 'spec/**/*.rb'
Naming/ConstantName:
Exclude:
- 'lib/ftpmock/proxies/*_proxy.rb'
Naming/MethodParameterName:
Exclude:
- 'spec/ftpmock/helpers/*.rb'
# http://c2.com/cgi/wiki?AbcMetric, https://en.wikipedia.org/wiki/ABC_Software_Metric
Metrics/AbcSize:
# Max: 15 (default)
Max: 20
Exclude:
- 'spec/ftpmock/helpers/*.rb'
# https://rubystyle.guide#short-methods
Metrics/MethodLength:
# Max: 10 (default)
Max: 15
Exclude:
- 'spec/ftpmock/helpers/*.rb'
Metrics/ClassLength:
# Max: 100 (default)
Max: 200
Metrics/CyclomaticComplexity:
Exclude:
- 'lib/ftpmock/proxies/*_proxy.rb'