unparser 0.0.2 → 0.0.3
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 +4 -4
- data/.travis.yml +3 -1
- data/Changelog.md +8 -0
- data/Guardfile +1 -1
- data/README.md +2 -0
- data/config/flay.yml +1 -1
- data/config/reek.yml +6 -4
- data/lib/unparser.rb +5 -1
- data/lib/unparser/constants.rb +16 -14
- data/lib/unparser/emitter/argument.rb +71 -5
- data/lib/unparser/emitter/assignment.rb +2 -2
- data/lib/unparser/emitter/begin.rb +1 -2
- data/lib/unparser/emitter/binary.rb +2 -2
- data/lib/unparser/emitter/block.rb +2 -12
- data/lib/unparser/emitter/cbase.rb +1 -1
- data/lib/unparser/emitter/class.rb +2 -2
- data/lib/unparser/emitter/def.rb +1 -11
- data/lib/unparser/emitter/empty.rb +22 -0
- data/lib/unparser/emitter/not.rb +1 -1
- data/lib/unparser/emitter/op_assign.rb +1 -1
- data/lib/unparser/emitter/repetition.rb +1 -1
- data/lib/unparser/emitter/send.rb +1 -1
- data/lib/unparser/emitter/send/binary.rb +2 -2
- data/lib/unparser/emitter/send/index.rb +1 -1
- data/lib/unparser/emitter/splat.rb +1 -1
- data/lib/unparser/emitter/variable.rb +1 -1
- data/spec/integration/unparser/spike_spec.rb +84 -14
- data/spec/spec_helper.rb +2 -0
- data/unparser.gemspec +1 -1
- metadata +3 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 76fd3cadb7aa3c25e62d45e012c2377b6fecc0e9
|
4
|
+
data.tar.gz: 9a5b5833a38bffedb47db8c578c83a09607e2ce9
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 091f158bbe82fb41ef74e0d5367672083a21b95df31ad7493423fc13267348b1fed8331c8b3058ee0e18fad31a28498ed90c791852074d94fba986ef4a65b957
|
7
|
+
data.tar.gz: a1b024cabf31dfceacdf8320d832859f6cf8ec2c4a3970373a90400e81a2d501fa2a6bd0d4fcd2bfc73a961a72f35d2386246f2884ea66c5315430768317b177
|
data/.travis.yml
CHANGED
data/Changelog.md
CHANGED
data/Guardfile
CHANGED
@@ -4,7 +4,7 @@ guard :bundler do
|
|
4
4
|
watch('Gemfile')
|
5
5
|
end
|
6
6
|
|
7
|
-
guard :rspec, :all_on_start => false, :all_after_pass => false, :cli => '--fail-fast' do
|
7
|
+
guard :rspec, :all_on_start => false, :all_after_pass => false, :cli => '--fail-fast --backtrace' do
|
8
8
|
# run all specs if the spec_helper or supporting files files are modified
|
9
9
|
watch('spec/spec_helper.rb') { 'spec/unit' }
|
10
10
|
watch(%r{\Aspec/(?:lib|support|shared)/.+\.rb\z}) { 'spec/unit' }
|
data/README.md
CHANGED
data/config/flay.yml
CHANGED
data/config/reek.yml
CHANGED
@@ -15,7 +15,7 @@ TooManyInstanceVariables:
|
|
15
15
|
max_instance_variables: 3
|
16
16
|
TooManyMethods:
|
17
17
|
exclude:
|
18
|
-
- Unparser::Emitter # TODO: 13 methods, mostly helpers for deduplicate sublcasses
|
18
|
+
- Unparser::Emitter # TODO: 13 methods, mostly helpers for deduplicate sublcasses
|
19
19
|
enabled: true
|
20
20
|
max_methods: 10
|
21
21
|
UncommunicativeMethodName:
|
@@ -28,7 +28,7 @@ UncommunicativeMethodName:
|
|
28
28
|
- !ruby/regexp /[A-Z]/
|
29
29
|
LongParameterList:
|
30
30
|
max_params: 3
|
31
|
-
exclude:
|
31
|
+
exclude:
|
32
32
|
- Unparser#self.transquote
|
33
33
|
enabled: true
|
34
34
|
overrides: {}
|
@@ -62,7 +62,7 @@ NestedIterators:
|
|
62
62
|
max_allowed_nesting: 1
|
63
63
|
TooManyStatements:
|
64
64
|
max_statements: 5
|
65
|
-
exclude:
|
65
|
+
exclude:
|
66
66
|
- Unparser::Emitter::Block#dispatch # 6 statements
|
67
67
|
- Unparser::Emitter::Def#dispatch # 6 statements
|
68
68
|
- Unparser::Emitter::Class#dispatch # 6 statements
|
@@ -88,7 +88,7 @@ UncommunicativeVariableName:
|
|
88
88
|
- !ruby/regexp /[0-9]$/
|
89
89
|
- !ruby/regexp /[A-Z]/
|
90
90
|
RepeatedConditional:
|
91
|
-
exclude:
|
91
|
+
exclude:
|
92
92
|
- Unparser::Emitter::Send # TODO Fixme
|
93
93
|
- Unparser::Emitter::If
|
94
94
|
enabled: true
|
@@ -101,6 +101,8 @@ DataClump:
|
|
101
101
|
ControlParameter:
|
102
102
|
exclude: []
|
103
103
|
enabled: true
|
104
|
+
NilCheck:
|
105
|
+
enabled: false
|
104
106
|
LongYieldList:
|
105
107
|
max_params: 1
|
106
108
|
exclude: []
|
data/lib/unparser.rb
CHANGED
@@ -9,13 +9,16 @@ module Unparser
|
|
9
9
|
|
10
10
|
# Unparse ast into string
|
11
11
|
#
|
12
|
-
# @param [Parser::Node] node
|
12
|
+
# @param [Parser::Node, nil] node
|
13
13
|
#
|
14
14
|
# @return [String]
|
15
15
|
#
|
16
16
|
# @api private
|
17
17
|
#
|
18
18
|
def self.unparse(node)
|
19
|
+
if node.nil?
|
20
|
+
node = Parser::AST::Node.new(:empty)
|
21
|
+
end
|
19
22
|
buffer = Buffer.new
|
20
23
|
Emitter.visit(node, buffer)
|
21
24
|
buffer.content
|
@@ -84,5 +87,6 @@ require 'unparser/emitter/for'
|
|
84
87
|
require 'unparser/emitter/repetition'
|
85
88
|
require 'unparser/emitter/root'
|
86
89
|
require 'unparser/emitter/match'
|
90
|
+
require 'unparser/emitter/empty'
|
87
91
|
|
88
92
|
Unparser::Emitter::REGISTRY.freeze
|
data/lib/unparser/constants.rb
CHANGED
@@ -15,20 +15,22 @@ module Unparser
|
|
15
15
|
**
|
16
16
|
).map(&:to_sym).to_set.freeze
|
17
17
|
|
18
|
-
WS
|
19
|
-
NL
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
18
|
+
WS = ' '.freeze
|
19
|
+
NL = "\n".freeze
|
20
|
+
T_DOT = '.'.freeze
|
21
|
+
T_LT = '<'.freeze
|
22
|
+
T_DLT = '<<'.freeze
|
23
|
+
T_AMP = '&'.freeze
|
24
|
+
T_ASN = '='.freeze
|
25
|
+
T_SPLAT = '*'.freeze
|
26
|
+
T_DSPLAT = '**'.freeze
|
27
|
+
T_ASR = '=>'.freeze
|
28
|
+
T_PIPE = '|'.freeze
|
29
|
+
T_DCL = '::'.freeze
|
30
|
+
T_NEG = '!'.freeze
|
31
|
+
T_OR = '||'.freeze
|
32
|
+
T_AND = '&&'.freeze
|
33
|
+
T_COLON = ':'.freeze
|
32
34
|
|
33
35
|
M_PO = '('.freeze
|
34
36
|
M_PC = ')'.freeze
|
@@ -65,7 +65,7 @@ module Unparser
|
|
65
65
|
# @api private
|
66
66
|
#
|
67
67
|
def dispatch
|
68
|
-
write(
|
68
|
+
write(T_AMP, name.to_s)
|
69
69
|
end
|
70
70
|
|
71
71
|
end # Blockarg
|
@@ -86,15 +86,79 @@ module Unparser
|
|
86
86
|
# @api private
|
87
87
|
#
|
88
88
|
def dispatch
|
89
|
-
write(name.to_s, WS,
|
89
|
+
write(name.to_s, WS, T_ASN, WS)
|
90
90
|
visit(value)
|
91
91
|
end
|
92
92
|
end
|
93
93
|
|
94
|
+
# Keyword rest argument emitter
|
95
|
+
class KeywordRest < self
|
96
|
+
|
97
|
+
handle :kwrestarg
|
98
|
+
|
99
|
+
children :name
|
100
|
+
|
101
|
+
private
|
102
|
+
|
103
|
+
# Perform dispatch
|
104
|
+
#
|
105
|
+
# @return [undefined]
|
106
|
+
#
|
107
|
+
# @api private
|
108
|
+
#
|
109
|
+
def dispatch
|
110
|
+
write(T_DSPLAT, name.to_s)
|
111
|
+
end
|
112
|
+
end # KeywordRest
|
113
|
+
|
114
|
+
# Optional keyword argument emitter
|
115
|
+
class KeywordOptional < self
|
116
|
+
handle :kwoptarg
|
117
|
+
|
118
|
+
children :name, :value
|
119
|
+
|
120
|
+
private
|
121
|
+
|
122
|
+
# Perform dispatch
|
123
|
+
#
|
124
|
+
# @return [undefined]
|
125
|
+
#
|
126
|
+
# @api private
|
127
|
+
#
|
128
|
+
def dispatch
|
129
|
+
write(name.to_s, T_COLON, WS)
|
130
|
+
visit(value)
|
131
|
+
end
|
132
|
+
|
133
|
+
end # KeywordOptional
|
134
|
+
|
135
|
+
# Keyword argument emitter
|
136
|
+
class Kwarg < self
|
137
|
+
handle :kwarg
|
138
|
+
|
139
|
+
children :name
|
140
|
+
|
141
|
+
private
|
142
|
+
|
143
|
+
# Perform dispatch
|
144
|
+
#
|
145
|
+
# @return [undefined]
|
146
|
+
#
|
147
|
+
# @api private
|
148
|
+
#
|
149
|
+
def dispatch
|
150
|
+
write(name.to_s, T_COLON)
|
151
|
+
end
|
152
|
+
|
153
|
+
end # Restarg
|
154
|
+
|
94
155
|
# Rest argument emitter
|
95
156
|
class Restarg < self
|
157
|
+
|
96
158
|
handle :restarg
|
97
159
|
|
160
|
+
children :name
|
161
|
+
|
98
162
|
private
|
99
163
|
|
100
164
|
# Perform dispatch
|
@@ -104,7 +168,7 @@ module Unparser
|
|
104
168
|
# @api private
|
105
169
|
#
|
106
170
|
def dispatch
|
107
|
-
write(
|
171
|
+
write(T_SPLAT, name.to_s)
|
108
172
|
end
|
109
173
|
|
110
174
|
end # Restarg
|
@@ -114,6 +178,8 @@ module Unparser
|
|
114
178
|
|
115
179
|
handle :arg
|
116
180
|
|
181
|
+
children :name
|
182
|
+
|
117
183
|
private
|
118
184
|
|
119
185
|
# Perform dispatch
|
@@ -123,7 +189,7 @@ module Unparser
|
|
123
189
|
# @api private
|
124
190
|
#
|
125
191
|
def dispatch
|
126
|
-
write(
|
192
|
+
write(name.to_s)
|
127
193
|
end
|
128
194
|
|
129
195
|
end # Argument
|
@@ -144,7 +210,7 @@ module Unparser
|
|
144
210
|
# @api private
|
145
211
|
#
|
146
212
|
def dispatch
|
147
|
-
write(
|
213
|
+
write(T_AMP)
|
148
214
|
visit(name)
|
149
215
|
end
|
150
216
|
|
@@ -29,7 +29,7 @@ module Unparser
|
|
29
29
|
def emit_right
|
30
30
|
right = right_node
|
31
31
|
if right
|
32
|
-
write(WS,
|
32
|
+
write(WS, T_ASN, WS)
|
33
33
|
visit(right)
|
34
34
|
end
|
35
35
|
end
|
@@ -105,7 +105,7 @@ module Unparser
|
|
105
105
|
# @api private
|
106
106
|
#
|
107
107
|
def emit_right
|
108
|
-
write(WS,
|
108
|
+
write(WS, T_ASN, WS)
|
109
109
|
right = children.last
|
110
110
|
case right.type
|
111
111
|
when :array
|
@@ -113,7 +113,7 @@ module Unparser
|
|
113
113
|
#
|
114
114
|
def emit_assignment
|
115
115
|
return unless assignment
|
116
|
-
write(WS,
|
116
|
+
write(WS, T_ASR, WS)
|
117
117
|
visit(assignment)
|
118
118
|
end
|
119
119
|
|
@@ -135,7 +135,6 @@ module Unparser
|
|
135
135
|
def dispatch
|
136
136
|
case children.length
|
137
137
|
when 0
|
138
|
-
write(K_NIL)
|
139
138
|
when 1
|
140
139
|
visit(first_child)
|
141
140
|
else
|
@@ -20,7 +20,7 @@ module Unparser
|
|
20
20
|
visit(send)
|
21
21
|
write(WS, K_DO)
|
22
22
|
emit_block_arguments
|
23
|
-
|
23
|
+
emit_body
|
24
24
|
k_end
|
25
25
|
end
|
26
26
|
|
@@ -33,21 +33,11 @@ module Unparser
|
|
33
33
|
def emit_block_arguments
|
34
34
|
return if arguments.children.empty?
|
35
35
|
ws
|
36
|
-
parentheses(
|
36
|
+
parentheses(T_PIPE, T_PIPE) do
|
37
37
|
visit(arguments)
|
38
38
|
end
|
39
39
|
end
|
40
40
|
|
41
|
-
# Emit body
|
42
|
-
#
|
43
|
-
# @return [undefined]
|
44
|
-
#
|
45
|
-
# @api private
|
46
|
-
#
|
47
|
-
def emit_body
|
48
|
-
visit(body)
|
49
|
-
end
|
50
|
-
|
51
41
|
end # Block
|
52
42
|
end # Emitter
|
53
43
|
end # Unparser
|
@@ -31,7 +31,7 @@ module Unparser
|
|
31
31
|
#
|
32
32
|
def emit_superclass
|
33
33
|
return unless superclass
|
34
|
-
write(WS,
|
34
|
+
write(WS, T_LT, WS)
|
35
35
|
visit(superclass)
|
36
36
|
end
|
37
37
|
|
@@ -51,7 +51,7 @@ module Unparser
|
|
51
51
|
# @api private
|
52
52
|
#
|
53
53
|
def dispatch
|
54
|
-
write(K_CLASS, WS,
|
54
|
+
write(K_CLASS, WS, T_DLT, WS)
|
55
55
|
visit(object)
|
56
56
|
emit_body
|
57
57
|
k_end
|
data/lib/unparser/emitter/def.rb
CHANGED
@@ -37,16 +37,6 @@ module Unparser
|
|
37
37
|
k_end
|
38
38
|
end
|
39
39
|
|
40
|
-
# Emit body
|
41
|
-
#
|
42
|
-
# @return [undefined]
|
43
|
-
#
|
44
|
-
# @api private
|
45
|
-
#
|
46
|
-
def emit_body
|
47
|
-
indented { visit(body) }
|
48
|
-
end
|
49
|
-
|
50
40
|
# Emit arguments
|
51
41
|
#
|
52
42
|
# @return [undefined]
|
@@ -98,7 +88,7 @@ module Unparser
|
|
98
88
|
#
|
99
89
|
def emit_name
|
100
90
|
visit(subject)
|
101
|
-
write(
|
91
|
+
write(T_DOT, name.to_s)
|
102
92
|
end
|
103
93
|
|
104
94
|
end # Singleton
|
@@ -0,0 +1,22 @@
|
|
1
|
+
module Unparser
|
2
|
+
class Emitter
|
3
|
+
|
4
|
+
# Emitter for artifical empty node
|
5
|
+
class Empty < self
|
6
|
+
|
7
|
+
handle :empty
|
8
|
+
|
9
|
+
private
|
10
|
+
|
11
|
+
# Perform dispatch
|
12
|
+
#
|
13
|
+
# @return [undefined]
|
14
|
+
#
|
15
|
+
# @api private
|
16
|
+
#
|
17
|
+
def dispatch
|
18
|
+
end
|
19
|
+
|
20
|
+
end
|
21
|
+
end
|
22
|
+
end # Unparser
|
data/lib/unparser/emitter/not.rb
CHANGED
@@ -6,7 +6,8 @@ describe Unparser, 'spike' do
|
|
6
6
|
PARSERS = IceNine.deep_freeze(
|
7
7
|
'1.8' => Parser::Ruby18,
|
8
8
|
'1.9' => Parser::Ruby19,
|
9
|
-
'2.0' => Parser::Ruby20
|
9
|
+
'2.0' => Parser::Ruby20,
|
10
|
+
'2.1' => Parser::Ruby21
|
10
11
|
)
|
11
12
|
|
12
13
|
RUBIES = PARSERS.keys.freeze
|
@@ -44,7 +45,7 @@ describe Unparser, 'spike' do
|
|
44
45
|
def self.assert_generates(ast, expected, versions = RUBIES)
|
45
46
|
with_versions(versions) do |version, parser|
|
46
47
|
it "should generate #{ast.inspect} as #{expected} under #{version}" do
|
47
|
-
|
48
|
+
if ast.kind_of?(String)
|
48
49
|
ast = parser.parse(ast)
|
49
50
|
end
|
50
51
|
generated = Unparser.unparse(ast)
|
@@ -238,17 +239,50 @@ describe Unparser, 'spike' do
|
|
238
239
|
assert_source 'a.foo'
|
239
240
|
assert_source 'A.foo'
|
240
241
|
assert_source 'foo[1]'
|
242
|
+
assert_source 'foo[*baz]'
|
241
243
|
assert_source 'foo(1)'
|
242
244
|
assert_source 'foo(bar)'
|
243
245
|
assert_source 'foo(&block)'
|
244
246
|
assert_source 'foo(*arguments)'
|
245
|
-
assert_source
|
246
|
-
assert_source
|
247
|
-
|
248
|
-
|
249
|
-
|
250
|
-
|
251
|
-
assert_source
|
247
|
+
assert_source 'foo(*arguments)'
|
248
|
+
assert_source <<-RUBY
|
249
|
+
foo do
|
250
|
+
end
|
251
|
+
RUBY
|
252
|
+
|
253
|
+
assert_source <<-RUBY
|
254
|
+
foo(1) do
|
255
|
+
nil
|
256
|
+
end
|
257
|
+
RUBY
|
258
|
+
|
259
|
+
assert_source <<-RUBY
|
260
|
+
foo do |a, b|
|
261
|
+
nil
|
262
|
+
end
|
263
|
+
RUBY
|
264
|
+
|
265
|
+
assert_source <<-RUBY
|
266
|
+
foo do |a, *b|
|
267
|
+
nil
|
268
|
+
end
|
269
|
+
RUBY
|
270
|
+
|
271
|
+
assert_source <<-RUBY
|
272
|
+
foo do |a, *|
|
273
|
+
nil
|
274
|
+
end
|
275
|
+
RUBY
|
276
|
+
|
277
|
+
assert_source <<-RUBY
|
278
|
+
foo do
|
279
|
+
bar
|
280
|
+
end
|
281
|
+
RUBY
|
282
|
+
|
283
|
+
assert_source <<-RUBY
|
284
|
+
foo.bar(*args)
|
285
|
+
RUBY
|
252
286
|
|
253
287
|
assert_source <<-RUBY
|
254
288
|
foo.bar do |(a, b), c|
|
@@ -285,7 +319,7 @@ describe Unparser, 'spike' do
|
|
285
319
|
end
|
286
320
|
|
287
321
|
context 'begin; end' do
|
288
|
-
assert_generates s(:begin), '
|
322
|
+
assert_generates s(:begin), ''
|
289
323
|
|
290
324
|
assert_source <<-RUBY
|
291
325
|
foo
|
@@ -511,6 +545,11 @@ describe Unparser, 'spike' do
|
|
511
545
|
context 'def' do
|
512
546
|
context 'on instance' do
|
513
547
|
|
548
|
+
assert_source <<-RUBY
|
549
|
+
def foo
|
550
|
+
end
|
551
|
+
RUBY
|
552
|
+
|
514
553
|
assert_source <<-RUBY
|
515
554
|
def foo
|
516
555
|
bar
|
@@ -547,6 +586,16 @@ describe Unparser, 'spike' do
|
|
547
586
|
end
|
548
587
|
RUBY
|
549
588
|
|
589
|
+
assert_source <<-RUBY, %w(2.1)
|
590
|
+
def foo(bar: 1)
|
591
|
+
end
|
592
|
+
RUBY
|
593
|
+
|
594
|
+
assert_source <<-RUBY, %w(2.0)
|
595
|
+
def foo(**bar)
|
596
|
+
end
|
597
|
+
RUBY
|
598
|
+
|
550
599
|
assert_source <<-RUBY
|
551
600
|
def foo(*)
|
552
601
|
bar
|
@@ -601,16 +650,15 @@ describe Unparser, 'spike' do
|
|
601
650
|
baz
|
602
651
|
end
|
603
652
|
RUBY
|
653
|
+
end
|
654
|
+
|
655
|
+
context 'on singleton' do
|
604
656
|
|
605
657
|
assert_source <<-RUBY
|
606
658
|
def self.foo
|
607
|
-
bar
|
608
|
-
baz
|
609
659
|
end
|
610
660
|
RUBY
|
611
|
-
end
|
612
661
|
|
613
|
-
context 'on singleton' do
|
614
662
|
|
615
663
|
assert_source <<-RUBY
|
616
664
|
def self.foo
|
@@ -618,6 +666,13 @@ describe Unparser, 'spike' do
|
|
618
666
|
end
|
619
667
|
RUBY
|
620
668
|
|
669
|
+
assert_source <<-RUBY
|
670
|
+
def self.foo
|
671
|
+
bar
|
672
|
+
baz
|
673
|
+
end
|
674
|
+
RUBY
|
675
|
+
|
621
676
|
assert_source <<-RUBY
|
622
677
|
def Foo.bar
|
623
678
|
bar
|
@@ -745,6 +800,11 @@ describe Unparser, 'spike' do
|
|
745
800
|
end
|
746
801
|
|
747
802
|
context 'lambda' do
|
803
|
+
assert_source <<-RUBY
|
804
|
+
lambda do
|
805
|
+
end
|
806
|
+
RUBY
|
807
|
+
|
748
808
|
assert_source <<-RUBY
|
749
809
|
lambda do |a, b|
|
750
810
|
a
|
@@ -897,6 +957,11 @@ describe Unparser, 'spike' do
|
|
897
957
|
end
|
898
958
|
|
899
959
|
context 'while' do
|
960
|
+
assert_source <<-RUBY
|
961
|
+
while false
|
962
|
+
end
|
963
|
+
RUBY
|
964
|
+
|
900
965
|
assert_source <<-RUBY
|
901
966
|
while false
|
902
967
|
3
|
@@ -905,6 +970,11 @@ describe Unparser, 'spike' do
|
|
905
970
|
end
|
906
971
|
|
907
972
|
context 'until' do
|
973
|
+
assert_source <<-RUBY
|
974
|
+
until false
|
975
|
+
end
|
976
|
+
RUBY
|
977
|
+
|
908
978
|
assert_source <<-RUBY
|
909
979
|
until false
|
910
980
|
3
|
data/spec/spec_helper.rb
CHANGED
data/unparser.gemspec
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: unparser
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.3
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Markus Schirp
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2013-06-
|
11
|
+
date: 2013-06-21 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: parser
|
@@ -120,6 +120,7 @@ files:
|
|
120
120
|
- lib/unparser/emitter/class.rb
|
121
121
|
- lib/unparser/emitter/def.rb
|
122
122
|
- lib/unparser/emitter/defined.rb
|
123
|
+
- lib/unparser/emitter/empty.rb
|
123
124
|
- lib/unparser/emitter/for.rb
|
124
125
|
- lib/unparser/emitter/hookexe.rb
|
125
126
|
- lib/unparser/emitter/if.rb
|