ruby_parser 3.20.1 → 3.20.2

Sign up to get free protection for your applications and to get access to all the features.
data/lib/ruby3_parser.yy CHANGED
@@ -104,9 +104,9 @@ rule
104
104
  result = iter
105
105
  }
106
106
 
107
- begin_block: tLCURLY { result = lexer.lineno } top_compstmt tRCURLY
107
+ begin_block: tLCURLY top_compstmt tRCURLY
108
108
  {
109
- _, line, stmt, _ = val
109
+ (_, line), stmt, _ = val
110
110
  result = new_iter s(:preexe).line(line), 0, stmt
111
111
  }
112
112
 
@@ -639,7 +639,7 @@ rule
639
639
  }
640
640
  | tSTAR
641
641
  {
642
- l = lexer.lineno
642
+ (_, l), = val
643
643
  result = s(:masgn, s(:array, s(:splat).line(l)).line(l)).line l
644
644
  }
645
645
  | tSTAR tCOMMA mlhs_post
@@ -1271,7 +1271,7 @@ rule
1271
1271
  args: arg_value
1272
1272
  {
1273
1273
  arg, = val
1274
- lineno = arg.line || lexer.lineno # HACK
1274
+ lineno = arg.line
1275
1275
 
1276
1276
  result = s(:array, arg).line lineno
1277
1277
  }
@@ -1280,6 +1280,13 @@ rule
1280
1280
  _, arg = val
1281
1281
  result = s(:array, s(:splat, arg).line(arg.line)).line arg.line
1282
1282
  }
1283
+ #if V >= 32
1284
+ | tSTAR
1285
+ {
1286
+ (_, line), = val
1287
+ result = s(:array, s(:splat).line(line)).line line
1288
+ }
1289
+ #endif
1283
1290
  | args tCOMMA arg_value
1284
1291
  {
1285
1292
  args, _, id = val
@@ -1287,11 +1294,16 @@ rule
1287
1294
  }
1288
1295
  | args tCOMMA tSTAR arg_value
1289
1296
  {
1290
- # TODO: the line number from tSTAR has been dropped
1291
- args, _, _, id = val
1292
- line = lexer.lineno
1297
+ args, _, (_, line), id = val
1293
1298
  result = self.list_append args, s(:splat, id).line(line)
1294
1299
  }
1300
+ #if V >= 32
1301
+ | args tCOMMA tSTAR
1302
+ {
1303
+ args, _, (_, line) = val
1304
+ result = self.list_append args, s(:splat).line(line)
1305
+ }
1306
+ #endif
1295
1307
 
1296
1308
  mrhs_arg: mrhs
1297
1309
  {
@@ -1308,7 +1320,6 @@ rule
1308
1320
  }
1309
1321
  | args tCOMMA tSTAR arg_value
1310
1322
  {
1311
- # TODO: make all tXXXX terminals include lexer.lineno
1312
1323
  arg, _, _, splat = val
1313
1324
  result = self.arg_concat arg, splat
1314
1325
  }
@@ -1337,7 +1348,6 @@ rule
1337
1348
  | k_begin
1338
1349
  {
1339
1350
  lexer.cmdarg.push false
1340
- result = self.lexer.lineno
1341
1351
  }
1342
1352
  bodystmt k_end
1343
1353
  {
@@ -1347,11 +1357,10 @@ rule
1347
1357
  | tLPAREN_ARG
1348
1358
  {
1349
1359
  lexer.lex_state = EXPR_ENDARG
1350
- result = lexer.lineno
1351
1360
  }
1352
1361
  rparen
1353
1362
  {
1354
- _, line, _ = val
1363
+ (_, line), _, _ = val
1355
1364
  result = s(:begin).line line
1356
1365
  }
1357
1366
  | tLPAREN_ARG
@@ -1367,9 +1376,8 @@ rule
1367
1376
  }
1368
1377
  | tLPAREN compstmt tRPAREN
1369
1378
  {
1370
- _, stmt, _ = val
1371
- result = stmt
1372
- result ||= s(:nil).line lexer.lineno
1379
+ (_, line), stmt, _ = val
1380
+ result = stmt || s(:nil).line(line)
1373
1381
  result.paren = true
1374
1382
  }
1375
1383
  | primary_value tCOLON2 tCONSTANT
@@ -1382,9 +1390,9 @@ rule
1382
1390
  {
1383
1391
  result = wrap :colon3, val[1]
1384
1392
  }
1385
- | tLBRACK { result = lexer.lineno } aref_args rbracket
1393
+ | tLBRACK aref_args rbracket
1386
1394
  {
1387
- _, line, args, (_, line_max) = val
1395
+ (_, line), args, (_, line_max) = val
1388
1396
 
1389
1397
  result = args || s(:array)
1390
1398
  result.sexp_type = :array # aref_args is :args
@@ -1500,9 +1508,6 @@ rule
1500
1508
  result = new_for iter, var, body
1501
1509
  }
1502
1510
  | k_class
1503
- {
1504
- result = self.lexer.lineno
1505
- }
1506
1511
  cpath superclass
1507
1512
  {
1508
1513
  if (self.in_def || self.in_single > 0) then
@@ -1517,9 +1522,6 @@ rule
1517
1522
  self.lexer.ignore_body_comments
1518
1523
  }
1519
1524
  | k_class tLSHFT
1520
- {
1521
- result = self.lexer.lineno
1522
- }
1523
1525
  expr
1524
1526
  {
1525
1527
  result = self.in_def
@@ -1531,16 +1533,14 @@ rule
1531
1533
  self.in_single = 0
1532
1534
  self.env.extend
1533
1535
  }
1534
- bodystmt k_end
1536
+ bodystmt
1537
+ k_end
1535
1538
  {
1536
1539
  result = new_sclass val
1537
1540
  self.env.unextend
1538
1541
  self.lexer.ignore_body_comments
1539
1542
  }
1540
1543
  | k_module
1541
- {
1542
- result = self.lexer.lineno
1543
- }
1544
1544
  cpath
1545
1545
  {
1546
1546
  yyerror "module definition in method body" if
@@ -1682,20 +1682,33 @@ rule
1682
1682
  }
1683
1683
 
1684
1684
  f_marg: f_norm_arg
1685
+ {
1686
+ (sym, line), = val
1687
+
1688
+ result = s(:dummy, sym).line line
1689
+ }
1685
1690
  | tLPAREN f_margs rparen
1686
1691
  {
1687
- result = val[1]
1692
+ _, args, _ = val
1693
+ result = args
1688
1694
  }
1689
1695
 
1690
1696
  f_marg_list: f_marg
1691
1697
  {
1692
- sym, = val
1698
+ arg, = val
1699
+ line = arg.line
1700
+
1701
+ arg = arg.last if arg.sexp_type == :dummy
1693
1702
 
1694
- result = s(:array, sym).line lexer.lineno
1703
+ result = s(:array, arg).line line
1695
1704
  }
1696
1705
  | f_marg_list tCOMMA f_marg
1697
1706
  {
1698
- result = list_append val[0], val[2]
1707
+ args, _, arg = val
1708
+
1709
+ arg = arg.last if arg.sexp_type == :dummy
1710
+
1711
+ result = list_append args, arg
1699
1712
  }
1700
1713
 
1701
1714
  f_margs: f_marg_list
@@ -1738,8 +1751,8 @@ rule
1738
1751
  }
1739
1752
  | tSTAR
1740
1753
  {
1741
- result = args [:*]
1742
- result.line lexer.lineno # FIX: tSTAR -> line
1754
+ (_, line), = val
1755
+ result = args([:*]).line line
1743
1756
  }
1744
1757
 
1745
1758
  f_any_kwrest: f_kwrest
@@ -1854,7 +1867,9 @@ opt_block_args_tail: tCOMMA block_args_tail
1854
1867
  }
1855
1868
  | tOROP
1856
1869
  {
1857
- result = s(:args).line lexer.lineno
1870
+ (_, line), = val
1871
+
1872
+ result = s(:args).line line
1858
1873
  }
1859
1874
  | tPIPE block_param opt_bv_decl tPIPE
1860
1875
  {
@@ -1886,7 +1901,7 @@ opt_block_args_tail: tCOMMA block_args_tail
1886
1901
  lambda: tLAMBDA
1887
1902
  {
1888
1903
  self.env.extend :dynamic
1889
- result = [lexer.lineno, lexer.lpar_beg]
1904
+ result = lexer.lpar_beg
1890
1905
  lexer.paren_nest += 1
1891
1906
  lexer.lpar_beg = lexer.paren_nest
1892
1907
  }
@@ -1896,7 +1911,7 @@ opt_block_args_tail: tCOMMA block_args_tail
1896
1911
  }
1897
1912
  lambda_body
1898
1913
  {
1899
- _, (line, lpar), args, _cmdarg, body = val
1914
+ (_, line), lpar, args, _cmdarg, body = val
1900
1915
  lexer.lpar_beg = lpar
1901
1916
 
1902
1917
  lexer.cmdarg.pop
@@ -2020,7 +2035,8 @@ opt_block_args_tail: tCOMMA block_args_tail
2020
2035
  }
2021
2036
  | kSUPER
2022
2037
  {
2023
- result = s(:zsuper).line lexer.lineno
2038
+ (_, line), = val
2039
+ result = s(:zsuper).line line
2024
2040
  }
2025
2041
  | primary_value tLBRACK2 opt_call_args rbracket
2026
2042
  {
@@ -2030,11 +2046,11 @@ opt_block_args_tail: tCOMMA block_args_tail
2030
2046
  brace_block: tLCURLY
2031
2047
  {
2032
2048
  self.env.extend :dynamic
2033
- result = self.lexer.lineno
2034
2049
  }
2035
- brace_body tRCURLY
2050
+ brace_body
2051
+ tRCURLY
2036
2052
  {
2037
- _, line, body, _ = val
2053
+ (_, line), _, body, _ = val
2038
2054
 
2039
2055
  result = body
2040
2056
  result.line line
@@ -2044,11 +2060,11 @@ opt_block_args_tail: tCOMMA block_args_tail
2044
2060
  | k_do
2045
2061
  {
2046
2062
  self.env.extend :dynamic
2047
- result = self.lexer.lineno
2048
2063
  }
2049
- do_body kEND
2064
+ do_body
2065
+ kEND
2050
2066
  {
2051
- _, line, body, _ = val
2067
+ (_, line), _, body, _ = val
2052
2068
 
2053
2069
  result = body
2054
2070
  result.line line
@@ -2106,14 +2122,13 @@ opt_block_args_tail: tCOMMA block_args_tail
2106
2122
  }
2107
2123
 
2108
2124
  case_body: k_when
2109
- {
2110
- result = self.lexer.lineno
2111
- }
2112
2125
  case_args then compstmt cases
2113
2126
  {
2114
- result = new_when(val[2], val[4])
2115
- result.line val[1]
2116
- result << val[5] if val[5]
2127
+ (_, line), case_args, _then, body, cases = val
2128
+
2129
+ result = new_when case_args, body
2130
+ result.line line
2131
+ result << cases if cases
2117
2132
  }
2118
2133
 
2119
2134
  cases: opt_else | case_body
@@ -2352,6 +2367,7 @@ opt_block_args_tail: tCOMMA block_args_tail
2352
2367
  result = new_array_pattern_tail both, nil, nil, nil
2353
2368
  result.line head.line
2354
2369
  }
2370
+ #if V < 32
2355
2371
  | p_args_head tSTAR tIDENTIFIER
2356
2372
  {
2357
2373
  head, _, (id, _line) = val
@@ -2378,6 +2394,20 @@ opt_block_args_tail: tCOMMA block_args_tail
2378
2394
 
2379
2395
  result = new_array_pattern_tail(head, true, nil, post).line head.line
2380
2396
  }
2397
+ #else
2398
+ | p_args_head p_rest
2399
+ {
2400
+ head, (rest, _) = val
2401
+
2402
+ result = new_array_pattern_tail(head, true, rest, nil).line head.line
2403
+ }
2404
+ | p_args_head p_rest tCOMMA p_args_post
2405
+ {
2406
+ head, (rest, _), _, post = val
2407
+
2408
+ result = new_array_pattern_tail(head, true, rest, post).line head.line
2409
+ }
2410
+ #endif
2381
2411
  | p_args_tail
2382
2412
 
2383
2413
  p_args_head: p_arg tCOMMA
@@ -2917,7 +2947,6 @@ regexp_contents: none
2917
2947
  lexer.brace_nest,
2918
2948
  lexer.string_nest, # TODO: remove
2919
2949
  lexer.lex_state,
2920
- lexer.lineno,
2921
2950
  ]
2922
2951
 
2923
2952
  lexer.cmdarg.push false
@@ -2932,9 +2961,9 @@ regexp_contents: none
2932
2961
  compstmt
2933
2962
  tSTRING_DEND
2934
2963
  {
2935
- _, memo, stmt, _ = val
2964
+ (_, line), memo, stmt, _ = val
2936
2965
 
2937
- lex_strterm, brace_nest, string_nest, oldlex_state, line = memo
2966
+ lex_strterm, brace_nest, string_nest, oldlex_state = memo
2938
2967
  # TODO: heredoc_indent
2939
2968
 
2940
2969
  lexer.lex_strterm = lex_strterm
@@ -2994,11 +3023,11 @@ regexp_contents: none
2994
3023
 
2995
3024
  dsym: tSYMBEG string_contents tSTRING_END
2996
3025
  {
2997
- _, result, _ = val
3026
+ (_, line), result, _ = val
2998
3027
 
2999
3028
  lexer.lex_state = EXPR_END
3000
3029
 
3001
- result ||= s(:str, "").line lexer.lineno
3030
+ result ||= s(:str, "").line line
3002
3031
 
3003
3032
  case result.sexp_type
3004
3033
  when :dstr then
@@ -3036,15 +3065,15 @@ regexp_contents: none
3036
3065
  | tCONSTANT
3037
3066
  | tCVAR
3038
3067
 
3039
- keyword_variable: kNIL { result = s(:nil).line lexer.lineno }
3040
- | kSELF { result = s(:self).line lexer.lineno }
3041
- | kTRUE { result = s(:true).line lexer.lineno }
3042
- | kFALSE { result = s(:false).line lexer.lineno }
3043
- | k__FILE__ { result = s(:str, self.file).line lexer.lineno }
3044
- | k__LINE__ { result = s(:lit, lexer.lineno).line lexer.lineno }
3068
+ keyword_variable: kNIL { (_, line), = val; result = s(:nil).line line }
3069
+ | kSELF { (_, line), = val; result = s(:self).line line }
3070
+ | kTRUE { (_, line), = val; result = s(:true).line line }
3071
+ | kFALSE { (_, line), = val; result = s(:false).line line }
3072
+ | k__FILE__ { (_, line), = val; result = s(:str, self.file).line line }
3073
+ | k__LINE__ { (_, line), = val; result = s(:lit, line).line line }
3045
3074
  | k__ENCODING__
3046
3075
  {
3047
- l = lexer.lineno
3076
+ (_, l), = val
3048
3077
  result =
3049
3078
  if defined? Encoding then
3050
3079
  s(:colon2, s(:const, :Encoding).line(l), :UTF_8).line l
@@ -3219,12 +3248,12 @@ f_opt_paren_args: f_paren_args
3219
3248
  |
3220
3249
  {
3221
3250
  result = args val
3222
- # result.line lexer.lineno
3223
3251
  }
3224
3252
 
3225
3253
  args_forward: tBDOT3
3226
3254
  {
3227
- result = s(:forward_args).line lexer.lineno
3255
+ (_, line), = val
3256
+ result = s(:forward_args).line line
3228
3257
  }
3229
3258
 
3230
3259
  f_bad_arg: tCONSTANT
@@ -3362,9 +3391,10 @@ f_opt_paren_args: f_paren_args
3362
3391
  }
3363
3392
  | kwrest_mark
3364
3393
  {
3394
+ (_, line), = val
3365
3395
  id = :"**"
3366
- self.env[id] = :lvar # TODO: needed?!?
3367
- result = [id, lexer.lineno] # TODO: tPOW/tDSTAR include lineno
3396
+ self.env[id] = :lvar
3397
+ result = [id, line]
3368
3398
  }
3369
3399
 
3370
3400
  f_opt: f_arg_asgn
@@ -3430,9 +3460,10 @@ f_opt_paren_args: f_paren_args
3430
3460
  }
3431
3461
  | restarg_mark
3432
3462
  {
3463
+ (_, line), = val
3433
3464
  name = :"*"
3434
3465
  self.env[name] = :lvar
3435
- result = [name, lexer.lineno] # FIX: tSTAR to include lineno
3466
+ result = [name, line]
3436
3467
  }
3437
3468
 
3438
3469
  blkarg_mark: tAMPER2 | tAMPER
@@ -3523,6 +3554,13 @@ f_opt_paren_args: f_paren_args
3523
3554
  line = arg.line
3524
3555
  result = s(:array, s(:kwsplat, arg).line(line)).line line
3525
3556
  }
3557
+ #if V >= 32
3558
+ | tDSTAR
3559
+ {
3560
+ (_, line), = val
3561
+ result = s(:array, s(:kwsplat).line(line)).line line
3562
+ }
3563
+ #endif
3526
3564
 
3527
3565
  operation: tIDENTIFIER | tCONSTANT | tFID
3528
3566
  operation2: tIDENTIFIER | tCONSTANT | tFID | op
@@ -3537,11 +3575,10 @@ f_opt_paren_args: f_paren_args
3537
3575
  opt_terms: | terms
3538
3576
  opt_nl: | tNL
3539
3577
  rparen: opt_nl tRPAREN
3540
- # TODO:
3541
- # {
3542
- # _, close = val
3543
- # result = [close, lexer.lineno]
3544
- # }
3578
+ {
3579
+ _, close = val # TODO: include lineno in close?
3580
+ result = [close, lexer.lineno]
3581
+ }
3545
3582
  rbracket: opt_nl tRBRACK
3546
3583
  {
3547
3584
  _, close = val
data/lib/ruby_lexer.rb CHANGED
@@ -271,6 +271,8 @@ class RubyLexer
271
271
  nil # TODO
272
272
  end
273
273
 
274
+ # TODO: make all tXXXX terminals include lexer.lineno ... enforce it somehow?
275
+
274
276
  def process_brace_close text
275
277
  case matched
276
278
  when "}" then
@@ -2,7 +2,7 @@
2
2
  # encoding: UTF-8
3
3
  #--
4
4
  # This file is automatically generated. Do not modify it.
5
- # Generated by: oedipus_lex version 2.6.0.
5
+ # Generated by: oedipus_lex version 2.6.1.
6
6
  # Source: lib/ruby_lexer.rex
7
7
  #++
8
8
 
@@ -56,7 +56,7 @@ class RubyLexer
56
56
  return :tSTRING_DVAR, matched
57
57
  when scan(/#[{]/) then
58
58
  self.command_start = true
59
- return :tSTRING_DBEG, matched
59
+ return :tSTRING_DBEG, [matched, lineno]
60
60
  when scan(/#/) then
61
61
  string_buffer << "#"
62
62
  end
@@ -415,7 +415,7 @@ class RubyLexer
415
415
  return :tSTRING_DVAR, matched
416
416
  when scan(/#[{]/) then
417
417
  self.command_start = true
418
- return :tSTRING_DBEG, matched
418
+ return :tSTRING_DBEG, [matched, lineno]
419
419
  when scan(/#/) then
420
420
  # do nothing but swallow
421
421
  end
data/lib/ruby_parser.yy CHANGED
@@ -1293,7 +1293,6 @@ rule
1293
1293
  | k_begin
1294
1294
  {
1295
1295
  lexer.cmdarg.push false
1296
- result = self.lexer.lineno
1297
1296
  }
1298
1297
  bodystmt k_end
1299
1298
  {
@@ -1458,9 +1457,6 @@ rule
1458
1457
  result = new_for iter, var, body
1459
1458
  }
1460
1459
  | k_class
1461
- {
1462
- result = self.lexer.lineno
1463
- }
1464
1460
  cpath superclass
1465
1461
  {
1466
1462
  if (self.in_def || self.in_single > 0) then
@@ -1475,9 +1471,6 @@ rule
1475
1471
  self.lexer.ignore_body_comments
1476
1472
  }
1477
1473
  | k_class tLSHFT
1478
- {
1479
- result = self.lexer.lineno
1480
- }
1481
1474
  expr
1482
1475
  {
1483
1476
  result = self.in_def
@@ -1496,9 +1489,6 @@ rule
1496
1489
  self.lexer.ignore_body_comments
1497
1490
  }
1498
1491
  | k_module
1499
- {
1500
- result = self.lexer.lineno
1501
- }
1502
1492
  cpath
1503
1493
  {
1504
1494
  yyerror "module definition in method body" if
@@ -30,7 +30,7 @@ class Sexp
30
30
  end
31
31
 
32
32
  module RubyParserStuff
33
- VERSION = "3.20.1"
33
+ VERSION = "3.20.2"
34
34
 
35
35
  attr_accessor :lexer, :in_def, :in_single, :file
36
36
  attr_accessor :in_kwarg
@@ -824,10 +824,10 @@ module RubyParserStuff
824
824
  end
825
825
 
826
826
  def new_begin val
827
- _, lineno, body, _ = val
827
+ (_, line), _, body, _ = val
828
828
 
829
829
  result = body ? s(:begin, body) : s(:nil)
830
- result.line lineno
830
+ result.line line
831
831
 
832
832
  result
833
833
  end
@@ -928,8 +928,7 @@ module RubyParserStuff
928
928
  end
929
929
 
930
930
  def new_class val
931
- # TODO: get line from class keyword
932
- _, line, path, superclass, _, body, (_, line_max) = val
931
+ (_, line), path, superclass, _, body, (_, line_max) = val
933
932
 
934
933
  path = path.first if path.instance_of? Array
935
934
 
@@ -1209,7 +1208,7 @@ module RubyParserStuff
1209
1208
  end
1210
1209
 
1211
1210
  def new_module val
1212
- (_, line_min), _, path, _, body, (_, line_max) = val
1211
+ (_, line_min), path, _, body, (_, line_max) = val
1213
1212
 
1214
1213
  path = path.first if path.instance_of? Array
1215
1214
 
@@ -1367,7 +1366,7 @@ module RubyParserStuff
1367
1366
  end
1368
1367
 
1369
1368
  def new_sclass val
1370
- recv, in_def, in_single, body = val[3], val[4], val[6], val[7]
1369
+ (_, line), _, recv, in_def, _, in_single, body, _ = val
1371
1370
 
1372
1371
  result = s(:sclass, recv)
1373
1372
 
@@ -1379,7 +1378,7 @@ module RubyParserStuff
1379
1378
  end
1380
1379
  end
1381
1380
 
1382
- result.line = val[2]
1381
+ result.line = line
1383
1382
  self.in_def = in_def
1384
1383
  self.in_single = in_single
1385
1384
  result
@@ -132,11 +132,13 @@ module TestRubyParserShared
132
132
  # for the array. Luckily, the arary elements all seemt to get the correct
133
133
  # line number.
134
134
  rb = "[\n'a',\n'b']\n1"
135
+
135
136
  pt = s(:block,
136
137
  s(:array,
137
138
  s(:str, "a").line(2),
138
- s(:str, "b").line(3)),
139
+ s(:str, "b").line(3)).line(1),
139
140
  s(:lit, 1).line(4)).line 1
141
+
140
142
  assert_parse rb, pt
141
143
  end
142
144
 
@@ -5632,6 +5634,34 @@ end
5632
5634
 
5633
5635
  module TestRubyParserShared32Plus
5634
5636
  include TestRubyParserShared31Plus
5637
+
5638
+ def test_args_star__anon_solo
5639
+ rb = "f(*)"
5640
+ pt = s(:call, nil, :f, s(:splat))
5641
+
5642
+ assert_parse rb, pt
5643
+ end
5644
+
5645
+ def test_args_star__anon_trailing
5646
+ rb = "f(x, *)"
5647
+ pt = s(:call, nil, :f, s(:call, nil, :x), s(:splat))
5648
+
5649
+ assert_parse rb, pt
5650
+ end
5651
+
5652
+ def test_args_dstar__anon_solo
5653
+ rb = "f(**)"
5654
+ pt = s(:call, nil, :f, s(:hash, s(:kwsplat))) # TODO double check this
5655
+
5656
+ assert_parse rb, pt
5657
+ end
5658
+
5659
+ def test_args_dstar__anon_trailing
5660
+ rb = "f(x, **)"
5661
+ pt = s(:call, nil, :f, s(:call, nil, :x), s(:hash, s(:kwsplat))) # TODO double check this
5662
+
5663
+ assert_parse rb, pt
5664
+ end
5635
5665
  end
5636
5666
 
5637
5667
  class Minitest::Test
data.tar.gz.sig CHANGED
Binary file
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ruby_parser
3
3
  version: !ruby/object:Gem::Version
4
- version: 3.20.1
4
+ version: 3.20.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ryan Davis
@@ -29,7 +29,7 @@ cert_chain:
29
29
  ROfWo9Uyp8ba/j9eVG14KkYRaLydAY1MNQk2yd3R5CGfeOpD1kttxjoypoUJ2dOG
30
30
  nsNBRuQJ1UfiCG97a6DNm+Fr
31
31
  -----END CERTIFICATE-----
32
- date: 2023-05-17 00:00:00.000000000 Z
32
+ date: 2023-06-06 00:00:00.000000000 Z
33
33
  dependencies:
34
34
  - !ruby/object:Gem::Dependency
35
35
  name: sexp_processor
metadata.gz.sig CHANGED
Binary file