Class: RuboCop::Cop::RSpec::BeNil
- Extended by:
- AutoCorrector
- Includes:
- ConfigurableEnforcedStyle
- Defined in:
- lib/rubocop/cop/rspec/be_nil.rb
Overview
Ensures a consistent style is used when matching ‘nil`.
You can either use the more specific ‘be_nil` matcher, or the more generic `be` matcher with a `nil` argument.
This cop can be configured using the ‘EnforcedStyle` option
Constant Summary collapse
- BE_MSG =
'Prefer `be(nil)` over `be_nil`.'
- BE_NIL_MSG =
'Prefer `be_nil` over `be(nil)`.'
- RESTRICT_ON_SEND =
%i[be be_nil].freeze
Instance Method Summary collapse
Methods inherited from Base
inherited, #on_new_investigation
Methods included from RSpec::Language
#example?, #example_group?, #example_group_with_body?, #explicit_rspec?, #hook?, #include?, #let?, #rspec?, #shared_group?, #spec_group?, #subject?
Instance Method Details
#be_nil_matcher?(node) ⇒ Object
36 37 38 |
# File 'lib/rubocop/cop/rspec/be_nil.rb', line 36 def_node_matcher :be_nil_matcher?, <<~PATTERN (send nil? :be_nil) PATTERN |
#nil_value_expectation?(node) ⇒ Object
41 42 43 |
# File 'lib/rubocop/cop/rspec/be_nil.rb', line 41 def_node_matcher :nil_value_expectation?, <<~PATTERN (send nil? :be nil) PATTERN |
#on_send(node) ⇒ Object
45 46 47 48 49 50 51 52 |
# File 'lib/rubocop/cop/rspec/be_nil.rb', line 45 def on_send(node) case style when :be check_be_style(node) when :be_nil check_be_nil_style(node) end end |