Reputation: 38772
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
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
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