File tree Expand file tree Collapse file tree 3 files changed +32
-18
lines changed Expand file tree Collapse file tree 3 files changed +32
-18
lines changed Original file line number Diff line number Diff line change @@ -69,6 +69,10 @@ def rspec_pattern_config
6969 . fetch ( 'RSpec' , DEFAULT_CONFIGURATION )
7070 . fetch ( 'Patterns' )
7171 end
72+
73+ def rspec_language_config ( *keys )
74+ all_cops_config . dig ( 'RSpec' , 'Language' , *keys ) &.map ( &:to_sym ) || [ ]
75+ end
7276 end
7377 end
7478 end
Original file line number Diff line number Diff line change @@ -55,6 +55,25 @@ def node_pattern
5555 attr_reader :selectors
5656 end
5757
58+ # Built in RSpec selectors
59+ module BuiltIn
60+ LANGUAGE = {
61+ 'Hooks' => %i[
62+ prepend_before
63+ before
64+ append_before
65+ around
66+ prepend_after
67+ after
68+ append_after
69+ ]
70+ } . freeze
71+
72+ def self . language_elements_for ( *keys )
73+ LANGUAGE . dig ( *keys ) || [ ]
74+ end
75+ end
76+
5877 module ExampleGroups
5978 GROUPS = SelectorSet . new ( %i[ describe context feature example_group ] )
6079 SKIPPED = SelectorSet . new ( %i[ xdescribe xcontext xfeature ] )
@@ -93,16 +112,6 @@ module Examples
93112 end
94113
95114 module Hooks
96- BUILT_IN_METHOD_NAMES = %i[
97- prepend_before
98- before
99- append_before
100- around
101- prepend_after
102- after
103- append_after
104- ] . freeze
105-
106115 module Scopes
107116 ALL = SelectorSet . new (
108117 %i[
Original file line number Diff line number Diff line change @@ -34,14 +34,7 @@ module NodePattern
3434 end
3535
3636 def hook_selectors
37- custom_method_names = config
38- . for_all_cops
39- . fetch ( 'RSpec' , { } )
40- . fetch ( 'Language' , { } )
41- . fetch ( 'Hooks' , [ ] )
42- . map ( &:to_sym )
43-
44- SelectorSet . new ( Hooks ::BUILT_IN_METHOD_NAMES + custom_method_names )
37+ selectors ( 'Hooks' )
4538 end
4639
4740 def all_selectors
@@ -54,6 +47,14 @@ def all_selectors
5447 Expectations ::ALL +
5548 Runners ::ALL
5649 end
50+
51+ protected
52+
53+ def selectors ( *keys )
54+ SelectorSet . new (
55+ BuiltIn . language_elements_for ( *keys ) + rspec_language_config ( *keys )
56+ )
57+ end
5758 end
5859 end
5960 end
You can’t perform that action at this time.
0 commit comments