rubocop 1.72.0 → 1.72.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 4660ddf63f92b10c83414d6a542725aacda2df1b9f47aec675b075fcdaa58817
4
- data.tar.gz: b7c045964213e406e20675c06ed8df3a7e19bff18cf48b0db9891b8e1ae6cd8a
3
+ metadata.gz: 9909c26bded9ccffc98132b899b68773a19b0e1259d834d2cd147abf2ca8534e
4
+ data.tar.gz: d6e58861b573240488aebcdaab3ec984a8c6fe75fd0da8cb51bfa8be3c4469ba
5
5
  SHA512:
6
- metadata.gz: 0c4982b57b3c2cfbd48d2768eefeb839b6b91a5c9c90a55f4dfc1f1c37b655d73b64d99bbebc642d928ecfb9740c6992ed340ea38f2f1638626aa3d2e2c7a190
7
- data.tar.gz: f4d6cfcfb42615a5a4065c961aac1dd55eb7e6bd28812d0a31aef135be94b9248eab2b53f1a452847b49c206aab7b3eb19b45581203af63d10be9e7cb71e67da
6
+ metadata.gz: 235ed1dea8218bf39fff25ebcb297391ced4a9aeb4c582979711c095958c0aaab44dcead59108f7463f0f0d7da046b4b9f88be0be4016bdc369259ef89c37162
7
+ data.tar.gz: b80078b908cbf8b75b0b9b047e7806521a65ca83cce802b38172d946cc625ffdd9bc255f91b1eba6e22d42670fee6aaa7d1ef2a81653a39ee1b1e869a7d0797b
@@ -163,6 +163,10 @@ module RuboCop
163
163
  end
164
164
  end
165
165
 
166
+ # This API is primarily intended for testing and documenting plugins.
167
+ # When testing a plugin using `rubocop/rspec/support`, the plugin is loaded automatically,
168
+ # so this API is usually not needed. It is intended to be used only when implementing tests
169
+ # that do not use `rubocop/rspec/support`.
166
170
  # rubocop:disable Metrics/MethodLength
167
171
  def inject_defaults!(config_yml_path)
168
172
  if Pathname(config_yml_path).directory?
@@ -161,7 +161,10 @@ module RuboCop
161
161
  }
162
162
  PATTERN
163
163
 
164
+ # rubocop:disable Metrics/AbcSize
164
165
  def on_send(node)
166
+ return if hash_or_set_with_block?(node)
167
+
165
168
  receiver = find_receiver(node)
166
169
  return unless literal_receiver?(node, receiver) ||
167
170
  constructor?(node, receiver) ||
@@ -174,10 +177,17 @@ module RuboCop
174
177
  corrector.remove(node.loc.dot.join(node.loc.selector))
175
178
  end
176
179
  end
180
+ # rubocop:enable Metrics/AbcSize
177
181
  alias on_csend on_send
178
182
 
179
183
  private
180
184
 
185
+ def hash_or_set_with_block?(node)
186
+ return false if !node.method?(:to_h) && !node.method?(:to_set)
187
+
188
+ node.parent&.any_block_type? || node.last_argument&.block_pass_type?
189
+ end
190
+
181
191
  def find_receiver(node)
182
192
  receiver = node.receiver
183
193
  return unless receiver
@@ -217,7 +217,9 @@ module RuboCop
217
217
 
218
218
  def disallowed_literal?(begin_node, node)
219
219
  if node.range_type?
220
- begin_node.parent&.begin_type?
220
+ return false unless (parent = begin_node.parent)
221
+
222
+ parent.begin_type? && parent.children.one?
221
223
  else
222
224
  !raised_to_power_negative_numeric?(begin_node, node)
223
225
  end
@@ -13,21 +13,12 @@ module RuboCop
13
13
 
14
14
  def message
15
15
  <<~MESSAGE
16
- Failed loading plugin `#{@plugin_name}` because we couldn't determine the corresponding plugin class to instantiate.
17
- First, try upgrading it. If the issue persists, please check with the developer regarding the following points.
16
+ Failed to load plugin `#{@plugin_name}` because the corresponding plugin class could not be determined for instantiation.
17
+ Try upgrading it first (e.g., `bundle update #{@plugin_name}`).
18
+ If `#{@plugin_name}` is not yet a plugin, use `require: #{@plugin_name}` instead of `plugins: `#{@plugin_name}` in your configuration.
18
19
 
19
- RuboCop plugin class names must either be:
20
-
21
- - If the plugin is a gem, defined in the gemspec as `default_lint_roller_plugin'
22
-
23
- spec.metadata['default_lint_roller_plugin'] = 'MyModule::Plugin'
24
-
25
- - Set in YAML as `plugin_class_name'; example:
26
-
27
- plugins:
28
- - incomplete:
29
- require_path: my_module/plugin
30
- plugin_class_name: "MyModule::Plugin"
20
+ For further assistance, check with the developer regarding the following points:
21
+ https://docs.rubocop.org/rubocop/plugin_migration_guide.html
31
22
  MESSAGE
32
23
  end
33
24
  end
@@ -13,6 +13,13 @@ module CopHelper
13
13
  let(:parser_engine) { ENV.fetch('PARSER_ENGINE', :parser_whitequark).to_sym }
14
14
  let(:rails_version) { false }
15
15
 
16
+ before(:all) do
17
+ plugins = Gem.loaded_specs.filter_map do |feature_name, feature_specification|
18
+ feature_name if feature_specification.metadata['default_lint_roller_plugin']
19
+ end
20
+ RuboCop::Plugin.integrate_plugins(RuboCop::Config.new, plugins)
21
+ end
22
+
16
23
  def inspect_source(source, file = nil)
17
24
  RuboCop::Formatter::DisabledConfigFormatter.config_to_allow_offenses = {}
18
25
  RuboCop::Formatter::DisabledConfigFormatter.detected_styles = {}
@@ -3,7 +3,7 @@
3
3
  module RuboCop
4
4
  # This module holds the RuboCop version information.
5
5
  module Version
6
- STRING = '1.72.0'
6
+ STRING = '1.72.1'
7
7
 
8
8
  MSG = '%<version>s (using %<parser_version>s, ' \
9
9
  'rubocop-ast %<rubocop_ast_version>s, ' \
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rubocop
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.72.0
4
+ version: 1.72.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Bozhidar Batsov
@@ -9,7 +9,7 @@ authors:
9
9
  - Yuji Nakayama
10
10
  bindir: exe
11
11
  cert_chain: []
12
- date: 2025-02-14 00:00:00.000000000 Z
12
+ date: 2025-02-15 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: json
@@ -1075,7 +1075,7 @@ licenses:
1075
1075
  - MIT
1076
1076
  metadata:
1077
1077
  homepage_uri: https://rubocop.org/
1078
- changelog_uri: https://github.com/rubocop/rubocop/releases/tag/v1.72.0
1078
+ changelog_uri: https://github.com/rubocop/rubocop/releases/tag/v1.72.1
1079
1079
  source_code_uri: https://github.com/rubocop/rubocop/
1080
1080
  documentation_uri: https://docs.rubocop.org/rubocop/1.72/
1081
1081
  bug_tracker_uri: https://github.com/rubocop/rubocop/issues