ruby2ruby 2.0.6 → 2.0.7
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 +7 -0
- checksums.yaml.gz.sig +0 -0
- data.tar.gz.sig +0 -0
- data/History.txt +13 -0
- data/lib/ruby2ruby.rb +42 -33
- data/test/test_ruby2ruby.rb +80 -21
- metadata +94 -114
- metadata.gz.sig +0 -0
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA1:
|
3
|
+
metadata.gz: 9d6a4ff1d7f84562a2721483c03a910d5f07bf9c
|
4
|
+
data.tar.gz: adcb9034137fa7ccf623b6a78a4acbc5e7904a3e
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: a67c1295e150cdeeb32adae504e17fa9abfbbeaf09f5a07586ad8ef2401224955d14f0bff25927617e9106e3b8f851b1ca822d650580a7db6d57864cd19c14a0
|
7
|
+
data.tar.gz: 9a1c8c80ceb85c87dcde08f3c0a265ff3f297a0d057d46096c7071f815e457ff824e8a3eff5b5081a323330b57ddefadca977cce29a5e9f4fb33b3efd15984bf
|
checksums.yaml.gz.sig
ADDED
Binary file
|
data.tar.gz.sig
CHANGED
Binary file
|
data/History.txt
CHANGED
@@ -1,3 +1,16 @@
|
|
1
|
+
=== 2.0.7 / 2013-12-13
|
2
|
+
|
3
|
+
* 4 minor enhancements:
|
4
|
+
|
5
|
+
* Add != to list of binary operators. (camertron) *le sigh*
|
6
|
+
* Clean out cruft from process_masgn that I can't reproduce anymore.
|
7
|
+
* Extend process_args to deal with masgn (eg: a.b { |(c, d)| ... }).
|
8
|
+
* Extend process_masgn to deal with both sexps and var lists.
|
9
|
+
|
10
|
+
* 1 bug fix:
|
11
|
+
|
12
|
+
* Ensure proper parens on rescue subexpressions. (Bocete)
|
13
|
+
|
1
14
|
=== 2.0.6 / 2013-06-20
|
2
15
|
|
3
16
|
* 2 bug fixes:
|
data/lib/ruby2ruby.rb
CHANGED
@@ -29,13 +29,13 @@ end
|
|
29
29
|
# Generate ruby code from a sexp.
|
30
30
|
|
31
31
|
class Ruby2Ruby < SexpProcessor
|
32
|
-
VERSION = "2.0.
|
32
|
+
VERSION = "2.0.7" # :nodoc:
|
33
33
|
|
34
34
|
# cutoff for one-liners
|
35
35
|
LINE_LENGTH = 78
|
36
36
|
|
37
37
|
# binary operation messages
|
38
|
-
BINARY = [:<=>, :==, :<, :>, :<=, :>=, :-, :+, :*, :/, :%, :<<, :>>,
|
38
|
+
BINARY = [:<=>, :==, :<, :>, :<=, :>=, :-, :+, :*, :/, :%, :<<, :>>, :**, :'!=']
|
39
39
|
|
40
40
|
##
|
41
41
|
# Nodes that represent assignment and probably need () around them.
|
@@ -55,6 +55,7 @@ class Ruby2Ruby < SexpProcessor
|
|
55
55
|
:op_asgn_or,
|
56
56
|
:return,
|
57
57
|
:if, # HACK
|
58
|
+
:rescue,
|
58
59
|
]
|
59
60
|
|
60
61
|
def initialize # :nodoc:
|
@@ -83,7 +84,10 @@ class Ruby2Ruby < SexpProcessor
|
|
83
84
|
def process_arglist(exp) # custom made node # :nodoc:
|
84
85
|
code = []
|
85
86
|
until exp.empty? do
|
86
|
-
|
87
|
+
arg = exp.shift
|
88
|
+
to_wrap = arg.first == :rescue
|
89
|
+
arg_code = process arg
|
90
|
+
code << (to_wrap ? "(#{arg_code})" : arg_code)
|
87
91
|
end
|
88
92
|
code.join ', '
|
89
93
|
end
|
@@ -100,6 +104,8 @@ class Ruby2Ruby < SexpProcessor
|
|
100
104
|
case arg.first
|
101
105
|
when :lasgn then
|
102
106
|
args << process(arg)
|
107
|
+
when :masgn then
|
108
|
+
args << process(arg)
|
103
109
|
else
|
104
110
|
raise "unknown arg type #{arg.first.inspect}"
|
105
111
|
end
|
@@ -597,40 +603,43 @@ class Ruby2Ruby < SexpProcessor
|
|
597
603
|
end
|
598
604
|
|
599
605
|
def process_masgn(exp) # :nodoc:
|
600
|
-
|
601
|
-
|
602
|
-
|
603
|
-
case
|
604
|
-
when
|
605
|
-
lhs.shift
|
606
|
-
|
607
|
-
|
608
|
-
|
609
|
-
|
610
|
-
|
611
|
-
|
606
|
+
# s(:masgn, s(:array, s(:lasgn, :var), ...), s(:to_ary, <val>, ...))
|
607
|
+
# s(:iter, <call>, s(:args, s(:masgn, :a, :b)), <body>)
|
608
|
+
|
609
|
+
case exp.first
|
610
|
+
when Sexp then
|
611
|
+
lhs = exp.shift
|
612
|
+
rhs = exp.empty? ? nil : exp.shift
|
613
|
+
|
614
|
+
case lhs.first
|
615
|
+
when :array then
|
616
|
+
lhs.shift # node type
|
617
|
+
lhs = lhs.map do |l|
|
618
|
+
case l.first
|
619
|
+
when :masgn then
|
620
|
+
"(#{process(l)})"
|
621
|
+
else
|
622
|
+
process(l)
|
623
|
+
end
|
612
624
|
end
|
625
|
+
else
|
626
|
+
raise "no clue: #{lhs.inspect}"
|
613
627
|
end
|
614
|
-
when :lasgn then
|
615
|
-
lhs = [ splat(lhs.last) ]
|
616
|
-
when :splat then
|
617
|
-
lhs = [ :"*" ]
|
618
|
-
else
|
619
|
-
raise "no clue: #{lhs.inspect}"
|
620
|
-
end
|
621
|
-
|
622
|
-
if context[1] == :iter and rhs then
|
623
|
-
lhs << splat(rhs[1])
|
624
|
-
rhs = nil
|
625
|
-
end
|
626
628
|
|
627
|
-
|
628
|
-
|
629
|
-
|
630
|
-
|
631
|
-
|
629
|
+
unless rhs.nil? then
|
630
|
+
t = rhs.first
|
631
|
+
rhs = process rhs
|
632
|
+
rhs = rhs[1..-2] if t == :array # FIX: bad? I dunno
|
633
|
+
return "#{lhs.join(", ")} = #{rhs}"
|
634
|
+
else
|
635
|
+
return lhs.join(", ")
|
636
|
+
end
|
637
|
+
when Symbol then # block arg list w/ masgn
|
638
|
+
result = exp.join ", "
|
639
|
+
exp.clear
|
640
|
+
"(#{result})"
|
632
641
|
else
|
633
|
-
|
642
|
+
raise "unknown masgn: #{exp.inspect}"
|
634
643
|
end
|
635
644
|
end
|
636
645
|
|
data/test/test_ruby2ruby.rb
CHANGED
@@ -9,6 +9,7 @@ require 'ruby2ruby'
|
|
9
9
|
require 'pt_testcase'
|
10
10
|
require 'fileutils'
|
11
11
|
require 'tmpdir'
|
12
|
+
require 'ruby_parser' if ENV["CHECK_SEXPS"]
|
12
13
|
|
13
14
|
class R2RTestCase < ParseTreeTestCase
|
14
15
|
def self.previous key
|
@@ -39,9 +40,14 @@ start = __LINE__
|
|
39
40
|
class TestRuby2Ruby < R2RTestCase
|
40
41
|
def setup
|
41
42
|
super
|
43
|
+
@check_sexp = ENV["CHECK_SEXPS"]
|
42
44
|
@processor = Ruby2Ruby.new
|
43
45
|
end
|
44
46
|
|
47
|
+
def do_not_check_sexp!
|
48
|
+
@check_sexp = false
|
49
|
+
end
|
50
|
+
|
45
51
|
def test_util_dthing_dregx
|
46
52
|
inn = util_thingy(:dregx)
|
47
53
|
inn.shift
|
@@ -87,6 +93,8 @@ class TestRuby2Ruby < R2RTestCase
|
|
87
93
|
end
|
88
94
|
|
89
95
|
def test_attr_reader_same
|
96
|
+
do_not_check_sexp!
|
97
|
+
|
90
98
|
inn = s(:defn, :same, s(:args), s(:ivar, :@same))
|
91
99
|
out = "attr_reader :same"
|
92
100
|
util_compare inn, out
|
@@ -99,6 +107,8 @@ class TestRuby2Ruby < R2RTestCase
|
|
99
107
|
end
|
100
108
|
|
101
109
|
def test_attr_reader_same_name_diff_body
|
110
|
+
do_not_check_sexp!
|
111
|
+
|
102
112
|
inn = s(:defn, :same, s(:args), s(:not, s(:ivar, :@same)))
|
103
113
|
out = "def same\n (not @same)\nend"
|
104
114
|
util_compare inn, out
|
@@ -124,12 +134,16 @@ class TestRuby2Ruby < R2RTestCase
|
|
124
134
|
end
|
125
135
|
|
126
136
|
def test_attr_writer_same
|
137
|
+
do_not_check_sexp!
|
138
|
+
|
127
139
|
inn = s(:defn, :same=, s(:args, :o), s(:iasgn, :@same , s(:lvar, :o)))
|
128
140
|
out = "attr_writer :same"
|
129
141
|
util_compare inn, out
|
130
142
|
end
|
131
143
|
|
132
144
|
def test_dregx_slash
|
145
|
+
do_not_check_sexp!
|
146
|
+
|
133
147
|
inn = util_thingy(:dregx)
|
134
148
|
out = '/a"b#{(1 + 1)}c"d\/e/'
|
135
149
|
util_compare inn, out, /a"b2c"d\/e/
|
@@ -148,6 +162,8 @@ class TestRuby2Ruby < R2RTestCase
|
|
148
162
|
end
|
149
163
|
|
150
164
|
def test_lit_regexp_slash
|
165
|
+
do_not_check_sexp! # dunno why on this one
|
166
|
+
|
151
167
|
util_compare s(:lit, /blah\/blah/), '/blah\/blah/', /blah\/blah/
|
152
168
|
end
|
153
169
|
|
@@ -206,20 +222,34 @@ class TestRuby2Ruby < R2RTestCase
|
|
206
222
|
util_compare inn, out
|
207
223
|
end
|
208
224
|
|
225
|
+
def test_masgn_block_arg
|
226
|
+
inn = s(:iter,
|
227
|
+
s(:call,
|
228
|
+
s(:nil),
|
229
|
+
:x),
|
230
|
+
s(:args, s(:masgn, :a, :b)),
|
231
|
+
s(:dstr, "",
|
232
|
+
s(:evstr, s(:lvar, :a)),
|
233
|
+
s(:str, "="),
|
234
|
+
s(:evstr, s(:lvar, :b))))
|
235
|
+
out = 'nil.x { |(a, b)| "#{a}=#{b}" }'
|
236
|
+
|
237
|
+
util_compare inn, out
|
238
|
+
end
|
239
|
+
|
209
240
|
def test_masgn_wtf
|
210
241
|
inn = s(:block,
|
211
242
|
s(:masgn,
|
212
243
|
s(:array, s(:lasgn, :k), s(:lasgn, :v)),
|
213
|
-
s(:
|
214
|
-
s(:
|
215
|
-
s(:call,
|
216
|
-
|
217
|
-
|
218
|
-
s(:lit, /\=/), s(:lit, 2))))),
|
244
|
+
s(:splat,
|
245
|
+
s(:call,
|
246
|
+
s(:call, nil, :line),
|
247
|
+
:split,
|
248
|
+
s(:lit, /\=/), s(:lit, 2)))),
|
219
249
|
s(:attrasgn,
|
220
250
|
s(:self),
|
221
251
|
:[]=,
|
222
|
-
s(:
|
252
|
+
s(:lvar, :k),
|
223
253
|
s(:call, s(:lvar, :v), :strip)))
|
224
254
|
|
225
255
|
out = "k, v = *line.split(/\\=/, 2)\nself[k] = v.strip\n"
|
@@ -230,12 +260,11 @@ class TestRuby2Ruby < R2RTestCase
|
|
230
260
|
def test_masgn_splat_wtf
|
231
261
|
inn = s(:masgn,
|
232
262
|
s(:array, s(:lasgn, :k), s(:lasgn, :v)),
|
233
|
-
s(:
|
234
|
-
s(:
|
235
|
-
s(:call,
|
236
|
-
|
237
|
-
|
238
|
-
s(:lit, /\=/), s(:lit, 2)))))
|
263
|
+
s(:splat,
|
264
|
+
s(:call,
|
265
|
+
s(:call, nil, :line),
|
266
|
+
:split,
|
267
|
+
s(:lit, /\=/), s(:lit, 2))))
|
239
268
|
out = 'k, v = *line.split(/\\=/, 2)'
|
240
269
|
util_compare inn, out
|
241
270
|
end
|
@@ -264,9 +293,8 @@ class TestRuby2Ruby < R2RTestCase
|
|
264
293
|
s(:call, nil, :x1),
|
265
294
|
s(:resbody,
|
266
295
|
s(:array),
|
267
|
-
s(:
|
268
|
-
|
269
|
-
s(:call, nil, :x3))))
|
296
|
+
s(:call, nil, :x2),
|
297
|
+
s(:call, nil, :x3)))
|
270
298
|
|
271
299
|
out = "begin\n x1\nrescue\n x2\n x3\nend"
|
272
300
|
util_compare inn, out
|
@@ -342,8 +370,17 @@ class TestRuby2Ruby < R2RTestCase
|
|
342
370
|
util_compare inn, out
|
343
371
|
end
|
344
372
|
|
373
|
+
def test_binary_operators
|
374
|
+
# (1 > 2)
|
375
|
+
Ruby2Ruby::BINARY.each do |op|
|
376
|
+
inn = s(:call, s(:lit, 1), op, s(:lit, 2))
|
377
|
+
out = "(1 #{op} 2)"
|
378
|
+
util_compare inn, out
|
379
|
+
end
|
380
|
+
end
|
381
|
+
|
345
382
|
def test_call_empty_hash
|
346
|
-
inn = s(:call, nil, :foo, s(:
|
383
|
+
inn = s(:call, nil, :foo, s(:hash))
|
347
384
|
out = "foo({})"
|
348
385
|
util_compare inn, out
|
349
386
|
end
|
@@ -422,13 +459,32 @@ class TestRuby2Ruby < R2RTestCase
|
|
422
459
|
inn = s(:rescue,
|
423
460
|
s(:call, nil, :alpha),
|
424
461
|
s(:resbody, s(:array),
|
425
|
-
s(:
|
426
|
-
|
427
|
-
s(:call, nil, :gamma))))
|
462
|
+
s(:call, nil, :beta),
|
463
|
+
s(:call, nil, :gamma)))
|
428
464
|
out = "begin\n alpha\nrescue\n beta\n gamma\nend"
|
429
465
|
util_compare inn, out
|
430
466
|
end
|
431
467
|
|
468
|
+
def test_array_adds_parens_around_rescue
|
469
|
+
inn = s(:array,
|
470
|
+
s(:call, nil, :a),
|
471
|
+
s(:rescue, s(:call, nil, :b), s(:resbody, s(:array), s(:call, nil, :c))))
|
472
|
+
out = "[a, (b rescue c)]"
|
473
|
+
|
474
|
+
util_compare inn, out
|
475
|
+
end
|
476
|
+
|
477
|
+
def test_call_arglist_rescue
|
478
|
+
inn = s(:call,
|
479
|
+
nil,
|
480
|
+
:method,
|
481
|
+
s(:rescue,
|
482
|
+
s(:call, nil, :a),
|
483
|
+
s(:resbody, s(:array), s(:call, nil, :b))))
|
484
|
+
out = "method((a rescue b))"
|
485
|
+
util_compare inn, out
|
486
|
+
end
|
487
|
+
|
432
488
|
def test_unless_vs_if_not
|
433
489
|
rb1 = "a unless b"
|
434
490
|
rb2 = "a if (not b)"
|
@@ -445,7 +501,10 @@ class TestRuby2Ruby < R2RTestCase
|
|
445
501
|
end
|
446
502
|
|
447
503
|
def util_compare sexp, expected_ruby, expected_eval = nil
|
448
|
-
assert_equal
|
504
|
+
assert_equal sexp, RubyParser.new.process(expected_ruby), "ruby -> sexp" if
|
505
|
+
@check_sexp
|
506
|
+
|
507
|
+
assert_equal expected_ruby, @processor.process(sexp), "sexp -> ruby"
|
449
508
|
assert_equal expected_eval, eval(expected_ruby) if expected_eval
|
450
509
|
end
|
451
510
|
|
metadata
CHANGED
@@ -1,24 +1,18 @@
|
|
1
|
-
--- !ruby/object:Gem::Specification
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
2
|
name: ruby2ruby
|
3
|
-
version: !ruby/object:Gem::Version
|
4
|
-
|
5
|
-
prerelease:
|
6
|
-
segments:
|
7
|
-
- 2
|
8
|
-
- 0
|
9
|
-
- 6
|
10
|
-
version: 2.0.6
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 2.0.7
|
11
5
|
platform: ruby
|
12
|
-
authors:
|
6
|
+
authors:
|
13
7
|
- Ryan Davis
|
14
8
|
autorequire:
|
15
9
|
bindir: bin
|
16
|
-
cert_chain:
|
10
|
+
cert_chain:
|
17
11
|
- |
|
18
12
|
-----BEGIN CERTIFICATE-----
|
19
|
-
|
13
|
+
MIIDPjCCAiagAwIBAgIBATANBgkqhkiG9w0BAQUFADBFMRMwEQYDVQQDDApyeWFu
|
20
14
|
ZC1ydWJ5MRkwFwYKCZImiZPyLGQBGRYJemVuc3BpZGVyMRMwEQYKCZImiZPyLGQB
|
21
|
-
|
15
|
+
GRYDY29tMB4XDTEzMDkxNjIzMDQxMloXDTE0MDkxNjIzMDQxMlowRTETMBEGA1UE
|
22
16
|
AwwKcnlhbmQtcnVieTEZMBcGCgmSJomT8ixkARkWCXplbnNwaWRlcjETMBEGCgmS
|
23
17
|
JomT8ixkARkWA2NvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBALda
|
24
18
|
b9DCgK+627gPJkB6XfjZ1itoOQvpqH1EXScSaba9/S2VF22VYQbXU1xQXL/WzCkx
|
@@ -28,106 +22,99 @@ cert_chain:
|
|
28
22
|
qhtV7HJxNKuPj/JFH0D2cswvzznE/a5FOYO68g+YCuFi5L8wZuuM8zzdwjrWHqSV
|
29
23
|
gBEfoTEGr7Zii72cx+sCAwEAAaM5MDcwCQYDVR0TBAIwADALBgNVHQ8EBAMCBLAw
|
30
24
|
HQYDVR0OBBYEFEfFe9md/r/tj/Wmwpy+MI8d9k/hMA0GCSqGSIb3DQEBBQUAA4IB
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
25
|
+
AQCFZ7JTzoy1gcG4d8A6dmOJy7ygtO5MFpRIz8HuKCF5566nOvpy7aHhDDzFmQuu
|
26
|
+
FX3zDU6ghx5cQIueDhf2SGOncyBmmJRRYawm3wI0o1MeN6LZJ/3cRaOTjSFy6+S6
|
27
|
+
zqDmHBp8fVA2TGJtO0BLNkbGVrBJjh0UPmSoGzWlRhEVnYC33TpDAbNA+u39UrQI
|
28
|
+
ynwhNN7YbnmSR7+JU2cUjBFv2iPBO+TGuWC+9L2zn3NHjuc6tnmSYipA9y8Hv+As
|
29
|
+
Y4evBVezr3SjXz08vPqRO5YRdO3zfeMT8gBjRqZjWJGMZ2lD4XNfrs7eky74CyZw
|
30
|
+
xx3n58i0lQkBE1EpKE0lFu/y
|
37
31
|
-----END CERTIFICATE-----
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
- !ruby/object:Gem::Dependency
|
32
|
+
date: 2013-12-14 00:00:00.000000000 Z
|
33
|
+
dependencies:
|
34
|
+
- !ruby/object:Gem::Dependency
|
42
35
|
name: sexp_processor
|
43
|
-
|
44
|
-
|
45
|
-
none: false
|
46
|
-
requirements:
|
36
|
+
requirement: !ruby/object:Gem::Requirement
|
37
|
+
requirements:
|
47
38
|
- - ~>
|
48
|
-
- !ruby/object:Gem::Version
|
49
|
-
|
50
|
-
segments:
|
51
|
-
- 4
|
52
|
-
- 0
|
53
|
-
version: "4.0"
|
39
|
+
- !ruby/object:Gem::Version
|
40
|
+
version: '4.0'
|
54
41
|
type: :runtime
|
55
|
-
version_requirements: *id001
|
56
|
-
- !ruby/object:Gem::Dependency
|
57
|
-
name: ruby_parser
|
58
42
|
prerelease: false
|
59
|
-
|
60
|
-
|
61
|
-
|
43
|
+
version_requirements: !ruby/object:Gem::Requirement
|
44
|
+
requirements:
|
45
|
+
- - ~>
|
46
|
+
- !ruby/object:Gem::Version
|
47
|
+
version: '4.0'
|
48
|
+
- !ruby/object:Gem::Dependency
|
49
|
+
name: ruby_parser
|
50
|
+
requirement: !ruby/object:Gem::Requirement
|
51
|
+
requirements:
|
62
52
|
- - ~>
|
63
|
-
- !ruby/object:Gem::Version
|
64
|
-
|
65
|
-
segments:
|
66
|
-
- 3
|
67
|
-
- 1
|
68
|
-
version: "3.1"
|
53
|
+
- !ruby/object:Gem::Version
|
54
|
+
version: '3.1'
|
69
55
|
type: :runtime
|
70
|
-
version_requirements: *id002
|
71
|
-
- !ruby/object:Gem::Dependency
|
72
|
-
name: minitest
|
73
56
|
prerelease: false
|
74
|
-
|
75
|
-
|
76
|
-
|
57
|
+
version_requirements: !ruby/object:Gem::Requirement
|
58
|
+
requirements:
|
59
|
+
- - ~>
|
60
|
+
- !ruby/object:Gem::Version
|
61
|
+
version: '3.1'
|
62
|
+
- !ruby/object:Gem::Dependency
|
63
|
+
name: minitest
|
64
|
+
requirement: !ruby/object:Gem::Requirement
|
65
|
+
requirements:
|
77
66
|
- - ~>
|
78
|
-
- !ruby/object:Gem::Version
|
79
|
-
|
80
|
-
segments:
|
81
|
-
- 5
|
82
|
-
- 0
|
83
|
-
version: "5.0"
|
67
|
+
- !ruby/object:Gem::Version
|
68
|
+
version: '5.2'
|
84
69
|
type: :development
|
85
|
-
version_requirements: *id003
|
86
|
-
- !ruby/object:Gem::Dependency
|
87
|
-
name: rdoc
|
88
70
|
prerelease: false
|
89
|
-
|
90
|
-
|
91
|
-
requirements:
|
71
|
+
version_requirements: !ruby/object:Gem::Requirement
|
72
|
+
requirements:
|
92
73
|
- - ~>
|
93
|
-
- !ruby/object:Gem::Version
|
94
|
-
|
95
|
-
|
96
|
-
|
97
|
-
|
98
|
-
|
74
|
+
- !ruby/object:Gem::Version
|
75
|
+
version: '5.2'
|
76
|
+
- !ruby/object:Gem::Dependency
|
77
|
+
name: rdoc
|
78
|
+
requirement: !ruby/object:Gem::Requirement
|
79
|
+
requirements:
|
80
|
+
- - ~>
|
81
|
+
- !ruby/object:Gem::Version
|
82
|
+
version: '4.0'
|
99
83
|
type: :development
|
100
|
-
version_requirements: *id004
|
101
|
-
- !ruby/object:Gem::Dependency
|
102
|
-
name: hoe
|
103
84
|
prerelease: false
|
104
|
-
|
105
|
-
|
106
|
-
requirements:
|
85
|
+
version_requirements: !ruby/object:Gem::Requirement
|
86
|
+
requirements:
|
107
87
|
- - ~>
|
108
|
-
- !ruby/object:Gem::Version
|
109
|
-
|
110
|
-
|
111
|
-
|
112
|
-
|
113
|
-
|
88
|
+
- !ruby/object:Gem::Version
|
89
|
+
version: '4.0'
|
90
|
+
- !ruby/object:Gem::Dependency
|
91
|
+
name: hoe
|
92
|
+
requirement: !ruby/object:Gem::Requirement
|
93
|
+
requirements:
|
94
|
+
- - ~>
|
95
|
+
- !ruby/object:Gem::Version
|
96
|
+
version: '3.7'
|
114
97
|
type: :development
|
115
|
-
|
98
|
+
prerelease: false
|
99
|
+
version_requirements: !ruby/object:Gem::Requirement
|
100
|
+
requirements:
|
101
|
+
- - ~>
|
102
|
+
- !ruby/object:Gem::Version
|
103
|
+
version: '3.7'
|
116
104
|
description: |-
|
117
105
|
ruby2ruby provides a means of generating pure ruby code easily from
|
118
106
|
RubyParser compatible Sexps. This makes making dynamic language
|
119
107
|
processors in ruby easier than ever!
|
120
|
-
email:
|
108
|
+
email:
|
121
109
|
- ryand-ruby@zenspider.com
|
122
|
-
executables:
|
110
|
+
executables:
|
123
111
|
- r2r_show
|
124
112
|
extensions: []
|
125
|
-
|
126
|
-
extra_rdoc_files:
|
113
|
+
extra_rdoc_files:
|
127
114
|
- History.txt
|
128
115
|
- Manifest.txt
|
129
116
|
- README.txt
|
130
|
-
files:
|
117
|
+
files:
|
131
118
|
- .autotest
|
132
119
|
- History.txt
|
133
120
|
- Manifest.txt
|
@@ -138,38 +125,31 @@ files:
|
|
138
125
|
- test/test_ruby2ruby.rb
|
139
126
|
- .gemtest
|
140
127
|
homepage: https://github.com/seattlerb/ruby2ruby
|
141
|
-
licenses:
|
142
|
-
|
128
|
+
licenses:
|
129
|
+
- MIT
|
130
|
+
metadata: {}
|
143
131
|
post_install_message:
|
144
|
-
rdoc_options:
|
132
|
+
rdoc_options:
|
145
133
|
- --main
|
146
134
|
- README.txt
|
147
|
-
require_paths:
|
135
|
+
require_paths:
|
148
136
|
- lib
|
149
|
-
required_ruby_version: !ruby/object:Gem::Requirement
|
150
|
-
|
151
|
-
|
152
|
-
|
153
|
-
|
154
|
-
|
155
|
-
|
156
|
-
|
157
|
-
|
158
|
-
|
159
|
-
none: false
|
160
|
-
requirements:
|
161
|
-
- - ">="
|
162
|
-
- !ruby/object:Gem::Version
|
163
|
-
hash: 3
|
164
|
-
segments:
|
165
|
-
- 0
|
166
|
-
version: "0"
|
137
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
138
|
+
requirements:
|
139
|
+
- - '>='
|
140
|
+
- !ruby/object:Gem::Version
|
141
|
+
version: '0'
|
142
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
143
|
+
requirements:
|
144
|
+
- - '>='
|
145
|
+
- !ruby/object:Gem::Version
|
146
|
+
version: '0'
|
167
147
|
requirements: []
|
168
|
-
|
169
148
|
rubyforge_project: seattlerb
|
170
|
-
rubygems_version: 1.
|
149
|
+
rubygems_version: 2.1.10
|
171
150
|
signing_key:
|
172
|
-
specification_version:
|
173
|
-
summary: ruby2ruby provides a means of generating pure ruby code easily from RubyParser
|
174
|
-
|
151
|
+
specification_version: 4
|
152
|
+
summary: ruby2ruby provides a means of generating pure ruby code easily from RubyParser
|
153
|
+
compatible Sexps
|
154
|
+
test_files:
|
175
155
|
- test/test_ruby2ruby.rb
|
metadata.gz.sig
CHANGED
Binary file
|