File tree Expand file tree Collapse file tree 3 files changed +31
-18
lines changed Expand file tree Collapse file tree 3 files changed +31
-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 @@ -53,6 +53,24 @@ def node_pattern
5353 attr_reader :selectors
5454 end
5555
56+ module BuiltIn
57+ LANGUAGE = {
58+ 'Hooks' => %i[
59+ prepend_before
60+ before
61+ append_before
62+ around
63+ prepend_after
64+ after
65+ append_after
66+ ]
67+ } . freeze
68+
69+ def self . language_elements_for ( *keys )
70+ LANGUAGE . dig ( *keys ) || [ ]
71+ end
72+ end
73+
5674 module ExampleGroups
5775 GROUPS = SelectorSet . new ( %i[ describe context feature example_group ] )
5876 SKIPPED = SelectorSet . new ( %i[ xdescribe xcontext xfeature ] )
@@ -91,16 +109,6 @@ module Examples
91109 end
92110
93111 module Hooks
94- BUILT_IN_METHOD_NAMES = %i[
95- prepend_before
96- before
97- append_before
98- around
99- prepend_after
100- after
101- append_after
102- ] . freeze
103-
104112 module Scopes
105113 ALL = SelectorSet . new (
106114 %i[
Original file line number Diff line number Diff line change @@ -29,14 +29,7 @@ module NodePattern
2929 end
3030
3131 def hook_selectors
32- custom_method_names = config
33- . for_all_cops
34- . fetch ( 'RSpec' , { } )
35- . fetch ( 'Language' , { } )
36- . fetch ( 'Hooks' , [ ] )
37- . map ( &:to_sym )
38-
39- SelectorSet . new ( Hooks ::BUILT_IN_METHOD_NAMES + custom_method_names )
32+ selectors ( 'Hooks' )
4033 end
4134
4235 def all_selectors
@@ -49,6 +42,14 @@ def all_selectors
4942 Expectations ::ALL +
5043 Runners ::ALL
5144 end
45+
46+ protected
47+
48+ def selectors ( *keys )
49+ SelectorSet . new (
50+ BuiltIn . language_elements_for ( *keys ) + rspec_language_config ( *keys )
51+ )
52+ end
5253 end
5354 end
5455 end
You can’t perform that action at this time.
0 commit comments