Class: RuboCop::Cop::RSpec::Be
- Defined in:
- lib/rubocop/cop/rspec/be.rb
Overview
Check for expectations where be is used without argument.
The be matcher is too generic, as it pass on everything that is not nil or false. If that is the exact intend, use be_truthy. In all other cases it’s better to specify what exactly is the expected value.
Constant Summary collapse
- MSG =
"Don't use `be` without an argument."- RESTRICT_ON_SEND =
Runners.all
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_without_args(node) ⇒ Object
27 28 29 |
# File 'lib/rubocop/cop/rspec/be.rb', line 27 def_node_matcher :be_without_args, "(send _ #Runners.all $(send nil? :be))\n" |
#on_send(node) ⇒ Object
31 32 33 34 35 |
# File 'lib/rubocop/cop/rspec/be.rb', line 31 def on_send(node) be_without_args(node) do |matcher| add_offense(matcher.loc.selector) end end |