flog 4.6.5 → 4.7.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- checksums.yaml.gz.sig +1 -1
- data/History.rdoc +19 -0
- data/Rakefile +4 -1
- data/lib/flog.rb +16 -21
- data/test/test_flog.rb +64 -32
- data/test/test_flog_cli.rb +2 -2
- data.tar.gz.sig +1 -1
- metadata +13 -13
- metadata.gz.sig +0 -0
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: bde1a28d5e030ce021a8f20e9d7e877714e2c91e030b7560c3da7337a8a1e916
|
4
|
+
data.tar.gz: 6b4dffe1d2a47f688deb1665a0a31a4c9ef5b901add108aac37489c97cb8f7ee
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 56c6a3005252c00d8d61257f35f6eb9bf3d07b232acb316ebf5807dee9144c6bc76f24478ba64a000885677e1ba04d3d0af5ad8677934f90a5f8a965a2227f87
|
7
|
+
data.tar.gz: 876c48e4a05cf087fb924f5c10977870facdec0f07c3cabd09eccee03360fca82d19a3b5a708e2a9bd51cd57f109d525b29cc50d22399fac17df3062b0d3c272
|
checksums.yaml.gz.sig
CHANGED
@@ -1 +1 @@
|
|
1
|
-
|
1
|
+
-�2�\��*��&�+��)� ������C���fY�v��B��g `\5;K��M�'�O+������ �ns�{Je�.�dw�q{h����g� �~*������;����/�/ɄD�)X#�pz�o��δ(������\��w���$n��zG3>3_\f�$ǘ.y��ymaeȽɰ YGW���:�>.�r�k�yh�M�(���Y:�1�P��6�j��OP�/����i����~HS0L�
|
data/History.rdoc
CHANGED
@@ -1,3 +1,22 @@
|
|
1
|
+
=== 4.7.0 / 2023-07-18
|
2
|
+
|
3
|
+
* 3 minor enhancements:
|
4
|
+
|
5
|
+
* Extend flog to process complex numbers. (petergoldstein)
|
6
|
+
* Only penalize magic numbers if they're not assigned to a const (excludes 0/-1).
|
7
|
+
* Renamed :lit_fixnum to :magic_number.
|
8
|
+
|
9
|
+
=== 4.6.6 / 2022-07-03
|
10
|
+
|
11
|
+
* 1 minor enhancement:
|
12
|
+
|
13
|
+
* Added support for to_proc w/ hash(?!?). (t-kinoshita)
|
14
|
+
|
15
|
+
* 2 bug fixes:
|
16
|
+
|
17
|
+
* Removed to_proc_normal (eg &:sym/call) as benchmarks are much better.
|
18
|
+
* ruby3: Fixed anonymous block pass. (prtngn)
|
19
|
+
|
1
20
|
=== 4.6.5 / 2022-04-09
|
2
21
|
|
3
22
|
* 1 minor enhancement:
|
data/Rakefile
CHANGED
data/lib/flog.rb
CHANGED
@@ -11,7 +11,7 @@ class File
|
|
11
11
|
end
|
12
12
|
|
13
13
|
class Flog < MethodBasedSexpProcessor
|
14
|
-
VERSION = "4.
|
14
|
+
VERSION = "4.7.0" # :nodoc:
|
15
15
|
|
16
16
|
##
|
17
17
|
# Cut off point where the report should stop unless --all given.
|
@@ -40,21 +40,11 @@ class Flog < MethodBasedSexpProcessor
|
|
40
40
|
:block_pass => 1,
|
41
41
|
:block_call => 1,
|
42
42
|
:branch => 1,
|
43
|
-
:
|
43
|
+
:magic_number => 0.25,
|
44
44
|
:sclass => 5,
|
45
45
|
:super => 1,
|
46
46
|
:to_proc_icky! => 10,
|
47
47
|
:to_proc_lasgn => 15,
|
48
|
-
:to_proc_normal => case RUBY_VERSION
|
49
|
-
when /^1\.8\.7/ then
|
50
|
-
2
|
51
|
-
when /^1\.9/ then
|
52
|
-
1.5
|
53
|
-
when /^[23]\./ then
|
54
|
-
1
|
55
|
-
else
|
56
|
-
raise "Unhandled version #{RUBY_VERSION}"
|
57
|
-
end,
|
58
48
|
:yield => 1,
|
59
49
|
}
|
60
50
|
|
@@ -176,9 +166,9 @@ class Flog < MethodBasedSexpProcessor
|
|
176
166
|
|
177
167
|
def flog(*files)
|
178
168
|
files.each do |file|
|
179
|
-
next unless file ==
|
169
|
+
next unless file == "-" or File.readable? file
|
180
170
|
|
181
|
-
ruby = file ==
|
171
|
+
ruby = file == "-" ? $stdin.read : File.binread(file)
|
182
172
|
|
183
173
|
flog_ruby ruby, file
|
184
174
|
end
|
@@ -199,7 +189,7 @@ class Flog < MethodBasedSexpProcessor
|
|
199
189
|
q = option[:quiet]
|
200
190
|
if e.inspect =~ /<\%|%\>/ or ruby =~ /<\%|%\>/ then
|
201
191
|
return if q
|
202
|
-
warn "#{e.inspect} at #{e.backtrace.first(5).join(
|
192
|
+
warn "#{e.inspect} at #{e.backtrace.first(5).join(", ")}"
|
203
193
|
warn "\n...stupid lemmings and their bad erb templates... skipping"
|
204
194
|
else
|
205
195
|
warn "ERROR: parsing ruby file #{file}" unless q
|
@@ -365,18 +355,23 @@ class Flog < MethodBasedSexpProcessor
|
|
365
355
|
|
366
356
|
add_to_score :block_pass
|
367
357
|
|
358
|
+
return s() unless arg
|
359
|
+
|
368
360
|
case arg.sexp_type
|
369
361
|
when :lvar, :dvar, :ivar, :cvar, :self, :const, :colon2, :nil then # f(&b)
|
370
362
|
# do nothing
|
371
|
-
when :lit
|
372
|
-
|
363
|
+
when :lit then # f(&:b)
|
364
|
+
# do nothing -- this now costs about the same as a block
|
365
|
+
when :call then # f(&x.b)
|
366
|
+
# do nothing -- I don't like the indirection, but that's already scored
|
373
367
|
when :lasgn then # f(&l=b)
|
374
368
|
add_to_score :to_proc_lasgn
|
375
|
-
when :iter, :dsym, :dstr, *BRANCHING then
|
369
|
+
when :iter, :dsym, :dstr, :hash, *BRANCHING then # below
|
376
370
|
# f(&proc { ... })
|
377
371
|
# f(&"#{...}")
|
378
372
|
# f(&:"#{...}")
|
379
373
|
# f(&if ... then ... end") and all other branching forms
|
374
|
+
# f(&{ a: 42 }) WHY?!?
|
380
375
|
add_to_score :to_proc_icky!
|
381
376
|
else
|
382
377
|
raise({:block_pass_even_ickier! => arg}.inspect)
|
@@ -513,9 +508,9 @@ class Flog < MethodBasedSexpProcessor
|
|
513
508
|
when 0, -1 then
|
514
509
|
# ignore those because they're used as array indicies instead of
|
515
510
|
# first/last
|
516
|
-
when Integer, Rational then
|
517
|
-
add_to_score :
|
518
|
-
when
|
511
|
+
when Integer, Float, Rational, Complex then
|
512
|
+
add_to_score :magic_number unless context[1] == :cdecl
|
513
|
+
when Symbol, Regexp, Range then
|
519
514
|
# do nothing
|
520
515
|
else
|
521
516
|
raise "Unhandled lit: #{value.inspect}:#{value.class}"
|
data/test/test_flog.rb
CHANGED
@@ -44,7 +44,7 @@ class TestFlog < FlogTest
|
|
44
44
|
def test_flog
|
45
45
|
setup_flog
|
46
46
|
|
47
|
-
exp = { "main#none" => { :+ => 1.0, :
|
47
|
+
exp = { "main#none" => { :+ => 1.0, :magic_number => 0.6 } }
|
48
48
|
assert_equal exp, @flog.calls
|
49
49
|
|
50
50
|
assert_in_epsilon 1.6, @flog.total_score unless @flog.option[:methods]
|
@@ -58,7 +58,7 @@ class TestFlog < FlogTest
|
|
58
58
|
@flog.flog_ruby ruby, file
|
59
59
|
@flog.calculate_total_scores
|
60
60
|
|
61
|
-
exp = { "main#none" => { :+ => 1.0, :
|
61
|
+
exp = { "main#none" => { :+ => 1.0, :magic_number => 0.6 } }
|
62
62
|
assert_equal exp, @flog.calls
|
63
63
|
|
64
64
|
assert_in_epsilon 1.6, @flog.total_score unless @flog.option[:methods]
|
@@ -127,25 +127,24 @@ class TestFlog < FlogTest
|
|
127
127
|
assert_process sexp, 1.1, :branch => 1.1 # 10% penalty over process_and
|
128
128
|
end
|
129
129
|
|
130
|
-
def
|
130
|
+
def test_process_block_pass__call
|
131
131
|
sexp = s(:call, nil, :a,
|
132
132
|
s(:block_pass,
|
133
133
|
s(:call, nil, :b)))
|
134
134
|
|
135
|
-
|
136
|
-
|
137
|
-
|
138
|
-
|
139
|
-
|
140
|
-
end
|
135
|
+
assert_process(sexp, 3.4,
|
136
|
+
:a => 1.0,
|
137
|
+
:block_pass => 1.2,
|
138
|
+
:b => 1.2)
|
139
|
+
end
|
141
140
|
|
142
|
-
|
141
|
+
def test_process_block_pass__to_proc
|
142
|
+
sexp = s(:call, nil, :a,
|
143
|
+
s(:block_pass, s(:lit, :to_i)))
|
143
144
|
|
144
|
-
assert_process(sexp,
|
145
|
+
assert_process(sexp, 2.2,
|
145
146
|
:a => 1.0,
|
146
|
-
:block_pass => 1.2
|
147
|
-
:b => 1.2,
|
148
|
-
:to_proc_normal => 0.0 + bonus)
|
147
|
+
:block_pass => 1.2)
|
149
148
|
end
|
150
149
|
|
151
150
|
def test_process_block_pass_colon2
|
@@ -158,12 +157,23 @@ class TestFlog < FlogTest
|
|
158
157
|
:block_pass => 1.2)
|
159
158
|
end
|
160
159
|
|
160
|
+
def test_process_block_pass__hash_wtf
|
161
|
+
sexp = s(:call, nil, :a,
|
162
|
+
s(:block_pass,
|
163
|
+
s(:hash, s(:lit, :a), s(:lit, :b))))
|
164
|
+
|
165
|
+
assert_process(sexp, 14.2,
|
166
|
+
:a => 1.0,
|
167
|
+
:block_pass => 1.2,
|
168
|
+
:to_proc_icky! => 12.0)
|
169
|
+
end
|
170
|
+
|
161
171
|
def test_process_block_pass_iter
|
162
172
|
sexp = s(:block_pass,
|
163
173
|
s(:iter, s(:call, nil, :lambda), nil, s(:lit, 1)))
|
164
174
|
|
165
175
|
assert_process(sexp, 12.316,
|
166
|
-
:
|
176
|
+
:magic_number => 0.275,
|
167
177
|
:block_pass => 1.0,
|
168
178
|
:lambda => 1.0,
|
169
179
|
:block_call => 1.0,
|
@@ -177,7 +187,7 @@ class TestFlog < FlogTest
|
|
177
187
|
s(:iter, s(:call, nil, :lambda), nil, s(:lit, 1))))
|
178
188
|
|
179
189
|
assert_process(sexp, 17.333,
|
180
|
-
:
|
190
|
+
:magic_number => 0.275,
|
181
191
|
:block_pass => 1.0,
|
182
192
|
:lambda => 1.0,
|
183
193
|
:assignment => 1.0,
|
@@ -185,6 +195,13 @@ class TestFlog < FlogTest
|
|
185
195
|
:to_proc_lasgn => 15.0)
|
186
196
|
end
|
187
197
|
|
198
|
+
def test_process_block_pass__nil
|
199
|
+
sexp = s(:block_pass)
|
200
|
+
|
201
|
+
assert_process(sexp, 1.0,
|
202
|
+
:block_pass => 1.0)
|
203
|
+
end
|
204
|
+
|
188
205
|
def test_process_call
|
189
206
|
sexp = s(:call, nil, :a) # a
|
190
207
|
assert_process sexp, 1.0, :a => 1.0
|
@@ -233,7 +250,7 @@ class TestFlog < FlogTest
|
|
233
250
|
s(:colon2, s(:const, :X), :Y), nil,
|
234
251
|
s(:scope, s(:lit, 42)))
|
235
252
|
|
236
|
-
assert_process sexp, 0.25, :
|
253
|
+
assert_process sexp, 0.25, :magic_number => 0.25
|
237
254
|
end
|
238
255
|
|
239
256
|
# TODO:
|
@@ -258,7 +275,7 @@ class TestFlog < FlogTest
|
|
258
275
|
s(:block,
|
259
276
|
s(:lit, 42))))
|
260
277
|
|
261
|
-
assert_process sexp, 0.275, :
|
278
|
+
assert_process sexp, 0.275, :magic_number => 0.275
|
262
279
|
end
|
263
280
|
|
264
281
|
def test_process_defn_in_self
|
@@ -271,7 +288,7 @@ class TestFlog < FlogTest
|
|
271
288
|
@flog.process sexp
|
272
289
|
@flog.calculate_total_scores
|
273
290
|
|
274
|
-
exp = {'main::x' => {:
|
291
|
+
exp = {'main::x' => {:magic_number => 0.375}, 'main#none' => {:sclass => 5.0}}
|
275
292
|
assert_equal exp, @flog.calls
|
276
293
|
|
277
294
|
assert_in_delta 5.375, @flog.total_score
|
@@ -288,7 +305,7 @@ class TestFlog < FlogTest
|
|
288
305
|
@flog.process sexp
|
289
306
|
@flog.calculate_total_scores
|
290
307
|
|
291
|
-
exp = {'main::x' => {:
|
308
|
+
exp = {'main::x' => {:magic_number => 0.375}, 'main#none' => {:sclass => 12.5}}
|
292
309
|
assert_equal exp, @flog.calls
|
293
310
|
|
294
311
|
assert_in_delta 12.875, @flog.total_score
|
@@ -303,7 +320,7 @@ class TestFlog < FlogTest
|
|
303
320
|
s(:block,
|
304
321
|
s(:lit, 42))))
|
305
322
|
|
306
|
-
assert_process sexp, 0.275, :
|
323
|
+
assert_process sexp, 0.275, :magic_number => 0.275
|
307
324
|
end
|
308
325
|
|
309
326
|
# FIX: huh? over-refactored?
|
@@ -369,7 +386,7 @@ class TestFlog < FlogTest
|
|
369
386
|
|
370
387
|
@klass, @meth = "task", "#woot"
|
371
388
|
|
372
|
-
assert_process sexp, 2.3, :something => 1.0, :task => 1.0, :
|
389
|
+
assert_process sexp, 2.3, :something => 1.0, :task => 1.0, :magic_number => 0.3
|
373
390
|
end
|
374
391
|
|
375
392
|
def test_process_iter_dsl_hash_when_hash_empty
|
@@ -406,7 +423,7 @@ class TestFlog < FlogTest
|
|
406
423
|
hash = {
|
407
424
|
"namespace(blah)::task#woot" => {
|
408
425
|
:something => 1.0,
|
409
|
-
:
|
426
|
+
:magic_number => 0.3,
|
410
427
|
:task => 1.0,
|
411
428
|
},
|
412
429
|
"namespace#blah" => {
|
@@ -429,14 +446,29 @@ class TestFlog < FlogTest
|
|
429
446
|
|
430
447
|
def test_process_lit_int
|
431
448
|
sexp = s(:lit, 42)
|
432
|
-
assert_process sexp, 0.25, :
|
449
|
+
assert_process sexp, 0.25, :magic_number => 0.25
|
450
|
+
end
|
451
|
+
|
452
|
+
def test_process_lit_int__const
|
453
|
+
sexp = s(:cdecl, :X, s(:lit, 42))
|
454
|
+
assert_process sexp, 0.0
|
433
455
|
end
|
434
456
|
|
435
457
|
def test_process_lit_float # and other lits
|
436
|
-
sexp = s(:lit, 3.1415)
|
458
|
+
sexp = s(:lit, 3.1415)
|
459
|
+
assert_process sexp, 0.25, :magic_number => 0.25
|
460
|
+
end
|
461
|
+
|
462
|
+
def test_process_lit_float__const
|
463
|
+
sexp = s(:cdecl, :X, s(:lit, 3.1415))
|
437
464
|
assert_process sexp, 0.0
|
438
465
|
end
|
439
466
|
|
467
|
+
def test_process_lit_complex
|
468
|
+
sexp = s(:lit, (0+1i))
|
469
|
+
assert_process sexp, 0.25
|
470
|
+
end
|
471
|
+
|
440
472
|
def test_process_lit_bad
|
441
473
|
assert_raises RuntimeError do
|
442
474
|
@flog.process s(:lit, Object.new)
|
@@ -458,12 +490,12 @@ class TestFlog < FlogTest
|
|
458
490
|
s(:colon2, s(:const, :X), :Y),
|
459
491
|
s(:scope, s(:lit, 42)))
|
460
492
|
|
461
|
-
assert_process sexp, 0.25, :
|
493
|
+
assert_process sexp, 0.25, :magic_number => 0.25
|
462
494
|
end
|
463
495
|
|
464
496
|
def test_process_sclass
|
465
497
|
sexp = s(:sclass, s(:self), s(:scope, s(:lit, 42)))
|
466
|
-
assert_process sexp, 5.375, :sclass => 5.0, :
|
498
|
+
assert_process sexp, 5.375, :sclass => 5.0, :magic_number => 0.375
|
467
499
|
end
|
468
500
|
|
469
501
|
def test_process_super
|
@@ -471,7 +503,7 @@ class TestFlog < FlogTest
|
|
471
503
|
assert_process sexp, 1.0, :super => 1.0
|
472
504
|
|
473
505
|
sexp = s(:super, s(:lit, 42))
|
474
|
-
assert_process sexp, 1.25, :super => 1.0, :
|
506
|
+
assert_process sexp, 1.25, :super => 1.0, :magic_number => 0.25
|
475
507
|
end
|
476
508
|
|
477
509
|
def test_process_while
|
@@ -488,10 +520,10 @@ class TestFlog < FlogTest
|
|
488
520
|
assert_process sexp, 1.00, :yield => 1.0
|
489
521
|
|
490
522
|
sexp = s(:yield, s(:lit, 4))
|
491
|
-
assert_process sexp, 1.25, :yield => 1.0, :
|
523
|
+
assert_process sexp, 1.25, :yield => 1.0, :magic_number => 0.25
|
492
524
|
|
493
525
|
sexp = s(:yield, s(:lit, 42), s(:lit, 24))
|
494
|
-
assert_process sexp, 1.50, :yield => 1.0, :
|
526
|
+
assert_process sexp, 1.50, :yield => 1.0, :magic_number => 0.50
|
495
527
|
end
|
496
528
|
|
497
529
|
def test_score_method
|
@@ -600,7 +632,7 @@ class TestFlog < FlogTest
|
|
600
632
|
@flog.calculate_total_scores
|
601
633
|
@flog.calculate
|
602
634
|
|
603
|
-
assert_equal({ 'User#blah' => 'user.rb:3-
|
635
|
+
assert_equal({ 'User#blah' => 'user.rb:3-5' }, @flog.method_locations)
|
604
636
|
assert_equal({ "User#blah" => 2.2 }, @flog.totals)
|
605
637
|
assert_in_epsilon(2.2, @flog.total_score)
|
606
638
|
assert_in_epsilon(1.0, @flog.multiplier)
|
@@ -622,7 +654,7 @@ class TestFlog < FlogTest
|
|
622
654
|
@flog.calculate_total_scores
|
623
655
|
@flog.calculate
|
624
656
|
|
625
|
-
assert_equal({ 'Coder#happy?' => 'coder.rb:3-
|
657
|
+
assert_equal({ 'Coder#happy?' => 'coder.rb:3-5' }, @flog.method_locations)
|
626
658
|
assert_equal({ "Coder#happy?" => 1.0 }, @flog.totals)
|
627
659
|
assert_in_epsilon(1.0, @flog.total_score)
|
628
660
|
assert_in_epsilon(1.0, @flog.multiplier)
|
data/test/test_flog_cli.rb
CHANGED
@@ -135,7 +135,7 @@ class TestFlogCLI < FlogTest
|
|
135
135
|
|
136
136
|
expected = "\n 1.6: main#none
|
137
137
|
1.0: +
|
138
|
-
0.6:
|
138
|
+
0.6: magic_number
|
139
139
|
|
140
140
|
"
|
141
141
|
|
@@ -165,7 +165,7 @@ class TestFlogCLI < FlogTest
|
|
165
165
|
|
166
166
|
@flog.flog "-"
|
167
167
|
|
168
|
-
exp = { "main#none" => { :+ => 1.0, :
|
168
|
+
exp = { "main#none" => { :+ => 1.0, :magic_number => 0.6 } }
|
169
169
|
assert_equal exp, @flog.calls
|
170
170
|
|
171
171
|
@flog.option[:all] = true
|
data.tar.gz.sig
CHANGED
@@ -1 +1 @@
|
|
1
|
-
|
1
|
+
��k>`DQL�kߓO1�ߜ�=�2�w��ͺ�N�#���0${���CL�w6��w���{�$z{�pKOE�5a� ��pX֘)A<��} �'<�y���=\d՚.������ɡ@j+���m���<�TX�BW5#��4�RuG��W�hEN�T+�ۏ�>�����l���!5WUH�/�/�� �74̃)�&��1{[��L�+(`6AQ?��ZFP7�P~Rv��G�z�g�����1�#&�K�v1�ڔ��
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: flog
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 4.
|
4
|
+
version: 4.7.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Ryan Davis
|
@@ -10,9 +10,9 @@ bindir: bin
|
|
10
10
|
cert_chain:
|
11
11
|
- |
|
12
12
|
-----BEGIN CERTIFICATE-----
|
13
|
-
|
13
|
+
MIIDPjCCAiagAwIBAgIBBzANBgkqhkiG9w0BAQsFADBFMRMwEQYDVQQDDApyeWFu
|
14
14
|
ZC1ydWJ5MRkwFwYKCZImiZPyLGQBGRYJemVuc3BpZGVyMRMwEQYKCZImiZPyLGQB
|
15
|
-
|
15
|
+
GRYDY29tMB4XDTIzMDEwMTA3NTExN1oXDTI0MDEwMTA3NTExN1owRTETMBEGA1UE
|
16
16
|
AwwKcnlhbmQtcnVieTEZMBcGCgmSJomT8ixkARkWCXplbnNwaWRlcjETMBEGCgmS
|
17
17
|
JomT8ixkARkWA2NvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBALda
|
18
18
|
b9DCgK+627gPJkB6XfjZ1itoOQvpqH1EXScSaba9/S2VF22VYQbXU1xQXL/WzCkx
|
@@ -22,14 +22,14 @@ cert_chain:
|
|
22
22
|
qhtV7HJxNKuPj/JFH0D2cswvzznE/a5FOYO68g+YCuFi5L8wZuuM8zzdwjrWHqSV
|
23
23
|
gBEfoTEGr7Zii72cx+sCAwEAAaM5MDcwCQYDVR0TBAIwADALBgNVHQ8EBAMCBLAw
|
24
24
|
HQYDVR0OBBYEFEfFe9md/r/tj/Wmwpy+MI8d9k/hMA0GCSqGSIb3DQEBCwUAA4IB
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
25
|
+
AQAkg3y+PBnBAPWdxxITm5sPHqdWQgSyCpRA20o4LTuWr8BWhSXBkfQNa7cY6fOn
|
26
|
+
xyM34VPzBFbExv6XOGDfOMFBVaYTHuN9peC/5/umL7kLl+nflXzL2QA7K6LYj5Bg
|
27
|
+
sM574Onr0dZDM6Vn69bzQ7rBIFDfK/OhlPzqKZad4nsdcsVH8ODCiT+ATMIZyz5K
|
28
|
+
WCnNtqlyiWXI8tdTpahDgcUwfcN/oN7v4K8iU5IbLJX6HQ5DKgmKjfb6XyMth16k
|
29
|
+
ROfWo9Uyp8ba/j9eVG14KkYRaLydAY1MNQk2yd3R5CGfeOpD1kttxjoypoUJ2dOG
|
30
|
+
nsNBRuQJ1UfiCG97a6DNm+Fr
|
31
31
|
-----END CERTIFICATE-----
|
32
|
-
date:
|
32
|
+
date: 2023-07-18 00:00:00.000000000 Z
|
33
33
|
dependencies:
|
34
34
|
- !ruby/object:Gem::Dependency
|
35
35
|
name: sexp_processor
|
@@ -119,14 +119,14 @@ dependencies:
|
|
119
119
|
requirements:
|
120
120
|
- - "~>"
|
121
121
|
- !ruby/object:Gem::Version
|
122
|
-
version: '
|
122
|
+
version: '4.0'
|
123
123
|
type: :development
|
124
124
|
prerelease: false
|
125
125
|
version_requirements: !ruby/object:Gem::Requirement
|
126
126
|
requirements:
|
127
127
|
- - "~>"
|
128
128
|
- !ruby/object:Gem::Version
|
129
|
-
version: '
|
129
|
+
version: '4.0'
|
130
130
|
description: |-
|
131
131
|
Flog reports the most tortured code in an easy to read pain
|
132
132
|
report. The higher the score, the more pain the code is in.
|
@@ -175,7 +175,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
175
175
|
- !ruby/object:Gem::Version
|
176
176
|
version: '0'
|
177
177
|
requirements: []
|
178
|
-
rubygems_version: 3.
|
178
|
+
rubygems_version: 3.4.10
|
179
179
|
signing_key:
|
180
180
|
specification_version: 4
|
181
181
|
summary: Flog reports the most tortured code in an easy to read pain report
|
metadata.gz.sig
CHANGED
Binary file
|