Skip to content

Instantly share code, notes, and snippets.

@MiguelSavignano
Created January 5, 2018 13:27
Show Gist options
  • Star 1 You must be signed in to star a gist
  • Fork 1 You must be signed in to fork a gist
  • Save MiguelSavignano/b0c16b530ac01f3b16c8bcf1a912f348 to your computer and use it in GitHub Desktop.
Save MiguelSavignano/b0c16b530ac01f3b16c8bcf1a912f348 to your computer and use it in GitHub Desktop.
# rubocop version 0.52.1
# bundle exec rubocop -a -D -S
# disable all cops example
# rubocop:disable all
# rubocop:enable all
AllCops:
Include:
- Rakefile
- config.ru
Exclude:
- Gemfile
- Guardfile
- infraestructure/**/*
- script/**/*
- 'node_modules/*'
- 'vendor/**/*'
- lib/tasks/*
- spec/**/*
- features/**/*
- db/**/*
- bin/**/*
- config/**/*
- app/views/**/*.json.jbuilder
- volumes/**/*
Documentation:
# most ruby ​​clases have a descriptive name
Enabled: false # Missing top-level class documentation comment
Rails:
Enabled: true
### Rails Style ###
HasAndBelongsToMany:
Description: 'Prefer has_many :through to has_and_belongs_to_many.'
Enabled: false
### Style ###
Style/StringLiterals:
Enabled: false
EnforcedStyle: double_quotes
Style/SignalException:
EnforcedStyle: only_raise
Style/WordArray:
Enabled: false
Style/SymbolArray:
Enabled: false
Style/PercentLiteralDelimiters:
PreferredDelimiters:
'%i': '()'
'%I': '()'
'%w': '()'
'%W': '()'
Style/ModuleFunction:
Enabled: false # https://idiosyncratic-ruby.com/8-self-improvement.html#which-one-to-use
Style/RegexpLiteral:
Enabled: false # prefer regex without ruby concepts
Style/ClassAndModuleChildren:
Enabled: false
Style/FrozenStringLiteralComment:
# not use frozen string literal | we need test all files for use it
# https://wyeworks.com/blog/2015/12/1/immutable-strings-in-ruby-2-dot-3
Enabled: false
# Non ASCII chars are permitted in comments
Style/AsciiComments:
Enabled: false
### Metrics ###
Metrics/BlockLength:
Max: 30
Metrics/BlockNesting:
CountBlocks: false
Max: 3
Metrics/ModuleLength:
Max: 300
Metrics/ClassLength:
Max: 300
Metrics/MethodLength:
Max: 30
Metrics/ParameterLists:
Max: 5
CountKeywordArgs: false
Metrics/LineLength:
Max: 120
# To make it possible to copy or click on URIs in the code, we allow lines
# containing a URI to be longer than Max.
AllowHeredoc: true
AllowURI: true
URISchemes:
- http
- https
# The IgnoreCopDirectives option causes the LineLength rule to ignore cop
# directives like '# rubocop: enable ...' when calculating a line's length.
IgnoreCopDirectives: false
# The IgnoredPatterns option is a list of !ruby/regexp and/or string
# elements. Strings will be converted to Regexp objects. A line that matches
# any regular expression listed in this option will be ignored by LineLength.
# IgnoredPatterns: []
# Avoid complex methods.
Metrics/CyclomaticComplexity:
Max: 100
Metrics/AbcSize:
# The ABC size is a calculated magnitude, so this number can be an Integer or
# a Float.
Max: 100
Metrics/PerceivedComplexity:
Max: 7
### Layout
Layout/SpaceInsideParens:
Enabled: false
Layout/SpaceInsideHashLiteralBraces:
Enabled: false
### Lint
Lint/AssignmentInCondition:
# assign in conditions it's common
# https://github.com/bbatsov/ruby-style-guide#safe-assignment-in-condition
Enabled: false
Lint/MissingCopEnableDirective:
Enabled: false
### Bundler
Bundler/OrderedGems:
Enabled: false
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment