rubocop 1.22.2 → 1.22.3

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: 55ba084f7d7ade15b0310d7ba6fcaf66b56f06a8123a0e57ddff0defb95316f9
4
- data.tar.gz: 520b506f7d36904c76d3f9fee9075ba7550e203f06fae95c21c0fc5b54ebb00c
3
+ metadata.gz: f74b024d0339618cd4782bd451e3bbe8be65eab0a5f3dbfc1d2137c74848c6fa
4
+ data.tar.gz: ef762c615b2d68f52d5aac425abea13a40d097f1b7885cd1558a991dd23c136d
5
5
  SHA512:
6
- metadata.gz: dde07235d238fc9dd8c0f67c710e06d77a9ce3b5efc24de4eda8b1885ff5540f9c1ad4197d1bb09a74e73e2cf12caaaaa684c07f86fef1350ef9731896d4e04e
7
- data.tar.gz: 68a466978d9621ea6a269bd03ec159844d6cb6b6180085190f781d659048937b3ee9a756ab53399992415fd3128dc0d472d65dcd8f0aab8989ebdcdf369cb04c
6
+ metadata.gz: bfdba4bbc01e69d2a0873272815dc9c03d5e95f2dce5f02186b38f2f9e1e28ae34df246e6b548cdccf0831bace4f02bfad334f59548b2bf67430431b5760731b
7
+ data.tar.gz: 662e06452c13b66a949e7a8035bc6b4b31e7af7a3cf161b9802634365a53a0b2452aeb7741ab13387186483cdf9027dc5cca736734d5d3022f78362bfabf9a5c
data/config/default.yml CHANGED
@@ -1568,6 +1568,7 @@ Lint/DeprecatedConstants:
1568
1568
  Description: 'Checks for deprecated constants.'
1569
1569
  Enabled: pending
1570
1570
  VersionAdded: '1.8'
1571
+ VersionChanged: '1.22'
1571
1572
  # You can configure deprecated constants.
1572
1573
  # If there is an alternative method, you can set alternative value as `Alternative`.
1573
1574
  # And you can set the deprecated version as `DeprecatedVersion`.
@@ -1588,6 +1589,9 @@ Lint/DeprecatedConstants:
1588
1589
  'FALSE':
1589
1590
  Alternative: 'false'
1590
1591
  DeprecatedVersion: '2.4'
1592
+ 'Net::HTTPServerException':
1593
+ Alternative: 'Net::HTTPClientException'
1594
+ DeprecatedVersion: '2.6'
1591
1595
  'Random::DEFAULT':
1592
1596
  Alternative: 'Random.new'
1593
1597
  DeprecatedVersion: '3.0'
@@ -101,11 +101,11 @@ module RuboCop
101
101
  def block_end_align_target(node)
102
102
  lineage = [node, *node.ancestors]
103
103
 
104
- target = lineage.each_cons(2) do |current, parent|
105
- break current if end_align_target?(current, parent)
104
+ lineage.each_cons(2) do |current, parent|
105
+ return current if end_align_target?(current, parent)
106
106
  end
107
107
 
108
- target || lineage.last
108
+ lineage.last
109
109
  end
110
110
 
111
111
  def end_align_target?(node, parent)
@@ -70,7 +70,7 @@ module RuboCop
70
70
  def proper_dot_position?(node)
71
71
  selector_range = selector_range(node)
72
72
 
73
- return true if same_line?(selector_range, selector_range(node.receiver))
73
+ return true if same_line?(selector_range, end_range(node.receiver))
74
74
 
75
75
  selector_line = selector_range.line
76
76
  receiver_line = receiver_end_line(node.receiver)
@@ -119,6 +119,10 @@ module RuboCop
119
119
  (node.str_type? || node.dstr_type?) && node.heredoc?
120
120
  end
121
121
 
122
+ def end_range(node)
123
+ node.source_range.end
124
+ end
125
+
122
126
  def selector_range(node)
123
127
  return node unless node.call_type?
124
128
 
@@ -42,11 +42,12 @@ module RuboCop
42
42
  # Maybe further investigation of RuboCop AST will lead to an essential solution.
43
43
  return unless node.loc
44
44
 
45
- constant = node.absolute? ? constant_name(node, node.short_name.to_s) : node.source
45
+ constant = node.absolute? ? constant_name(node, node.short_name) : node.source
46
46
  return unless (deprecated_constant = deprecated_constants[constant])
47
47
 
48
48
  alternative = deprecated_constant['Alternative']
49
49
  version = deprecated_constant['DeprecatedVersion']
50
+ return if target_ruby_version < version.to_f
50
51
 
51
52
  add_offense(node, message: message(alternative, node.source, version)) do |corrector|
52
53
  corrector.replace(node, alternative)
@@ -56,7 +57,7 @@ module RuboCop
56
57
  private
57
58
 
58
59
  def constant_name(node, nested_constant_name)
59
- return nested_constant_name unless node.namespace.const_type?
60
+ return nested_constant_name.to_s unless node.namespace.const_type?
60
61
 
61
62
  constant_name(node.namespace, "#{node.namespace.short_name}::#{nested_constant_name}")
62
63
  end
@@ -17,7 +17,7 @@ module RuboCop
17
17
  # 1. It contains a double quote
18
18
  # 2. It contains text that would become an escape sequence with double quotes
19
19
  # 3. It contains text that would become an interpolation with double quotes
20
- !/" | (?<!\\)\\[abcefMnrtuUx0-7] | \#[@{$]/x.match?(src)
20
+ !/" | (?<!\\)\\[aAbcdefkMnprsStuUxzZ0-7] | \#[@{$]/x.match?(src)
21
21
  end
22
22
  end
23
23
  end
@@ -85,7 +85,7 @@ module RuboCop
85
85
  return unless (regexp_method_send_node = extract_send_node(block_node))
86
86
  return if match_predicate_without_receiver?(regexp_method_send_node)
87
87
 
88
- regexp = find_regexp(regexp_method_send_node)
88
+ regexp = find_regexp(regexp_method_send_node, block_node)
89
89
  register_offense(node, block_node, regexp)
90
90
  end
91
91
 
@@ -119,10 +119,11 @@ module RuboCop
119
119
  regexp_method_send_node
120
120
  end
121
121
 
122
- def find_regexp(node)
122
+ def find_regexp(node, block)
123
123
  return node.child_nodes.first if node.match_with_lvasgn_type?
124
124
 
125
- if node.receiver.lvar_type?
125
+ if node.receiver.lvar_type? &&
126
+ (block.numblock_type? || node.receiver.source == block.arguments.first.source)
126
127
  node.first_argument
127
128
  elsif node.first_argument.lvar_type?
128
129
  node.receiver
@@ -3,7 +3,7 @@
3
3
  module RuboCop
4
4
  # This module holds the RuboCop version information.
5
5
  module Version
6
- STRING = '1.22.2'
6
+ STRING = '1.22.3'
7
7
 
8
8
  MSG = '%<version>s (using Parser %<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.22.2
4
+ version: 1.22.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Bozhidar Batsov
@@ -10,7 +10,7 @@ authors:
10
10
  autorequire:
11
11
  bindir: exe
12
12
  cert_chain: []
13
- date: 2021-10-22 00:00:00.000000000 Z
13
+ date: 2021-10-27 00:00:00.000000000 Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: parallel