ruby2ruby 2.0.6 → 2.0.7
Sign up to get free protection for your applications and to get access to all the features.
- 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
|