flog 4.6.5 → 4.7.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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 57b6b9d470979f410d87a27dd593d85a9c3b526f65bc519d8795a5c0703a7b74
4
- data.tar.gz: 3d0ad63ea53a0e69f3768ef311f981239fe3397d53b7c2514d97cc453f895d88
3
+ metadata.gz: bde1a28d5e030ce021a8f20e9d7e877714e2c91e030b7560c3da7337a8a1e916
4
+ data.tar.gz: 6b4dffe1d2a47f688deb1665a0a31a4c9ef5b901add108aac37489c97cb8f7ee
5
5
  SHA512:
6
- metadata.gz: 5615430b290aa01b6fd46b0154fdec668561ec0f0c044807ea09a0373a78b74984ad68504034fd99b75d307128bf4c21e187810aba5165cc257c582bf19b1e8d
7
- data.tar.gz: 7b862060c2c4489cd4e43e38c5be5cdfbc79afc871feee741ada47d1a45d4bd590b2fcc01c0f3982d39ef305d2b76dc7417fbcd67c66bfcad758e6611523f7bb
6
+ metadata.gz: 56c6a3005252c00d8d61257f35f6eb9bf3d07b232acb316ebf5807dee9144c6bc76f24478ba64a000885677e1ba04d3d0af5ad8677934f90a5f8a965a2227f87
7
+ data.tar.gz: 876c48e4a05cf087fb924f5c10977870facdec0f07c3cabd09eccee03360fca82d19a3b5a708e2a9bd51cd57f109d525b29cc50d22399fac17df3062b0d3c272
checksums.yaml.gz.sig CHANGED
@@ -1 +1 @@
1
- �.�![m�0H�;�/�ᐘFt�s��L� vʀ�����F?c�*���lMWĜ��K�ҘM�%F��>a��[T>;4$-_<�S:�m�/祼���I_I}c����Ȟ��xr��~~oC���rR��i�:�ס� ���}��f�̞d��[�y/bw D)IF>3Dc3<�M+��qԥ�捌�%n��P( ��-y
1
+ -�2�\��*��&�+��)������C���fY�v��B��g `\5; K��M�'O+������ ns�{Je�.�dwq{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
@@ -54,9 +54,12 @@ task :debug do
54
54
  exit 0
55
55
  end
56
56
  flog.flog file
57
- else
57
+ elsif ruby
58
58
  flog.flog_ruby ruby, "-"
59
59
  flog.calculate_total_scores
60
+ else
61
+ flog.flog
62
+ flog.calculate_total_scores
60
63
  end
61
64
 
62
65
  flog.report
data/lib/flog.rb CHANGED
@@ -11,7 +11,7 @@ class File
11
11
  end
12
12
 
13
13
  class Flog < MethodBasedSexpProcessor
14
- VERSION = "4.6.5" # :nodoc:
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
- :lit_fixnum => 0.25,
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 == '-' or File.readable? file
169
+ next unless file == "-" or File.readable? file
180
170
 
181
- ruby = file == '-' ? $stdin.read : File.binread(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, :call then # f(&:b)
372
- add_to_score :to_proc_normal
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 # below
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 :lit_fixnum
518
- when Float, Symbol, Regexp, Range then
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, :lit_fixnum => 0.6 } }
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, :lit_fixnum => 0.6 } }
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 test_process_block_pass
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
- bonus = case RUBY_VERSION
136
- when /^1\.8\.7/ then 0.4
137
- when /^1\.9/ then 0.3
138
- when /^[23]\./ then 0.2
139
- else raise "Unhandled version #{RUBY_VERSION}"
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
- bonus += Flog::OTHER_SCORES[:to_proc_normal]
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, 3.4 + bonus,
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
- :lit_fixnum => 0.275,
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
- :lit_fixnum => 0.275,
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, :lit_fixnum => 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, :lit_fixnum => 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' => {:lit_fixnum => 0.375}, 'main#none' => {:sclass => 5.0}}
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' => {:lit_fixnum => 0.375}, 'main#none' => {:sclass => 12.5}}
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, :lit_fixnum => 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, :lit_fixnum => 0.3
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
- :lit_fixnum => 0.3,
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, :lit_fixnum => 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) # TODO: consider penalizing floats if not in cdecl
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, :lit_fixnum => 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, :lit_fixnum => 0.375
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, :lit_fixnum => 0.25
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, :lit_fixnum => 0.25
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, :lit_fixnum => 0.50
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-4' }, @flog.method_locations)
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-4' }, @flog.method_locations)
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)
@@ -135,7 +135,7 @@ class TestFlogCLI < FlogTest
135
135
 
136
136
  expected = "\n 1.6: main#none
137
137
  1.0: +
138
- 0.6: lit_fixnum
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, :lit_fixnum => 0.6 } }
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
-  �&�ȣ�#�XM�����b�����=���֭+h_���1����(yb1F W@V�!��r*fp?0(.O�9'��KK<M�����6mN�D���nJ��n����y]cfxSI�����N����)D7/���+b���Q�W:������LDE��%��v>��"8S�T���C�����f��a��0-���sJ]LzX'c5t ��(C��jY3n�λC���aqE�ˑ��^1�Qi�
1
+ ��k>`DQLkߓO1�ߜ�=�2�w��ͺ�N�#���0${���CLw6��w���{�$z{pKOE5a ��pX֘)A<��} �'<�y���=\d՚.������ɡ@ j+���m���<�TXBW5#��4RuG��W�hENT+�ۏ�>�����l���!5WUH�/�/�� �74̃)�&��1{[��L�+(`6AQ?��ZFP7�P~Rv��Gzg�����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.6.5
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
- MIIDPjCCAiagAwIBAgIBBjANBgkqhkiG9w0BAQsFADBFMRMwEQYDVQQDDApyeWFu
13
+ MIIDPjCCAiagAwIBAgIBBzANBgkqhkiG9w0BAQsFADBFMRMwEQYDVQQDDApyeWFu
14
14
  ZC1ydWJ5MRkwFwYKCZImiZPyLGQBGRYJemVuc3BpZGVyMRMwEQYKCZImiZPyLGQB
15
- GRYDY29tMB4XDTIxMTIyMzIzMTkwNFoXDTIyMTIyMzIzMTkwNFowRTETMBEGA1UE
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
- AQCKB5jfsuSnKb+t/Wrh3UpdkmX7TrEsjVmERC0pPqzQ5GQJgmEXDD7oMgaKXaAq
26
- x2m+KSZDrqk7c8uho5OX6YMqg4KdxehfSLqqTZGoeV78qwf/jpPQZKTf+W9gUSJh
27
- zsWpo4K50MP+QtdSbKXZwjAafpQ8hK0MnnZ/aeCsW9ov5vdXpYbf3dpg6ADXRGE7
28
- lQY2y1tJ5/chqu6h7dQmnm2ABUqx9O+JcN9hbCYoA5i/EeubUEtFIh2w3SpO6YfB
29
- JFmxn4h9YO/pVdB962BdBNNDia0kgIjI3ENnkLq0dKpYU3+F3KhEuTksLO0L6X/V
30
- YsuyUzsMz6GQA4khyaMgKNSD
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: 2022-04-09 00:00:00.000000000 Z
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: '3.23'
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: '3.23'
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.3.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