Class: RuboCop::Cop::RSpec::LetBeforeExamples
- Extended by:
- AutoCorrector
- Defined in:
- lib/rubocop/cop/rspec/let_before_examples.rb
Overview
Checks for ‘let` definitions that come after an example.
Constant Summary collapse
- MSG =
'Move `let` before the examples in the group.'
Instance Method Summary collapse
- #example_or_group?(node) ⇒ Object
- #include_examples?(node) ⇒ Object
-
#on_block(node) ⇒ Object
rubocop:disable InternalAffairs/NumblockHandler.
Methods inherited from Base
inherited, #on_new_investigation
Methods included from RSpec::Language::NodePattern
#block_pattern, #numblock_pattern, #send_pattern
Methods included from RSpec::Language
#example?, #example_group?, #example_group_with_body?, #hook?, #include?, #let?, #rspec?, #shared_group?, #spec_group?, #subject?
Instance Method Details
#example_or_group?(node) ⇒ Object
39 40 41 42 43 44 |
# File 'lib/rubocop/cop/rspec/let_before_examples.rb', line 39 def_node_matcher :example_or_group?, <<-PATTERN { #{block_pattern('{#ExampleGroups.all #Examples.all}')} #{send_pattern('#Includes.examples')} } PATTERN |
#include_examples?(node) ⇒ Object
47 48 49 50 51 52 |
# File 'lib/rubocop/cop/rspec/let_before_examples.rb', line 47 def_node_matcher :include_examples?, <<~PATTERN { #{block_pattern(':include_examples')} #{send_pattern(':include_examples')} } PATTERN |
#on_block(node) ⇒ Object
rubocop:disable InternalAffairs/NumblockHandler
54 55 56 57 58 |
# File 'lib/rubocop/cop/rspec/let_before_examples.rb', line 54 def on_block(node) # rubocop:disable InternalAffairs/NumblockHandler return unless example_group_with_body?(node) check_let_declarations(node.body) if multiline_block?(node.body) end |