runger_style 4.3.0 → 4.4.0
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 +4 -4
- data/CHANGELOG.md +4 -0
- data/Gemfile +1 -0
- data/Gemfile.lock +37 -15
- data/lib/runger_style/cops/multiline_method_arguments_line_breaks.rb +30 -18
- data/lib/runger_style/version.rb +1 -1
- data/rulesets/default.yml +2 -0
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 7d93a58f1dc8dee8c45abc512c7b8cd6a76d2172b082c37ad0ac52436d53fa67
|
4
|
+
data.tar.gz: 154aed25e45f7d058343a082417d9085f54ac7600c6aa5b5ee310a306e4d6a02
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: de62008658319ebd6394e456a008bdf7f5499dec8014cac640de4dca6d242a215d66e64a74136084a2943fd5b66b11c5fb78c86c175658f14429867647c891df
|
7
|
+
data.tar.gz: cbfe82fdf632ef416680f39aa92fc2330c3b9a2f795c21bf47c1b6b7efb082364be5887b6d51513287533eff0fcc57123b9906ae16dae734002be8d6d2883e0c
|
data/CHANGELOG.md
CHANGED
data/Gemfile
CHANGED
data/Gemfile.lock
CHANGED
@@ -1,7 +1,15 @@
|
|
1
|
+
GIT
|
2
|
+
remote: https://github.com/davidrunger/pry-byebug.git
|
3
|
+
revision: 3ac27ef70a1b16a461db9f7572d3fe1a205effd4
|
4
|
+
specs:
|
5
|
+
pry-byebug (3.10.1)
|
6
|
+
pry (>= 0.13)
|
7
|
+
runger_byebug (>= 11.0)
|
8
|
+
|
1
9
|
PATH
|
2
10
|
remote: .
|
3
11
|
specs:
|
4
|
-
runger_style (4.
|
12
|
+
runger_style (4.4.0)
|
5
13
|
prism (>= 0.24.0)
|
6
14
|
rubocop (>= 1.68.0)
|
7
15
|
|
@@ -25,6 +33,7 @@ GEM
|
|
25
33
|
base64 (0.2.0)
|
26
34
|
benchmark (0.4.0)
|
27
35
|
bigdecimal (3.1.9)
|
36
|
+
coderay (1.1.3)
|
28
37
|
concurrent-ruby (1.3.5)
|
29
38
|
connection_pool (2.5.0)
|
30
39
|
date (3.4.1)
|
@@ -41,23 +50,27 @@ GEM
|
|
41
50
|
language_server-protocol (3.17.0.4)
|
42
51
|
logger (1.6.5)
|
43
52
|
memo_wise (1.10.0)
|
53
|
+
method_source (1.1.0)
|
44
54
|
minitest (5.25.4)
|
45
55
|
parallel (1.26.3)
|
46
|
-
parser (3.3.7.
|
56
|
+
parser (3.3.7.1)
|
47
57
|
ast (~> 2.4.1)
|
48
58
|
racc
|
49
59
|
pp (0.6.2)
|
50
60
|
prettyprint
|
51
61
|
prettyprint (0.2.0)
|
52
62
|
prism (1.3.0)
|
63
|
+
pry (0.15.2)
|
64
|
+
coderay (~> 1.1)
|
65
|
+
method_source (~> 1.0)
|
53
66
|
psych (5.2.3)
|
54
67
|
date
|
55
68
|
stringio
|
56
69
|
racc (1.8.1)
|
57
|
-
rack (3.1.
|
70
|
+
rack (3.1.9)
|
58
71
|
rainbow (3.1.1)
|
59
72
|
rake (13.2.1)
|
60
|
-
rdoc (6.
|
73
|
+
rdoc (6.12.0)
|
61
74
|
psych (>= 4.0.0)
|
62
75
|
regexp_parser (2.10.0)
|
63
76
|
reline (0.6.0)
|
@@ -66,7 +79,7 @@ GEM
|
|
66
79
|
rspec-core (~> 3.13.0)
|
67
80
|
rspec-expectations (~> 3.13.0)
|
68
81
|
rspec-mocks (~> 3.13.0)
|
69
|
-
rspec-core (3.13.
|
82
|
+
rspec-core (3.13.3)
|
70
83
|
rspec-support (~> 3.13.0)
|
71
84
|
rspec-expectations (3.13.3)
|
72
85
|
diff-lcs (>= 1.2.0, < 2.0)
|
@@ -75,14 +88,14 @@ GEM
|
|
75
88
|
diff-lcs (>= 1.2.0, < 2.0)
|
76
89
|
rspec-support (~> 3.13.0)
|
77
90
|
rspec-support (3.13.2)
|
78
|
-
rubocop (1.71.
|
91
|
+
rubocop (1.71.2)
|
79
92
|
json (~> 2.3)
|
80
93
|
language_server-protocol (>= 3.17.0)
|
81
94
|
parallel (~> 1.10)
|
82
95
|
parser (>= 3.3.0.2)
|
83
96
|
rainbow (>= 2.2.2, < 4.0)
|
84
97
|
regexp_parser (>= 2.9.3, < 3.0)
|
85
|
-
rubocop-ast (>= 1.
|
98
|
+
rubocop-ast (>= 1.38.0, < 2.0)
|
86
99
|
ruby-progressbar (~> 1.7)
|
87
100
|
unicode-display_width (>= 2.4.0, < 4.0)
|
88
101
|
rubocop-ast (1.38.0)
|
@@ -107,7 +120,10 @@ GEM
|
|
107
120
|
rubocop (~> 1.61)
|
108
121
|
rubocop-rspec (~> 3, >= 3.0.1)
|
109
122
|
ruby-progressbar (1.13.0)
|
110
|
-
|
123
|
+
runger_byebug (11.4.0)
|
124
|
+
irb
|
125
|
+
reline
|
126
|
+
runger_release_assistant (2.0.0)
|
111
127
|
activesupport (>= 6)
|
112
128
|
memo_wise (>= 1.7)
|
113
129
|
rainbow (>= 3.0)
|
@@ -128,6 +144,7 @@ PLATFORMS
|
|
128
144
|
DEPENDENCIES
|
129
145
|
bundler
|
130
146
|
irb
|
147
|
+
pry-byebug!
|
131
148
|
rake
|
132
149
|
rspec
|
133
150
|
rubocop
|
@@ -147,6 +164,7 @@ CHECKSUMS
|
|
147
164
|
base64 (0.2.0) sha256=0f25e9b21a02a0cc0cea8ef92b2041035d39350946e8789c562b2d1a3da01507
|
148
165
|
benchmark (0.4.0) sha256=0f12f8c495545e3710c3e4f0480f63f06b4c842cc94cec7f33a956f5180e874a
|
149
166
|
bigdecimal (3.1.9) sha256=2ffc742031521ad69c2dfc815a98e426a230a3d22aeac1995826a75dabfad8cc
|
167
|
+
coderay (1.1.3) sha256=dc530018a4684512f8f38143cd2a096c9f02a1fc2459edcfe534787a7fc77d4b
|
150
168
|
concurrent-ruby (1.3.5) sha256=813b3e37aca6df2a21a3b9f1d497f8cbab24a2b94cab325bffe65ee0f6cbebc6
|
151
169
|
connection_pool (2.5.0) sha256=233b92f8d38e038c1349ccea65dd3772727d669d6d2e71f9897c8bf5cd53ebfc
|
152
170
|
date (3.4.1) sha256=bf268e14ef7158009bfeaec40b5fa3c7271906e88b196d958a89d4b408abe64f
|
@@ -159,26 +177,29 @@ CHECKSUMS
|
|
159
177
|
language_server-protocol (3.17.0.4) sha256=c484626478664fd13482d8180947c50a8590484b1258b99b7aedb3b69df89669
|
160
178
|
logger (1.6.5) sha256=c3cfe56d01656490ddd103d38b8993d73d86296adebc5f58cefc9ec03741e56b
|
161
179
|
memo_wise (1.10.0) sha256=ae40ff8e7799697ff5d59d739b8766f76be22eba69c7c8468edb42ab83c94c3f
|
180
|
+
method_source (1.1.0) sha256=181301c9c45b731b4769bc81e8860e72f9161ad7d66dd99103c9ab84f560f5c5
|
162
181
|
minitest (5.25.4) sha256=9cf2cae25ac4dfc90c988ebc3b917f53c054978b673273da1bd20bcb0778f947
|
163
182
|
parallel (1.26.3) sha256=d86babb7a2b814be9f4b81587bf0b6ce2da7d45969fab24d8ae4bf2bb4d4c7ef
|
164
|
-
parser (3.3.7.
|
183
|
+
parser (3.3.7.1) sha256=7dbe61618025519024ac72402a6677ead02099587a5538e84371b76659e6aca1
|
165
184
|
pp (0.6.2) sha256=947ec3120c6f92195f8ee8aa25a7b2c5297bb106d83b41baa02983686577b6ff
|
166
185
|
prettyprint (0.2.0) sha256=2bc9e15581a94742064a3cc8b0fb9d45aae3d03a1baa6ef80922627a0766f193
|
167
186
|
prism (1.3.0) sha256=b11620829831b1cb7e6c9b46c81ff8a6e36ccb3f888f164485eb7351f386273a
|
187
|
+
pry (0.15.2) sha256=12d54b8640d3fa29c9211dd4ffb08f3fd8bf7a4fd9b5a73ce5b59c8709385b6b
|
188
|
+
pry-byebug (3.10.1)
|
168
189
|
psych (5.2.3) sha256=84a54bb952d14604fea22d99938348814678782f58b12648fcdfa4d2fce859ee
|
169
190
|
racc (1.8.1) sha256=4a7f6929691dbec8b5209a0b373bc2614882b55fc5d2e447a21aaa691303d62f
|
170
|
-
rack (3.1.
|
191
|
+
rack (3.1.9) sha256=3d0a390444dcc753ced32978159463f92ac920ae28d7058b6fd633abb9dd349d
|
171
192
|
rainbow (3.1.1) sha256=039491aa3a89f42efa1d6dec2fc4e62ede96eb6acd95e52f1ad581182b79bc6a
|
172
193
|
rake (13.2.1) sha256=46cb38dae65d7d74b6020a4ac9d48afed8eb8149c040eccf0523bec91907059d
|
173
|
-
rdoc (6.
|
194
|
+
rdoc (6.12.0) sha256=7d6f706e070bffa5d18a448f24076cbfb34923a99c1eab842aa18e6ca69f56e0
|
174
195
|
regexp_parser (2.10.0) sha256=cb6f0ddde88772cd64bff1dbbf68df66d376043fe2e66a9ef77fcb1b0c548c61
|
175
196
|
reline (0.6.0) sha256=57620375dcbe56ec09bac7192bfb7460c716bbf0054dc94345ecaa5438e539d2
|
176
197
|
rspec (3.13.0) sha256=d490914ac1d5a5a64a0e1400c1d54ddd2a501324d703b8cfe83f458337bab993
|
177
|
-
rspec-core (3.13.
|
198
|
+
rspec-core (3.13.3) sha256=25136507f4f9cf2e8977a2851e64e438b4331646054e345998714108745cdfe4
|
178
199
|
rspec-expectations (3.13.3) sha256=0e6b5af59b900147698ea0ff80456c4f2e69cac4394fbd392fbd1ca561f66c58
|
179
200
|
rspec-mocks (3.13.2) sha256=2327335def0e1665325a9b617e3af9ae20272741d80ac550336309a7c59abdef
|
180
201
|
rspec-support (3.13.2) sha256=cea3a2463fd9b84b9dcc9685efd80ea701aa8f7b3decb3b3ce795ed67737dbec
|
181
|
-
rubocop (1.71.
|
202
|
+
rubocop (1.71.2) sha256=9a7b7501aac661a338ed7ff2a5eba78e581759e1f0d3c82362b2ca217ed3f97f
|
182
203
|
rubocop-ast (1.38.0) sha256=4fdf6792fe443a9a18acb12dbc8225d0d64cd1654e41fedb30e79c18edbb26ae
|
183
204
|
rubocop-capybara (2.21.0) sha256=5d264efdd8b6c7081a3d4889decf1451a1cfaaec204d81534e236bc825b280ab
|
184
205
|
rubocop-factory_bot (2.26.1) sha256=8de13cd4edcee5ca800f255188167ecef8dbfc3d1fae9f15734e9d2e755392aa
|
@@ -188,8 +209,9 @@ CHECKSUMS
|
|
188
209
|
rubocop-rspec (3.4.0) sha256=8721c13b6a8c9530a7ac481cea9423022f946fcf72428bda8289f8b57e4d4885
|
189
210
|
rubocop-rspec_rails (2.30.0) sha256=888112e83f9d7ef7ad2397e9d69a0b9614a4bae24f072c399804a180f80c4c46
|
190
211
|
ruby-progressbar (1.13.0) sha256=80fc9c47a9b640d6834e0dc7b3c94c9df37f08cb072b7761e4a71e22cff29b33
|
191
|
-
|
192
|
-
|
212
|
+
runger_byebug (11.4.0) sha256=569e22ba2215f57e7f69e145fcb63be401e29fcd312f7936d813e12d0c7bbee6
|
213
|
+
runger_release_assistant (2.0.0) sha256=f4f5708291eaeef1b881208f87a494877fe768739d6e96b7293fc335b28a3865
|
214
|
+
runger_style (4.4.0)
|
193
215
|
securerandom (0.4.1) sha256=cc5193d414a4341b6e225f0cb4446aceca8e50d5e1888743fac16987638ea0b1
|
194
216
|
slop (4.10.1) sha256=844322b5ffcf17ed4815fdb173b04a20dd82b4fd93e3744c88c8fafea696d9c7
|
195
217
|
stringio (3.1.2) sha256=204f1828f85cdb39d57cac4abc6dc44b04505a223f131587f2e20ae3729ba131
|
@@ -7,28 +7,42 @@ module RungerStyle # rubocop:disable Style/ClassAndModuleChildren
|
|
7
7
|
|
8
8
|
MSG = 'Each argument in a multi-line method call must start on a separate line.'
|
9
9
|
|
10
|
+
# rubocop:disable Metrics/PerceivedComplexity
|
11
|
+
# rubocop:disable Metrics/CyclomaticComplexity
|
10
12
|
def on_send(node)
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
13
|
+
if node.arguments? && multiline_method_call?(node)
|
14
|
+
# When a method call uses keyword arguments without braces,
|
15
|
+
# the parser produces a single hash node. In that case, inspect its pairs.
|
16
|
+
arguments =
|
17
|
+
if node.arguments.one? &&
|
18
|
+
node.arguments.first.hash_type? &&
|
19
|
+
!node.arguments.first.braces?
|
20
|
+
node.arguments.first.pairs
|
21
|
+
else
|
22
|
+
node.arguments
|
23
|
+
end
|
24
|
+
|
25
|
+
arguments.each_cons(2) do |arg1, arg2|
|
26
|
+
if same_line?(arg1, arg2)
|
27
|
+
separator = separator_range(arg1, arg2)
|
28
|
+
|
29
|
+
add_offense(separator, message: MSG) do |corrector|
|
30
|
+
base_indent = base_indentation(arg1)
|
31
|
+
replacement = ",\n#{base_indent}"
|
32
|
+
corrector.replace(separator, replacement)
|
33
|
+
end
|
34
|
+
end
|
24
35
|
end
|
25
36
|
end
|
26
37
|
end
|
38
|
+
# rubocop:enable Metrics/CyclomaticComplexity
|
39
|
+
# rubocop:enable Metrics/PerceivedComplexity
|
27
40
|
|
28
41
|
private
|
29
42
|
|
30
|
-
def
|
31
|
-
|
43
|
+
def multiline_method_call?(node)
|
44
|
+
# Compare the line of the method name (selector) to the end line of the last argument.
|
45
|
+
node.loc.selector.line != node.arguments.last.loc.last_line
|
32
46
|
end
|
33
47
|
|
34
48
|
def same_line?(arg1, arg2)
|
@@ -40,9 +54,7 @@ module RungerStyle # rubocop:disable Style/ClassAndModuleChildren
|
|
40
54
|
end
|
41
55
|
|
42
56
|
def separator_range(arg1, arg2)
|
43
|
-
end_pos
|
44
|
-
begin_pos = arg2.source_range.begin.begin_pos
|
45
|
-
range_between(end_pos, begin_pos)
|
57
|
+
range_between(arg1.source_range.end_pos, arg2.source_range.begin_pos)
|
46
58
|
end
|
47
59
|
end
|
48
60
|
end
|
data/lib/runger_style/version.rb
CHANGED
data/rulesets/default.yml
CHANGED
metadata
CHANGED
@@ -1,13 +1,13 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: runger_style
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 4.
|
4
|
+
version: 4.4.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- David Runger
|
8
8
|
bindir: bin
|
9
9
|
cert_chain: []
|
10
|
-
date: 2025-
|
10
|
+
date: 2025-02-09 00:00:00.000000000 Z
|
11
11
|
dependencies:
|
12
12
|
- !ruby/object:Gem::Dependency
|
13
13
|
name: prism
|