Class: RuboCop::GitlabSecurity::ExampleGroup

Inherits:
Concept
  • Object
show all
Defined in:
lib/rubocop/gitlab-security/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::GitlabSecurity::Concept

Instance Method Details

#examplesObject



29
30
31
# File 'lib/rubocop/gitlab-security/example_group.rb', line 29

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/gitlab-security/example_group.rb', line 19

def_node_matcher :hook, "  (block {$(send nil \#{Hooks::ALL.node_pattern_union} ...)} ...)\n"

#hooksObject



33
34
35
# File 'lib/rubocop/gitlab-security/example_group.rb', line 33

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/gitlab-security/example_group.rb', line 13

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

#subjectsObject



25
26
27
# File 'lib/rubocop/gitlab-security/example_group.rb', line 25

def subjects
  subjects_in_scope(node)
end