fguillen
fguillen

Reputation: 38772

Rubocop, how to Disable/Enable cops on blocks of code

I will like to disable a cop for a specific block or method.

I know it is possible to disable a cop for the whole project using .rubocop.yml, but I just want to deactivate the cop temporarily for a specific portion of the code.

Upvotes: 51

Views: 35115

Answers (2)

fguillen
fguillen

Reputation: 38772

I answer my question because it is always very difficult for me to find the reference to this solution:

# rubocop:disable Metrics/MethodLength
def my_code
  ..
end
# rubocop:enable Metrics/MethodLength

Same for multiple cops:

# rubocop:disable Metrics/AbcSize, Metrics/MethodLength
def my_code
  ..
end
# rubocop:enable Metrics/AbcSize, Metrics/MethodLength

Documentation: https://docs.rubocop.org/rubocop/configuration.html#disabling-cops-within-source-code

Upvotes: 70

Pramod Itagi
Pramod Itagi

Reputation: 380

If you want to disable the cop for a particular line, you can just use something like this

 before_action :authenticate_user!, except: [:index, :show] # rubocop:disable Style/SymbolArray

No need to enable it again. If there is a block of code and you want to enable or disable the cop, then as suggested above, you can follow that approach.

Upvotes: 21

Related Questions