@@ -78,9 +78,8 @@ class DescribedClass < Base
78
78
PATTERN
79
79
80
80
# @!method contains_described_class?(node)
81
- def_node_search :contains_described_class? , <<-PATTERN
82
- (send nil? :described_class)
83
- PATTERN
81
+ def_node_search :contains_described_class? ,
82
+ '(send nil? :described_class)'
84
83
85
84
def on_block ( node )
86
85
# In case the explicit style is used, we need to remember what's
@@ -129,17 +128,13 @@ def message(offense)
129
128
end
130
129
131
130
def scope_change? ( node )
132
- scope_changing_syntax? ( node ) ||
131
+ scope_changing_syntax? ( node ) ||
133
132
common_instance_exec_closure? ( node ) ||
134
133
skippable_block? ( node )
135
134
end
136
135
137
136
def skippable_block? ( node )
138
- node . block_type? && !rspec_block? ( node ) && skip_blocks?
139
- end
140
-
141
- def skip_blocks?
142
- cop_config [ 'SkipBlocks' ]
137
+ node . block_type? && !rspec_block? ( node ) && cop_config [ 'SkipBlocks' ]
143
138
end
144
139
145
140
def offensive? ( node )
@@ -152,6 +147,7 @@ def offensive?(node)
152
147
153
148
def offensive_described_class? ( node )
154
149
return unless node . const_type?
150
+
155
151
# E.g. `described_class::CONSTANT`
156
152
return if contains_described_class? ( node )
157
153
@@ -172,14 +168,13 @@ def full_const_name(node)
172
168
# @return [Array<Symbol>]
173
169
# @example
174
170
# # nil represents base constant
175
- # collapse_namespace([], :C) # => [:C]
176
- # collapse_namespace([:A, :B], [:C) # => [:A, :B, :C]
177
- # collapse_namespace([:A, :B], [:B, :C) # => [:A, :B, :C]
178
- # collapse_namespace([:A, :B], [nil, :C) # => [nil, :C]
179
- # collapse_namespace([:A, :B], [nil, :B, :C) # => [nil, :B, :C]
171
+ # collapse_namespace([], [:C]) # => [:C]
172
+ # collapse_namespace([:A, :B], [:C] ) # => [:A, :B, :C]
173
+ # collapse_namespace([:A, :B], [:B, :C] ) # => [:A, :B, :C]
174
+ # collapse_namespace([:A, :B], [nil, :C] ) # => [nil, :C]
175
+ # collapse_namespace([:A, :B], [nil, :B, :C] ) # => [nil, :B, :C]
180
176
def collapse_namespace ( namespace , const )
181
- return const if namespace . empty?
182
- return const if const . first . nil?
177
+ return const if namespace . empty? || const . first . nil?
183
178
184
179
start = [ 0 , ( namespace . length - const . length ) ] . max
185
180
max = namespace . length
@@ -196,9 +191,7 @@ def collapse_namespace(namespace, const)
196
191
# const_name(s(:const, s(:const, nil, :M), :C)) # => [:M, :C]
197
192
# const_name(s(:const, s(:cbase), :C)) # => [nil, :C]
198
193
def const_name ( node )
199
- # rubocop:disable InternalAffairs/NodeDestructuring
200
- namespace , name = *node
201
- # rubocop:enable InternalAffairs/NodeDestructuring
194
+ namespace , name = *node # rubocop:disable InternalAffairs/NodeDestructuring
202
195
if !namespace
203
196
[ name ]
204
197
elsif namespace . const_type?
0 commit comments