Class: RuboCop::Cop::RSpec::NotToNot
- Inherits:
-
RuboCop::Cop
- Object
- RuboCop::Cop
- RuboCop::Cop::RSpec::NotToNot
- Includes:
- ConfigurableEnforcedStyle
- Defined in:
- lib/rubocop/cop/rspec/not_to_not.rb
Overview
Enforces the usage of the same method on all negative message expectations.
Constant Summary collapse
- MSG =
'Prefer `%s` over `%s`'.freeze
- METHOD_NAMES =
[:not_to, :to_not].freeze
Instance Method Summary collapse
Instance Method Details
#autocorrect(node) ⇒ Object
45 46 47 48 49 50 51 |
# File 'lib/rubocop/cop/rspec/not_to_not.rb', line 45 def autocorrect(node) _receiver, method_name, *_args = *node lambda do |corrector| corrector.replace(node.loc.selector, method_name == :not_to ? 'to_not' : 'not_to') end end |
#message(node) ⇒ Object
35 36 37 38 39 40 41 42 43 |
# File 'lib/rubocop/cop/rspec/not_to_not.rb', line 35 def (node) _receiver, method_name, *_args = *node if method_name == :not_to format(MSG, 'to_not', 'not_to') else format(MSG, 'not_to', 'to_not') end end |
#on_send(node) ⇒ Object
26 27 28 29 30 31 32 33 |
# File 'lib/rubocop/cop/rspec/not_to_not.rb', line 26 def on_send(node) _receiver, method_name, *_args = *node return unless METHOD_NAMES.include?(method_name) return if style == method_name add_offense(node, :expression) end |