Skip to content

Instantly share code, notes, and snippets.

@lazaronixon
Last active October 21, 2022 17:49
Show Gist options
  • Select an option

  • Save lazaronixon/7815d84702f277ead5e89c9f2aa5581f to your computer and use it in GitHub Desktop.

Select an option

Save lazaronixon/7815d84702f277ead5e89c9f2aa5581f to your computer and use it in GitHub Desktop.

Revisions

  1. lazaronixon revised this gist Apr 9, 2022. 1 changed file with 1 addition and 0 deletions.
    1 change: 1 addition & 0 deletions rubocop.yml
    Original file line number Diff line number Diff line change
    @@ -27,6 +27,7 @@ AllCops:
    - 'actionmailbox/test/dummy/**/*'
    - 'actiontext/test/dummy/**/*'
    - '**/node_modules/**/*'
    - 'db/schema.rb'

    Performance:
    Exclude:
  2. lazaronixon revised this gist Mar 24, 2022. 1 changed file with 2 additions and 0 deletions.
    2 changes: 2 additions & 0 deletions rubocop.yml
    Original file line number Diff line number Diff line change
    @@ -31,6 +31,7 @@ AllCops:
    Performance:
    Exclude:
    - 'test/**/*'
    - 'spec/**/*'

    # Prefer assert_not over assert !
    Rails/AssertNot:
    @@ -197,6 +198,7 @@ Style/StringLiterals:
    Include:
    - 'app/**/*'
    - 'test/**/*'
    - 'spec/**/*'

    # Detect hard tabs, no hard tabs.
    Layout/IndentationStyle:
  3. lazaronixon revised this gist Mar 24, 2022. 1 changed file with 4 additions and 7 deletions.
    11 changes: 4 additions & 7 deletions rubocop.yml
    Original file line number Diff line number Diff line change
    @@ -5,17 +5,14 @@
    # gem "rubocop-performance", require: false
    # gem "rubocop-rails", require: false
    #
    # 2 - Create a file .rubocop.yml and add the line below
    # 2 - Create a file .rubocop.yml and add the lines below
    # inherit_from: https://gist.githubusercontent.com/lazaronixon/7815d84702f277ead5e89c9f2aa5581f/raw/rubocop.yml
    #
    # 3 - Add this line to your .gitignore
    # /.rubocop-https---gist-githubusercontent-com-lazaronixon-7815d84702f277ead5e89c9f2aa5581f-raw-rubocop-yml
    # require:
    # - rubocop-performance
    # - rubocop-rails
    #

    require:
    - rubocop-performance
    - rubocop-rails

    AllCops:
    TargetRubyVersion: 2.7
    # RuboCop has a bunch of cops enabled by default. This setting tells RuboCop
  4. lazaronixon revised this gist Mar 22, 2022. 1 changed file with 1 addition and 1 deletion.
    2 changes: 1 addition & 1 deletion rubocop.yml
    Original file line number Diff line number Diff line change
    @@ -1,6 +1,6 @@
    # This template is inspired on https://github.com/basecamp/audits1984/blob/master/.rubocop.yml
    #
    # 1 - Add dependencies
    # 1 - Add dependencies to group :development, :test
    # gem "rubocop", "~> 1.26", require: false
    # gem "rubocop-performance", require: false
    # gem "rubocop-rails", require: false
  5. lazaronixon revised this gist Mar 21, 2022. 1 changed file with 2 additions and 2 deletions.
    4 changes: 2 additions & 2 deletions rubocop.yml
    Original file line number Diff line number Diff line change
    @@ -6,10 +6,10 @@
    # gem "rubocop-rails", require: false
    #
    # 2 - Create a file .rubocop.yml and add the line below
    # inherit_from: https://gist.githubusercontent.com/lazaronixon/7815d84702f277ead5e89c9f2aa5581f/raw/c6569e627ea1f2c2d7f34cfcebf22e008a1a704c/rubocop.yml
    # inherit_from: https://gist.githubusercontent.com/lazaronixon/7815d84702f277ead5e89c9f2aa5581f/raw/rubocop.yml
    #
    # 3 - Add this line to your .gitignore
    # /.rubocop-https---gist-githubusercontent-com-lazaronixon-7815d84702f277ead5e89c9f2aa5581f-raw-c6569e627ea1f2c2d7f34cfcebf22e008a1a704c-rubocop-yml
    # /.rubocop-https---gist-githubusercontent-com-lazaronixon-7815d84702f277ead5e89c9f2aa5581f-raw-rubocop-yml
    #

    require:
  6. lazaronixon revised this gist Mar 21, 2022. 1 changed file with 1 addition and 1 deletion.
    2 changes: 1 addition & 1 deletion rubocop.yml
    Original file line number Diff line number Diff line change
    @@ -9,7 +9,7 @@
    # inherit_from: https://gist.githubusercontent.com/lazaronixon/7815d84702f277ead5e89c9f2aa5581f/raw/c6569e627ea1f2c2d7f34cfcebf22e008a1a704c/rubocop.yml
    #
    # 3 - Add this line to your .gitignore
    # /.rubocop-https---raw-githubusercontent-com-rails-rails-master--rubocop-yml
    # /.rubocop-https---gist-githubusercontent-com-lazaronixon-7815d84702f277ead5e89c9f2aa5581f-raw-c6569e627ea1f2c2d7f34cfcebf22e008a1a704c-rubocop-yml
    #

    require:
  7. lazaronixon revised this gist Mar 21, 2022. No changes.
  8. lazaronixon revised this gist Mar 21, 2022. 1 changed file with 1 addition and 1 deletion.
    2 changes: 1 addition & 1 deletion rubocop.yml
    Original file line number Diff line number Diff line change
    @@ -6,7 +6,7 @@
    # gem "rubocop-rails", require: false
    #
    # 2 - Create a file .rubocop.yml and add the line below
    # inherit_from: https://raw.githubusercontent.com/rails/rails/master/.rubocop.yml
    # inherit_from: https://gist.githubusercontent.com/lazaronixon/7815d84702f277ead5e89c9f2aa5581f/raw/c6569e627ea1f2c2d7f34cfcebf22e008a1a704c/rubocop.yml
    #
    # 3 - Add this line to your .gitignore
    # /.rubocop-https---raw-githubusercontent-com-rails-rails-master--rubocop-yml
  9. lazaronixon created this gist Mar 21, 2022.
    324 changes: 324 additions & 0 deletions rubocop.yml
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,324 @@
    # This template is inspired on https://github.com/basecamp/audits1984/blob/master/.rubocop.yml
    #
    # 1 - Add dependencies
    # gem "rubocop", "~> 1.26", require: false
    # gem "rubocop-performance", require: false
    # gem "rubocop-rails", require: false
    #
    # 2 - Create a file .rubocop.yml and add the line below
    # inherit_from: https://raw.githubusercontent.com/rails/rails/master/.rubocop.yml
    #
    # 3 - Add this line to your .gitignore
    # /.rubocop-https---raw-githubusercontent-com-rails-rails-master--rubocop-yml
    #

    require:
    - rubocop-performance
    - rubocop-rails

    AllCops:
    TargetRubyVersion: 2.7
    # RuboCop has a bunch of cops enabled by default. This setting tells RuboCop
    # to ignore them, so only the ones explicitly set in this file are enabled.
    DisabledByDefault: true
    SuggestExtensions: false
    Exclude:
    - '**/tmp/**/*'
    - '**/templates/**/*'
    - '**/vendor/**/*'
    - 'actionpack/lib/action_dispatch/journey/parser.rb'
    - 'actionmailbox/test/dummy/**/*'
    - 'actiontext/test/dummy/**/*'
    - '**/node_modules/**/*'

    Performance:
    Exclude:
    - 'test/**/*'

    # Prefer assert_not over assert !
    Rails/AssertNot:
    Include:
    - '**/test/**/*'

    # Prefer assert_not_x over refute_x
    Rails/RefuteMethods:
    Include:
    - '**/test/**/*'

    Rails/IndexBy:
    Enabled: true

    Rails/IndexWith:
    Enabled: true

    # Prefer &&/|| over and/or.
    Style/AndOr:
    Enabled: true

    # Align `when` with `case`.
    Layout/CaseIndentation:
    Enabled: true

    Layout/ClosingHeredocIndentation:
    Enabled: true

    Layout/ClosingParenthesisIndentation:
    Enabled: true

    # Align comments with method definitions.
    Layout/CommentIndentation:
    Enabled: true

    Layout/ElseAlignment:
    Enabled: true

    # Align `end` with the matching keyword or starting expression except for
    # assignments, where it should be aligned with the LHS.
    Layout/EndAlignment:
    Enabled: true
    EnforcedStyleAlignWith: variable
    AutoCorrect: true

    Layout/EndOfLine:
    Enabled: true

    Layout/EmptyLineAfterMagicComment:
    Enabled: true

    Layout/EmptyLinesAroundAccessModifier:
    Enabled: true
    EnforcedStyle: only_before

    Layout/EmptyLinesAroundBlockBody:
    Enabled: true

    # In a regular class definition, no empty lines around the body.
    Layout/EmptyLinesAroundClassBody:
    Enabled: true

    # In a regular method definition, no empty lines around the body.
    Layout/EmptyLinesAroundMethodBody:
    Enabled: true

    # In a regular module definition, no empty lines around the body.
    Layout/EmptyLinesAroundModuleBody:
    Enabled: true

    # Use Ruby >= 1.9 syntax for hashes. Prefer { a: :b } over { :a => :b }.
    Style/HashSyntax:
    Enabled: true

    # Method definitions after `private` or `protected` isolated calls need one
    # extra level of indentation.
    Layout/IndentationConsistency:
    Enabled: true
    EnforcedStyle: indented_internal_methods

    # Two spaces, no tabs (for indentation).
    Layout/IndentationWidth:
    Enabled: true

    Layout/LeadingCommentSpace:
    Enabled: true

    Layout/SpaceAfterColon:
    Enabled: true

    Layout/SpaceAfterComma:
    Enabled: true

    Layout/SpaceAfterSemicolon:
    Enabled: true

    Layout/SpaceAroundEqualsInParameterDefault:
    Enabled: true

    Layout/SpaceAroundKeyword:
    Enabled: true

    Layout/SpaceAroundOperators:
    Enabled: true

    Layout/SpaceBeforeComma:
    Enabled: true

    Layout/SpaceBeforeComment:
    Enabled: true

    Layout/SpaceBeforeFirstArg:
    Enabled: true

    Style/DefWithParentheses:
    Enabled: true

    # Defining a method with parameters needs parentheses.
    Style/MethodDefParentheses:
    Enabled: true

    Style/ExplicitBlockArgument:
    Enabled: true

    Style/FrozenStringLiteralComment:
    Enabled: false
    EnforcedStyle: always
    Exclude:
    - 'actionview/test/**/*.builder'
    - 'actionview/test/**/*.ruby'
    - 'actionpack/test/**/*.builder'
    - 'actionpack/test/**/*.ruby'
    - 'activestorage/db/migrate/**/*.rb'
    - 'activestorage/db/update_migrate/**/*.rb'
    - 'actionmailbox/db/migrate/**/*.rb'
    - 'actiontext/db/migrate/**/*.rb'

    Style/MapToHash:
    Enabled: true

    Style/RedundantFreeze:
    Enabled: true

    # Use `foo {}` not `foo{}`.
    Layout/SpaceBeforeBlockBraces:
    Enabled: true

    # Use `foo { bar }` not `foo {bar}`.
    Layout/SpaceInsideBlockBraces:
    Enabled: true
    EnforcedStyleForEmptyBraces: space

    # Use `{ a: 1 }` not `{a:1}`.
    Layout/SpaceInsideHashLiteralBraces:
    Enabled: true

    Layout/SpaceInsideParens:
    Enabled: true

    # Check quotes usage according to lint rule below.
    Style/StringLiterals:
    Enabled: true
    EnforcedStyle: double_quotes
    Include:
    - 'app/**/*'
    - 'test/**/*'

    # Detect hard tabs, no hard tabs.
    Layout/IndentationStyle:
    Enabled: true

    # Empty lines should not have any spaces.
    Layout/TrailingEmptyLines:
    Enabled: true

    # No trailing whitespace.
    Layout/TrailingWhitespace:
    Enabled: true

    # Use quotes for string literals when they are enough.
    Style/RedundantPercentQ:
    Enabled: true

    Lint/AmbiguousOperator:
    Enabled: true

    Lint/AmbiguousRegexpLiteral:
    Enabled: true

    Lint/DuplicateRequire:
    Enabled: true

    Lint/DuplicateMethods:
    Enabled: true

    Lint/ErbNewArguments:
    Enabled: true

    Lint/EnsureReturn:
    Enabled: true

    # Use my_method(my_arg) not my_method( my_arg ) or my_method my_arg.
    Lint/RequireParentheses:
    Enabled: true

    Lint/RedundantStringCoercion:
    Enabled: true

    Lint/UriEscapeUnescape:
    Enabled: true

    Lint/UselessAssignment:
    Enabled: true

    Lint/DeprecatedClassMethods:
    Enabled: true

    Style/ParenthesesAroundCondition:
    Enabled: true

    Style/HashTransformKeys:
    Enabled: true

    Style/HashTransformValues:
    Enabled: true

    Style/RedundantBegin:
    Enabled: true

    Style/RedundantReturn:
    Enabled: true
    AllowMultipleReturnValues: true

    Style/RedundantRegexpEscape:
    Enabled: true

    Style/Semicolon:
    Enabled: true
    AllowAsExpressionSeparator: true

    # Prefer Foo.method over Foo::method
    Style/ColonMethodCall:
    Enabled: true

    Style/TrivialAccessors:
    Enabled: true

    Performance/BindCall:
    Enabled: true

    Performance/FlatMap:
    Enabled: true

    Performance/MapCompact:
    Enabled: true

    Performance/SelectMap:
    Enabled: true

    Performance/RedundantMerge:
    Enabled: true

    Performance/StartWith:
    Enabled: true

    Performance/EndWith:
    Enabled: true

    Performance/RegexpMatch:
    Enabled: true

    Performance/ReverseEach:
    Enabled: true

    Performance/StringReplacement:
    Enabled: true

    Performance/UnfreezeString:
    Enabled: true

    Performance/DeletePrefix:
    Enabled: true

    Performance/DeleteSuffix:
    Enabled: true

    Performance/OpenStruct:
    Enabled: true