Class: RuboCop::Cop::Rails::RefuteMethods
- Inherits:
-
RuboCop::Cop
- Object
- RuboCop::Cop
- RuboCop::Cop::Rails::RefuteMethods
- Includes:
- ConfigurableEnforcedStyle
- Defined in:
- lib/rubocop/cop/rails/refute_methods.rb
Overview
Use ‘assert_not` methods instead of `refute` methods.
Constant Summary collapse
- MSG =
'Prefer `%<good_method>s` over `%<bad_method>s`.'
- CORRECTIONS =
{ refute: :assert_not, refute_empty: :assert_not_empty, refute_equal: :assert_not_equal, refute_in_delta: :assert_not_in_delta, refute_in_epsilon: :assert_not_in_epsilon, refute_includes: :assert_not_includes, refute_instance_of: :assert_not_instance_of, refute_kind_of: :assert_not_kind_of, refute_nil: :assert_not_nil, refute_operator: :assert_not_operator, refute_predicate: :assert_not_predicate, refute_respond_to: :assert_not_respond_to, refute_same: :assert_not_same, refute_match: :assert_no_match }.freeze
- REFUTE_METHODS =
CORRECTIONS.keys.freeze
- ASSERT_NOT_METHODS =
CORRECTIONS.values.freeze
Instance Method Summary collapse
Instance Method Details
#autocorrect(node) ⇒ Object
65 66 67 68 69 70 71 72 |
# File 'lib/rubocop/cop/rails/refute_methods.rb', line 65 def autocorrect(node) bad_method = node.method_name good_method = convert_good_method(bad_method) lambda do |corrector| corrector.replace(node.loc.selector, good_method.to_s) end end |
#on_send(node) ⇒ Object
58 59 60 61 62 63 |
# File 'lib/rubocop/cop/rails/refute_methods.rb', line 58 def on_send(node) return unless offensive?(node) = (node.method_name) add_offense(node, location: :selector, message: ) end |