rubocop-ast 1.34.0 → 1.34.1

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 6aeec8c30cc0c6867ba22dcc54d1f6fbbf400465930563d3e777cadef39bd7a9
4
- data.tar.gz: 84512971edea6c49a505879088031a866d52dfd4450005a8864240523d8205af
3
+ metadata.gz: e18e1861fce6c7270825ae9878eb90e0e7fff0ade7e152dbb1930420ea443f6e
4
+ data.tar.gz: d5c24a9c7ff60efed99bd0f30d0debdb828b6ab7833dfc267d9743a9fd110a38
5
5
  SHA512:
6
- metadata.gz: 7a0f34ce3cdcb2161ba584a24766f8d180b62643a41e9efd3711b248abe579860315950516013b5e579294776832b3e174299da5a0305eeb0baaeab234d61ef5
7
- data.tar.gz: 9c4664492b5fd8184633ff13f91b9ab8ffb2b90f31176a15c7455979e38484442243367074a3ada5393f59ff132652a57ffdefe91dc8dd0633c02c5e8dcb6c52
6
+ metadata.gz: ee36477fed091f324d3259d528e0dbbec67267364cbd201e551d04f62d982058def295a487d27a549f02729327097bf0d6241d22642c20c8f199aa3ce3eb0541
7
+ data.tar.gz: 2961fdad4fb442fc09eb7ec0ad234331ddff49e28851444d8befc18b2e7c4e8aa41f9c534461445aed856a6eebf16aa692d6f7d2c2d498fee27b48e1fbe9e121
@@ -16,7 +16,7 @@ module RuboCop
16
16
  #
17
17
  # @return [Symbol] the name of the variable being assigned
18
18
  def name
19
- assignment_node.name
19
+ assignment_node.call_type? ? assignment_node.method_name : assignment_node.name
20
20
  end
21
21
 
22
22
  # The operator being used for assignment as a symbol.
@@ -88,6 +88,34 @@ module RuboCop
88
88
  EMPTY_PROPERTIES = {}.freeze
89
89
  private_constant :EMPTY_CHILDREN, :EMPTY_PROPERTIES
90
90
 
91
+ # @api private
92
+ GROUP_FOR_TYPE = {
93
+ arg: :argument,
94
+ optarg: :argument,
95
+ restarg: :argument,
96
+ kwarg: :argument,
97
+ kwoptarg: :argument,
98
+ kwrestarg: :argument,
99
+ blockarg: :argument,
100
+ forward_arg: :argument,
101
+ shardowarg: :argument,
102
+
103
+ true: :boolean,
104
+ false: :boolean,
105
+
106
+ int: :numeric,
107
+ float: :numeric,
108
+ rational: :numeric,
109
+ complex: :numeric,
110
+
111
+ irange: :range,
112
+ erange: :range,
113
+
114
+ send: :call,
115
+ csend: :call
116
+ }.freeze
117
+ private_constant :GROUP_FOR_TYPE
118
+
91
119
  # Define a +recursive_?+ predicate method for the given node kind.
92
120
  private_class_method def self.def_recursive_literal_predicate(kind) # rubocop:disable Metrics/MethodLength
93
121
  recursive_kind = "recursive_#{kind}?"
@@ -126,6 +154,16 @@ module RuboCop
126
154
  end
127
155
  end
128
156
 
157
+ # Determine if the node is one of several node types in a single query
158
+ # Allows specific single node types, as well as "grouped" types
159
+ # (e.g. `:boolean` for `:true` or `:false`)
160
+ def type?(*types)
161
+ return true if types.include?(type)
162
+
163
+ group_type = GROUP_FOR_TYPE[type]
164
+ !group_type.nil? && types.include?(group_type)
165
+ end
166
+
129
167
  (Parser::Meta::NODE_TYPES - [:send]).each do |node_type|
130
168
  method_name = "#{node_type.to_s.gsub(/\W/, '')}_type?"
131
169
  class_eval <<~RUBY, __FILE__, __LINE__ + 1
@@ -312,13 +350,12 @@ module RuboCop
312
350
  def_node_matcher :str_content, '(str $_)'
313
351
 
314
352
  def const_name
315
- return unless const_type?
353
+ return unless const_type? || casgn_type?
316
354
 
317
- namespace, name = *self
318
355
  if namespace && !namespace.cbase_type?
319
- "#{namespace.const_name}::#{name}"
356
+ "#{namespace.const_name}::#{short_name}"
320
357
  else
321
- name.to_s
358
+ short_name.to_s
322
359
  end
323
360
  end
324
361
 
@@ -464,7 +501,7 @@ module RuboCop
464
501
  end
465
502
 
466
503
  def call_type?
467
- send_type? || csend_type?
504
+ GROUP_FOR_TYPE[type] == :call
468
505
  end
469
506
 
470
507
  def chained?
@@ -476,19 +513,19 @@ module RuboCop
476
513
  end
477
514
 
478
515
  def argument_type?
479
- ARGUMENT_TYPES.include?(type)
516
+ GROUP_FOR_TYPE[type] == :argument
480
517
  end
481
518
 
482
519
  def boolean_type?
483
- true_type? || false_type?
520
+ GROUP_FOR_TYPE[type] == :boolean
484
521
  end
485
522
 
486
523
  def numeric_type?
487
- int_type? || float_type? || rational_type? || complex_type?
524
+ GROUP_FOR_TYPE[type] == :numeric
488
525
  end
489
526
 
490
527
  def range_type?
491
- irange_type? || erange_type?
528
+ GROUP_FOR_TYPE[type] == :range
492
529
  end
493
530
 
494
531
  def guard_clause?
@@ -3,7 +3,7 @@
3
3
  module RuboCop
4
4
  module AST
5
5
  module Version
6
- STRING = '1.34.0'
6
+ STRING = '1.34.1'
7
7
  end
8
8
  end
9
9
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rubocop-ast
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.34.0
4
+ version: 1.34.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Bozhidar Batsov
@@ -10,7 +10,7 @@ authors:
10
10
  autorequire:
11
11
  bindir: bin
12
12
  cert_chain: []
13
- date: 2024-11-04 00:00:00.000000000 Z
13
+ date: 2024-11-07 00:00:00.000000000 Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: parser