Class: RuboCop::RSpec::ExampleGroup

Inherits:
Concept
  • Object
show all
Defined in:
lib/rubocop/rspec/example_group.rb

Overview

Wrapper for RSpec example groups

Constant Summary

Constants included from Language

Language::ALL

Instance Method Summary collapse

Methods inherited from Concept

#eql?, #hash, #initialize, #to_node

Constructor Details

This class inherits a constructor from RuboCop::RSpec::Concept

Instance Method Details

#examplesObject



23
24
25
# File 'lib/rubocop/rspec/example_group.rb', line 23

def examples
  examples_in_scope(node).map(&Example.public_method(:new))
end

#hook(node) ⇒ Object

Detect if node is ‘before`, `after`, `around`



19
20
21
# File 'lib/rubocop/rspec/example_group.rb', line 19

def_node_matcher :hook, <<-PATTERN
  (block {$(send nil #{Hooks::ALL.node_pattern_union} ...)} ...)
PATTERN

#hooksObject



27
28
29
# File 'lib/rubocop/rspec/example_group.rb', line 27

def hooks
  hooks_in_scope(node).map(&Hook.public_method(:new))
end

#scope_change?(node) ⇒ Object

Detect if the node is an example group or shared example

Selectors which indicate that we should stop searching



13
14
# File 'lib/rubocop/rspec/example_group.rb', line 13

def_node_matcher :scope_change?,
(ExampleGroups::ALL + SharedGroups::ALL).block_pattern