ruby2ruby 2.5.0 → 2.5.1

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 81af7fc05fec7a9e31a0e7e0e707526277c4535d0b7a5b12f67ab524989bc355
4
- data.tar.gz: df311f1adf30683d68b615494249bd903dfb962b52936031c02b1c3fe147e1eb
3
+ metadata.gz: ce3916335beb18e635634b93a85be8c88aaaab6029aea5ba5426b429cebbb2a6
4
+ data.tar.gz: e443e89cd7216bee0ae5d2fc8b182cafb94827357cb82d2b248cb19e2a26b6bd
5
5
  SHA512:
6
- metadata.gz: 60363a4606501b46962382d2343a49e1687a85f608b039936b516619209f407292052da552b1328ae02c872d7972d7b839b2de4d28ca6c2945e2a77746046417
7
- data.tar.gz: cb1f7cf0373c3f2f8ed7adfdd2688ad2cf9b262db3f058cf7f6bb43b195ba7a1e270b168039396a26923d0d21aa2a23233f4b0c8f2e2f5e49ce3ff87efcfd30b
6
+ metadata.gz: 62655af018fce2402bb410d7606afb34f7a6f332c88fc74aca6ebf9faf5f37abd23d9827cfd5d5742d3240d89ae838f4ef7d28f92da7bc520c335467b89a448a
7
+ data.tar.gz: 637c87a736b4da72487c95bc8fa981d49ba9b57e3e8f48c2013ef52bbbcb09176c0abfae18b272cba551adcb5961bcad6e94fa38dee8352f154986861cf7e616
checksums.yaml.gz.sig CHANGED
Binary file
data/History.rdoc CHANGED
@@ -1,3 +1,9 @@
1
+ === 2.5.1 / 2024-07-08
2
+
3
+ * 1 bug fix:
4
+
5
+ * Fix errors created when string literals are frozen. (byroot + zenspider)
6
+
1
7
  === 2.5.0 / 2022-10-04
2
8
 
3
9
  * 5 minor enhancements:
data/lib/ruby2ruby.rb CHANGED
@@ -31,7 +31,7 @@ end
31
31
  # Generate ruby code from a sexp.
32
32
 
33
33
  class Ruby2Ruby < SexpProcessor
34
- VERSION = "2.5.0" # :nodoc:
34
+ VERSION = "2.5.1" # :nodoc:
35
35
 
36
36
  # cutoff for one-liners
37
37
  LINE_LENGTH = 78
@@ -475,7 +475,7 @@ class Ruby2Ruby < SexpProcessor
475
475
 
476
476
  options = re_opt rest.pop if Integer === rest.last
477
477
 
478
- "/" << util_dthing(:dregx, s(:dregx, str, *rest)) << "/#{options}"
478
+ "/" + util_dthing(:dregx, s(:dregx, str, *rest)) << "/#{options}"
479
479
  end
480
480
 
481
481
  def process_dregx_once(exp) # :nodoc:
@@ -502,7 +502,7 @@ class Ruby2Ruby < SexpProcessor
502
502
  ens = process(ens) || "# do nothing"
503
503
  ens = "begin\n#{ens}\nend\n" if ens =~ /(^|\n)rescue/
504
504
 
505
- body.sub!(/\n\s*end\z/, "")
505
+ body = body.sub(/\n\s*end\z/, "")
506
506
  body = indent(body) unless body =~ /(^|\n)rescue/
507
507
 
508
508
  "#{body}\nensure\n#{indent ens}"
@@ -699,11 +699,12 @@ class Ruby2Ruby < SexpProcessor
699
699
  return r if r and (@indent + r).size < LINE_LENGTH and r !~ /\n/
700
700
  end
701
701
 
702
- r = "if #{c} then\n#{indent(t)}\n"
702
+ r = []
703
+ r << "if #{c} then\n#{indent(t)}\n"
703
704
  r << "else\n#{indent(f)}\n" if f
704
705
  r << "end"
705
706
 
706
- r
707
+ r.join
707
708
  elsif f
708
709
  unless expand then
709
710
  r = "#{f} unless #{c}"
@@ -745,7 +746,7 @@ class Ruby2Ruby < SexpProcessor
745
746
  %w[ do end ]
746
747
  end
747
748
 
748
- iter.sub!(/\(\)$/, "")
749
+ iter = iter.sub(/\(\)$/, "")
749
750
 
750
751
  # REFACTOR: ugh
751
752
  result = []
@@ -42,6 +42,15 @@ class TestRuby2Ruby < R2RTestCase
42
42
  @processor = Ruby2Ruby.new
43
43
  end
44
44
 
45
+ # some things don't work in earlier rubies... oh well.
46
+ def skip30
47
+ skip unless RUBY_VERSION > "3.0"
48
+ end
49
+
50
+ def skip31
51
+ skip unless RUBY_VERSION > "3.1"
52
+ end
53
+
45
54
  def do_not_check_sexp!
46
55
  @check_sexp = false
47
56
  end
@@ -438,8 +447,10 @@ class TestRuby2Ruby < R2RTestCase
438
447
  end
439
448
 
440
449
  def test_forward_args__call
441
- inn = s(:call, nil, :y, s(:forward_args))
442
- out = "y(...)"
450
+ skip31
451
+
452
+ inn = s(:defn, :x, s(:args, s(:forward_args)), s(:call, nil, :y, s(:forward_args)))
453
+ out = "def x(...)\n y(...)\nend"
443
454
 
444
455
  assert_parse inn, out
445
456
  end
@@ -763,16 +774,22 @@ class TestRuby2Ruby < R2RTestCase
763
774
  end
764
775
 
765
776
  def test_case_in__array_pat_19
777
+ skip31
778
+
766
779
  assert_case_in "[^@a, ^$b, ^@@c]", s(:array_pat, nil, s(:ivar, :@a), s(:gvar, :$b), s(:cvar, :@@c)) # HACK: really not sure about this one
767
780
  end
768
781
 
769
782
  def test_case_in__find_pat_1
783
+ skip30
784
+
770
785
  assert_case_in "[*a, :+, *b]", s(:find_pat, nil, :"*a",
771
786
  s(:lit, :+),
772
787
  :"*b")
773
788
  end
774
789
 
775
790
  def test_case_in__find_pat_2
791
+ skip30
792
+
776
793
  assert_case_in "[*, :b, ^c, *]", s(:find_pat, nil,
777
794
  :*,
778
795
  s(:lit, :b), s(:lvar, :c),
@@ -780,6 +797,8 @@ class TestRuby2Ruby < R2RTestCase
780
797
  end
781
798
 
782
799
  def test_case_in__find_pat_3
800
+ skip30
801
+
783
802
  assert_case_in("Array(*b, n, { a: }, m, *a)",
784
803
  s(:find_pat,
785
804
  s(:const, :Array),
@@ -792,6 +811,8 @@ class TestRuby2Ruby < R2RTestCase
792
811
  end
793
812
 
794
813
  def test_case_in__find_pat_4
814
+ skip30
815
+
795
816
  assert_case_in("*b, n, { a: }, m, *a", s(:find_pat,
796
817
  nil,
797
818
  :"*b",
@@ -803,6 +824,8 @@ class TestRuby2Ruby < R2RTestCase
803
824
  end
804
825
 
805
826
  def test_case_in__find_pat_5
827
+ skip30
828
+
806
829
  assert_case_in("Array(*lhs, ^b, *rhs)", s(:find_pat,
807
830
  s(:const, :Array),
808
831
  :"*lhs",
@@ -1087,7 +1110,7 @@ class TestRuby2Ruby < R2RTestCase
1087
1110
  end
1088
1111
 
1089
1112
  def ruby_parser
1090
- parser = RubyParser.for_current_ruby
1113
+ parser = RubyParser.latest
1091
1114
 
1092
1115
  %i[a b c d].each do |v|
1093
1116
  parser.env[v] = :lvar
@@ -1155,7 +1178,7 @@ ir2r = File.read("lib/ruby2ruby.rb")
1155
1178
  require "ruby_parser"
1156
1179
 
1157
1180
  def morph_and_eval src, from, to, processor
1158
- parser = RubyParser.for_current_ruby rescue RubyParser.new
1181
+ parser = RubyParser.latest
1159
1182
  new_src = processor.new.process(parser.process(src.sub(from, to)))
1160
1183
 
1161
1184
  eval new_src
data.tar.gz.sig CHANGED
@@ -1,5 +1 @@
1
- JQ7>.3Y��˂PTn���:*�DW��E�›� ��s������;H�D��L5h��1���Lf���FP��j�u�ե��
2
- /s�3V�>N)ɗ�R�� �3Я�L��U3�����.��j�%Iս��t�,��� O
3
- �p�Z~�ʤL*L�/ޓͲh���>�{�^~<����y�Y�Ɇ�Lk=��+�l��l��a��V��羖M���
4
- %�B�BQ�
5
- ���UpH�u1d]TUaU
1
+ ��~--]䛱��ߴ���O��tZ����¦�~=�$-]h�<�<-�>eq�a�pܳ����)o���K�)'�O����z�s�t�cl�̲��J�!Dt���+��5��#�B~�U�R�\�#H��xHD4Q x�!<�S�=.�k��]P�9ڮyk#5o}5�8�QғPƧ��i6`>����%<��w�M,�B0P����'��u=+�*��j2�K~MѲ޻ ���It(z_ω"B$4]
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ruby2ruby
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.5.0
4
+ version: 2.5.1
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
+ MIIDPjCCAiagAwIBAgIBCDANBgkqhkiG9w0BAQsFADBFMRMwEQYDVQQDDApyeWFu
14
14
  ZC1ydWJ5MRkwFwYKCZImiZPyLGQBGRYJemVuc3BpZGVyMRMwEQYKCZImiZPyLGQB
15
- GRYDY29tMB4XDTIxMTIyMzIzMTkwNFoXDTIyMTIyMzIzMTkwNFowRTETMBEGA1UE
15
+ GRYDY29tMB4XDTI0MDEwMjIxMjEyM1oXDTI1MDEwMTIxMjEyM1owRTETMBEGA1UE
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
+ AQCygvpmncmkiSs9r/Kceo4bBPDszhTv6iBi4LwMReqnFrpNLMOWJw7xi8x+3eL2
26
+ XS09ZPNOt2zm70KmFouBMgOysnDY4k2dE8uF6B8JbZOO8QfalW+CoNBliefOTcn2
27
+ bg5IOP7UoGM5lC174/cbDJrJnRG9bzig5FAP0mvsgA8zgTRXQzIUAZEo92D5K7p4
28
+ B4/O998ho6BSOgYBI9Yk1ttdCtti6Y+8N9+fZESsjtWMykA+WXWeGUScHqiU+gH8
29
+ S7043fq9EbQdBr2AXdj92+CDwuTfHI6/Hj5FVBDULufrJaan4xUgL70Hvc6pTTeW
30
+ deKfBjgVAq7EYHu1AczzlUly
31
31
  -----END CERTIFICATE-----
32
- date: 2022-10-05 00:00:00.000000000 Z
32
+ date: 2024-07-08 00:00:00.000000000 Z
33
33
  dependencies:
34
34
  - !ruby/object:Gem::Dependency
35
35
  name: sexp_processor
@@ -85,14 +85,14 @@ dependencies:
85
85
  requirements:
86
86
  - - "~>"
87
87
  - !ruby/object:Gem::Version
88
- version: '3.25'
88
+ version: '4.2'
89
89
  type: :development
90
90
  prerelease: false
91
91
  version_requirements: !ruby/object:Gem::Requirement
92
92
  requirements:
93
93
  - - "~>"
94
94
  - !ruby/object:Gem::Version
95
- version: '3.25'
95
+ version: '4.2'
96
96
  description: |-
97
97
  ruby2ruby provides a means of generating pure ruby code easily from
98
98
  RubyParser compatible Sexps. This makes making dynamic language
@@ -137,7 +137,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
137
137
  - !ruby/object:Gem::Version
138
138
  version: '0'
139
139
  requirements: []
140
- rubygems_version: 3.3.12
140
+ rubygems_version: 3.5.14
141
141
  signing_key:
142
142
  specification_version: 4
143
143
  summary: ruby2ruby provides a means of generating pure ruby code easily from RubyParser
metadata.gz.sig CHANGED
Binary file