Class: RuboCop::Cop::Rails::IgnoredSkipActionFilterOption
- Inherits:
-
Base
- Object
- Base
- RuboCop::Cop::Rails::IgnoredSkipActionFilterOption
- Defined in:
- lib/rubocop/cop/rails/ignored_skip_action_filter_option.rb
Overview
Checks that ‘if` and `only` (or `except`) are not used together as options of `skip_*` action filter.
The ‘if` option will be ignored when `if` and `only` are used together. Similarly, the `except` option will be ignored when `if` and `except` are used together.
Constant Summary collapse
- MSG =
<<~MSG.chomp.freeze `%<ignore>s` option will be ignored when `%<prefer>s` and `%<ignore>s` are used together. MSG
- RESTRICT_ON_SEND =
%i[skip_after_action skip_around_action skip_before_action skip_action_callback].freeze
- FILTERS =
RESTRICT_ON_SEND.map { |method_name| ":#{method_name}" }
Instance Method Summary collapse
Instance Method Details
#on_send(node) ⇒ Object
55 56 57 58 59 60 61 62 63 64 65 66 67 |
# File 'lib/rubocop/cop/rails/ignored_skip_action_filter_option.rb', line 55 def on_send(node) = (node) return unless return unless .hash_type? = () if if_and_only?() add_offense([:if], message: format(MSG, prefer: :only, ignore: :if)) elsif if_and_except?() add_offense([:except], message: format(MSG, prefer: :if, ignore: :except)) end end |