Class: CustomCops::RefuteNot
- Inherits:
-
RuboCop::Cop::Cop
- Object
- RuboCop::Cop::Cop
- CustomCops::RefuteNot
- Defined in:
- lib/custom_cops/refute_not.rb
Overview
Enforces the use of ‘#assert_not` methods over `#refute` methods.
Constant Summary collapse
- MSG =
"Prefer `%<assert_method>s` over `%<refute_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
- OFFENSIVE_METHODS =
CORRECTIONS.keys.freeze
Instance Method Summary collapse
Instance Method Details
#autocorrect(node) ⇒ Object
48 49 50 51 52 53 54 55 |
# File 'lib/custom_cops/refute_not.rb', line 48 def autocorrect(node) ->(corrector) do corrector.replace( node.loc.selector, CORRECTIONS[node.method_name] ) end end |
#on_send(node) ⇒ Object
41 42 43 44 45 46 |
# File 'lib/custom_cops/refute_not.rb', line 41 def on_send(node) return unless offensive?(node) = (node.method_name) add_offense(node, location: :selector, message: ) end |