unparser 0.4.7 → 0.6.7

Sign up to get free protection for your applications and to get access to all the features.
Files changed (157) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +40 -9
  3. data/bin/unparser +2 -2
  4. data/lib/unparser/abstract_type.rb +121 -0
  5. data/lib/unparser/adamantium/method_builder.rb +111 -0
  6. data/lib/unparser/adamantium.rb +150 -0
  7. data/lib/unparser/anima/attribute.rb +59 -0
  8. data/lib/unparser/anima/error.rb +23 -0
  9. data/lib/unparser/anima.rb +184 -0
  10. data/lib/unparser/ast/local_variable_scope.rb +6 -76
  11. data/lib/unparser/ast.rb +1 -3
  12. data/lib/unparser/buffer.rb +14 -25
  13. data/lib/unparser/cli.rb +85 -77
  14. data/lib/unparser/{cli/color.rb → color.rb} +4 -14
  15. data/lib/unparser/comments.rb +0 -26
  16. data/lib/unparser/concord.rb +114 -0
  17. data/lib/unparser/constants.rb +4 -53
  18. data/lib/unparser/diff.rb +98 -0
  19. data/lib/unparser/dsl.rb +0 -32
  20. data/lib/unparser/either.rb +153 -0
  21. data/lib/unparser/emitter/alias.rb +2 -8
  22. data/lib/unparser/emitter/args.rb +45 -0
  23. data/lib/unparser/emitter/argument.rb +13 -169
  24. data/lib/unparser/emitter/array.rb +27 -0
  25. data/lib/unparser/emitter/array_pattern.rb +29 -0
  26. data/lib/unparser/emitter/assignment.rb +36 -127
  27. data/lib/unparser/emitter/begin.rb +9 -84
  28. data/lib/unparser/emitter/binary.rb +7 -20
  29. data/lib/unparser/emitter/block.rb +57 -41
  30. data/lib/unparser/emitter/case.rb +6 -48
  31. data/lib/unparser/emitter/case_guard.rb +27 -0
  32. data/lib/unparser/emitter/case_match.rb +40 -0
  33. data/lib/unparser/emitter/cbase.rb +1 -3
  34. data/lib/unparser/emitter/class.rb +6 -26
  35. data/lib/unparser/emitter/const_pattern.rb +24 -0
  36. data/lib/unparser/emitter/def.rb +7 -51
  37. data/lib/unparser/emitter/defined.rb +2 -12
  38. data/lib/unparser/emitter/dstr.rb +22 -0
  39. data/lib/unparser/emitter/dsym.rb +41 -0
  40. data/lib/unparser/emitter/find_pattern.rb +18 -0
  41. data/lib/unparser/emitter/flipflop.rb +11 -10
  42. data/lib/unparser/emitter/float.rb +29 -0
  43. data/lib/unparser/emitter/flow_modifier.rb +15 -53
  44. data/lib/unparser/emitter/for.rb +5 -19
  45. data/lib/unparser/emitter/hash.rb +36 -0
  46. data/lib/unparser/emitter/hash_pattern.rb +67 -0
  47. data/lib/unparser/emitter/hookexe.rb +5 -11
  48. data/lib/unparser/emitter/if.rb +15 -71
  49. data/lib/unparser/emitter/in_match.rb +21 -0
  50. data/lib/unparser/emitter/in_pattern.rb +36 -0
  51. data/lib/unparser/emitter/index.rb +22 -89
  52. data/lib/unparser/emitter/kwargs.rb +13 -0
  53. data/lib/unparser/emitter/kwbegin.rb +31 -0
  54. data/lib/unparser/emitter/lambda.rb +0 -8
  55. data/lib/unparser/emitter/masgn.rb +20 -0
  56. data/lib/unparser/emitter/match.rb +3 -17
  57. data/lib/unparser/emitter/match_alt.rb +23 -0
  58. data/lib/unparser/emitter/match_as.rb +21 -0
  59. data/lib/unparser/emitter/match_pattern.rb +30 -0
  60. data/lib/unparser/emitter/match_pattern_p.rb +20 -0
  61. data/lib/unparser/emitter/match_rest.rb +33 -0
  62. data/lib/unparser/emitter/match_var.rb +19 -0
  63. data/lib/unparser/emitter/mlhs.rb +40 -0
  64. data/lib/unparser/emitter/module.rb +3 -9
  65. data/lib/unparser/emitter/op_assign.rb +14 -29
  66. data/lib/unparser/emitter/pair.rb +33 -0
  67. data/lib/unparser/emitter/pin.rb +19 -0
  68. data/lib/unparser/emitter/primitive.rb +93 -0
  69. data/lib/unparser/emitter/range.rb +35 -0
  70. data/lib/unparser/emitter/regexp.rb +35 -0
  71. data/lib/unparser/emitter/repetition.rb +17 -57
  72. data/lib/unparser/emitter/rescue.rb +1 -97
  73. data/lib/unparser/emitter/root.rb +17 -1
  74. data/lib/unparser/emitter/send.rb +10 -219
  75. data/lib/unparser/emitter/simple.rb +33 -0
  76. data/lib/unparser/emitter/splat.rb +13 -19
  77. data/lib/unparser/emitter/super.rb +1 -29
  78. data/lib/unparser/emitter/undef.rb +1 -9
  79. data/lib/unparser/emitter/variable.rb +1 -31
  80. data/lib/unparser/emitter/xstr.rb +72 -0
  81. data/lib/unparser/emitter/yield.rb +1 -9
  82. data/lib/unparser/emitter.rb +24 -425
  83. data/lib/unparser/equalizer.rb +98 -0
  84. data/lib/unparser/generation.rb +252 -0
  85. data/lib/unparser/node_details/send.rb +65 -0
  86. data/lib/unparser/node_details.rb +21 -0
  87. data/lib/unparser/node_helpers.rb +48 -6
  88. data/lib/unparser/validation.rb +172 -0
  89. data/lib/unparser/writer/binary.rb +99 -0
  90. data/lib/unparser/writer/dynamic_string.rb +211 -0
  91. data/lib/unparser/writer/resbody.rb +40 -0
  92. data/lib/unparser/writer/rescue.rb +43 -0
  93. data/lib/unparser/{emitter → writer}/send/attribute_assignment.rb +11 -26
  94. data/lib/unparser/writer/send/binary.rb +27 -0
  95. data/lib/unparser/writer/send/conditional.rb +25 -0
  96. data/lib/unparser/writer/send/regular.rb +33 -0
  97. data/lib/unparser/{emitter → writer}/send/unary.rb +10 -17
  98. data/lib/unparser/writer/send.rb +115 -0
  99. data/lib/unparser/writer.rb +15 -0
  100. data/lib/unparser.rb +161 -77
  101. metadata +100 -157
  102. data/.circleci/config.yml +0 -49
  103. data/.gitignore +0 -37
  104. data/.rspec +0 -4
  105. data/.rubocop.yml +0 -9
  106. data/Changelog.md +0 -156
  107. data/Gemfile +0 -9
  108. data/Gemfile.lock +0 -181
  109. data/LICENSE +0 -20
  110. data/Rakefile +0 -22
  111. data/config/devtools.yml +0 -2
  112. data/config/flay.yml +0 -3
  113. data/config/flog.yml +0 -2
  114. data/config/mutant.yml +0 -6
  115. data/config/reek.yml +0 -98
  116. data/config/rubocop.yml +0 -122
  117. data/config/yardstick.yml +0 -2
  118. data/lib/unparser/cli/differ.rb +0 -152
  119. data/lib/unparser/cli/source.rb +0 -267
  120. data/lib/unparser/emitter/empty.rb +0 -23
  121. data/lib/unparser/emitter/ensure.rb +0 -37
  122. data/lib/unparser/emitter/literal/array.rb +0 -29
  123. data/lib/unparser/emitter/literal/dynamic.rb +0 -53
  124. data/lib/unparser/emitter/literal/dynamic_body.rb +0 -132
  125. data/lib/unparser/emitter/literal/execute_string.rb +0 -38
  126. data/lib/unparser/emitter/literal/hash.rb +0 -156
  127. data/lib/unparser/emitter/literal/primitive.rb +0 -145
  128. data/lib/unparser/emitter/literal/range.rb +0 -36
  129. data/lib/unparser/emitter/literal/regexp.rb +0 -114
  130. data/lib/unparser/emitter/literal/singleton.rb +0 -26
  131. data/lib/unparser/emitter/literal.rb +0 -10
  132. data/lib/unparser/emitter/meta.rb +0 -16
  133. data/lib/unparser/emitter/redo.rb +0 -25
  134. data/lib/unparser/emitter/resbody.rb +0 -76
  135. data/lib/unparser/emitter/retry.rb +0 -25
  136. data/lib/unparser/emitter/send/binary.rb +0 -57
  137. data/lib/unparser/emitter/send/conditional.rb +0 -40
  138. data/lib/unparser/emitter/send/regular.rb +0 -40
  139. data/lib/unparser/preprocessor.rb +0 -159
  140. data/spec/integration/unparser/corpus_spec.rb +0 -111
  141. data/spec/integrations.yml +0 -92
  142. data/spec/spec_helper.rb +0 -20
  143. data/spec/unit/unparser/buffer/append_spec.rb +0 -24
  144. data/spec/unit/unparser/buffer/append_without_prefix_spec.rb +0 -23
  145. data/spec/unit/unparser/buffer/capture_content_spec.rb +0 -17
  146. data/spec/unit/unparser/buffer/content_spec.rb +0 -38
  147. data/spec/unit/unparser/buffer/fresh_line_spec.rb +0 -20
  148. data/spec/unit/unparser/buffer/indent_spec.rb +0 -20
  149. data/spec/unit/unparser/buffer/nl_spec.rb +0 -16
  150. data/spec/unit/unparser/buffer/unindent_spec.rb +0 -20
  151. data/spec/unit/unparser/comments/consume_spec.rb +0 -22
  152. data/spec/unit/unparser/comments/take_all_spec.rb +0 -19
  153. data/spec/unit/unparser/comments/take_before_spec.rb +0 -46
  154. data/spec/unit/unparser/comments/take_eol_comments_spec.rb +0 -32
  155. data/spec/unit/unparser/emitter/class_methods/handle_spec.rb +0 -17
  156. data/spec/unit/unparser_spec.rb +0 -1849
  157. data/unparser.gemspec +0 -32
metadata CHANGED
@@ -1,57 +1,15 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: unparser
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.4.7
4
+ version: 0.6.7
5
5
  platform: ruby
6
6
  authors:
7
7
  - Markus Schirp
8
- autorequire:
8
+ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2020-01-04 00:00:00.000000000 Z
11
+ date: 2023-01-08 00:00:00.000000000 Z
12
12
  dependencies:
13
- - !ruby/object:Gem::Dependency
14
- name: abstract_type
15
- requirement: !ruby/object:Gem::Requirement
16
- requirements:
17
- - - "~>"
18
- - !ruby/object:Gem::Version
19
- version: 0.0.7
20
- type: :runtime
21
- prerelease: false
22
- version_requirements: !ruby/object:Gem::Requirement
23
- requirements:
24
- - - "~>"
25
- - !ruby/object:Gem::Version
26
- version: 0.0.7
27
- - !ruby/object:Gem::Dependency
28
- name: adamantium
29
- requirement: !ruby/object:Gem::Requirement
30
- requirements:
31
- - - "~>"
32
- - !ruby/object:Gem::Version
33
- version: 0.2.0
34
- type: :runtime
35
- prerelease: false
36
- version_requirements: !ruby/object:Gem::Requirement
37
- requirements:
38
- - - "~>"
39
- - !ruby/object:Gem::Version
40
- version: 0.2.0
41
- - !ruby/object:Gem::Dependency
42
- name: equalizer
43
- requirement: !ruby/object:Gem::Requirement
44
- requirements:
45
- - - "~>"
46
- - !ruby/object:Gem::Version
47
- version: 0.0.9
48
- type: :runtime
49
- prerelease: false
50
- version_requirements: !ruby/object:Gem::Requirement
51
- requirements:
52
- - - "~>"
53
- - !ruby/object:Gem::Version
54
- version: 0.0.9
55
13
  - !ruby/object:Gem::Dependency
56
14
  name: diff-lcs
57
15
  requirement: !ruby/object:Gem::Requirement
@@ -67,117 +25,117 @@ dependencies:
67
25
  - !ruby/object:Gem::Version
68
26
  version: '1.3'
69
27
  - !ruby/object:Gem::Dependency
70
- name: concord
28
+ name: parser
71
29
  requirement: !ruby/object:Gem::Requirement
72
30
  requirements:
73
- - - "~>"
31
+ - - ">="
74
32
  - !ruby/object:Gem::Version
75
- version: 0.1.5
33
+ version: 3.2.0
76
34
  type: :runtime
77
35
  prerelease: false
78
36
  version_requirements: !ruby/object:Gem::Requirement
79
37
  requirements:
80
- - - "~>"
38
+ - - ">="
81
39
  - !ruby/object:Gem::Version
82
- version: 0.1.5
40
+ version: 3.2.0
83
41
  - !ruby/object:Gem::Dependency
84
- name: parser
42
+ name: mutant
85
43
  requirement: !ruby/object:Gem::Requirement
86
44
  requirements:
87
- - - ">="
45
+ - - "~>"
88
46
  - !ruby/object:Gem::Version
89
- version: 2.6.5
90
- type: :runtime
47
+ version: 0.11.18
48
+ type: :development
91
49
  prerelease: false
92
50
  version_requirements: !ruby/object:Gem::Requirement
93
51
  requirements:
94
- - - ">="
52
+ - - "~>"
95
53
  - !ruby/object:Gem::Version
96
- version: 2.6.5
54
+ version: 0.11.18
97
55
  - !ruby/object:Gem::Dependency
98
- name: procto
56
+ name: mutant-rspec
99
57
  requirement: !ruby/object:Gem::Requirement
100
58
  requirements:
101
59
  - - "~>"
102
60
  - !ruby/object:Gem::Version
103
- version: 0.0.2
104
- type: :runtime
61
+ version: 0.11.18
62
+ type: :development
105
63
  prerelease: false
106
64
  version_requirements: !ruby/object:Gem::Requirement
107
65
  requirements:
108
66
  - - "~>"
109
67
  - !ruby/object:Gem::Version
110
- version: 0.0.2
68
+ version: 0.11.18
111
69
  - !ruby/object:Gem::Dependency
112
- name: anima
70
+ name: rspec
113
71
  requirement: !ruby/object:Gem::Requirement
114
72
  requirements:
115
73
  - - "~>"
116
74
  - !ruby/object:Gem::Version
117
- version: 0.3.1
75
+ version: '3.9'
118
76
  type: :development
119
77
  prerelease: false
120
78
  version_requirements: !ruby/object:Gem::Requirement
121
79
  requirements:
122
80
  - - "~>"
123
81
  - !ruby/object:Gem::Version
124
- version: 0.3.1
82
+ version: '3.9'
125
83
  - !ruby/object:Gem::Dependency
126
- name: devtools
84
+ name: rspec-core
127
85
  requirement: !ruby/object:Gem::Requirement
128
86
  requirements:
129
87
  - - "~>"
130
88
  - !ruby/object:Gem::Version
131
- version: 0.1.23
89
+ version: '3.9'
132
90
  type: :development
133
91
  prerelease: false
134
92
  version_requirements: !ruby/object:Gem::Requirement
135
93
  requirements:
136
94
  - - "~>"
137
95
  - !ruby/object:Gem::Version
138
- version: 0.1.23
96
+ version: '3.9'
139
97
  - !ruby/object:Gem::Dependency
140
- name: morpher
98
+ name: rspec-its
141
99
  requirement: !ruby/object:Gem::Requirement
142
100
  requirements:
143
101
  - - "~>"
144
102
  - !ruby/object:Gem::Version
145
- version: 0.2.6
103
+ version: 1.3.0
146
104
  type: :development
147
105
  prerelease: false
148
106
  version_requirements: !ruby/object:Gem::Requirement
149
107
  requirements:
150
108
  - - "~>"
151
109
  - !ruby/object:Gem::Version
152
- version: 0.2.6
110
+ version: 1.3.0
153
111
  - !ruby/object:Gem::Dependency
154
- name: mutant
112
+ name: rubocop
155
113
  requirement: !ruby/object:Gem::Requirement
156
114
  requirements:
157
115
  - - "~>"
158
116
  - !ruby/object:Gem::Version
159
- version: 0.9.4
117
+ version: '1.7'
160
118
  type: :development
161
119
  prerelease: false
162
120
  version_requirements: !ruby/object:Gem::Requirement
163
121
  requirements:
164
122
  - - "~>"
165
123
  - !ruby/object:Gem::Version
166
- version: 0.9.4
124
+ version: '1.7'
167
125
  - !ruby/object:Gem::Dependency
168
- name: mutant-rspec
126
+ name: rubocop-packaging
169
127
  requirement: !ruby/object:Gem::Requirement
170
128
  requirements:
171
129
  - - "~>"
172
130
  - !ruby/object:Gem::Version
173
- version: 0.9.4
131
+ version: '0.5'
174
132
  type: :development
175
133
  prerelease: false
176
134
  version_requirements: !ruby/object:Gem::Requirement
177
135
  requirements:
178
136
  - - "~>"
179
137
  - !ruby/object:Gem::Version
180
- version: 0.9.4
138
+ version: '0.5'
181
139
  description: Generate equivalent source for parser gem AST nodes
182
140
  email: mbj@schirp-dso.com
183
141
  executables:
@@ -186,113 +144,115 @@ extensions: []
186
144
  extra_rdoc_files:
187
145
  - README.md
188
146
  files:
189
- - ".circleci/config.yml"
190
- - ".gitignore"
191
- - ".rspec"
192
- - ".rubocop.yml"
193
- - Changelog.md
194
- - Gemfile
195
- - Gemfile.lock
196
- - LICENSE
197
147
  - README.md
198
- - Rakefile
199
148
  - bin/unparser
200
- - config/devtools.yml
201
- - config/flay.yml
202
- - config/flog.yml
203
- - config/mutant.yml
204
- - config/reek.yml
205
- - config/rubocop.yml
206
- - config/yardstick.yml
207
149
  - lib/unparser.rb
150
+ - lib/unparser/abstract_type.rb
151
+ - lib/unparser/adamantium.rb
152
+ - lib/unparser/adamantium/method_builder.rb
153
+ - lib/unparser/anima.rb
154
+ - lib/unparser/anima/attribute.rb
155
+ - lib/unparser/anima/error.rb
208
156
  - lib/unparser/ast.rb
209
157
  - lib/unparser/ast/local_variable_scope.rb
210
158
  - lib/unparser/buffer.rb
211
159
  - lib/unparser/cli.rb
212
- - lib/unparser/cli/color.rb
213
- - lib/unparser/cli/differ.rb
214
- - lib/unparser/cli/source.rb
160
+ - lib/unparser/color.rb
215
161
  - lib/unparser/comments.rb
162
+ - lib/unparser/concord.rb
216
163
  - lib/unparser/constants.rb
164
+ - lib/unparser/diff.rb
217
165
  - lib/unparser/dsl.rb
166
+ - lib/unparser/either.rb
218
167
  - lib/unparser/emitter.rb
219
168
  - lib/unparser/emitter/alias.rb
169
+ - lib/unparser/emitter/args.rb
220
170
  - lib/unparser/emitter/argument.rb
171
+ - lib/unparser/emitter/array.rb
172
+ - lib/unparser/emitter/array_pattern.rb
221
173
  - lib/unparser/emitter/assignment.rb
222
174
  - lib/unparser/emitter/begin.rb
223
175
  - lib/unparser/emitter/binary.rb
224
176
  - lib/unparser/emitter/block.rb
225
177
  - lib/unparser/emitter/case.rb
178
+ - lib/unparser/emitter/case_guard.rb
179
+ - lib/unparser/emitter/case_match.rb
226
180
  - lib/unparser/emitter/cbase.rb
227
181
  - lib/unparser/emitter/class.rb
182
+ - lib/unparser/emitter/const_pattern.rb
228
183
  - lib/unparser/emitter/def.rb
229
184
  - lib/unparser/emitter/defined.rb
230
- - lib/unparser/emitter/empty.rb
231
- - lib/unparser/emitter/ensure.rb
185
+ - lib/unparser/emitter/dstr.rb
186
+ - lib/unparser/emitter/dsym.rb
187
+ - lib/unparser/emitter/find_pattern.rb
232
188
  - lib/unparser/emitter/flipflop.rb
189
+ - lib/unparser/emitter/float.rb
233
190
  - lib/unparser/emitter/flow_modifier.rb
234
191
  - lib/unparser/emitter/for.rb
192
+ - lib/unparser/emitter/hash.rb
193
+ - lib/unparser/emitter/hash_pattern.rb
235
194
  - lib/unparser/emitter/hookexe.rb
236
195
  - lib/unparser/emitter/if.rb
196
+ - lib/unparser/emitter/in_match.rb
197
+ - lib/unparser/emitter/in_pattern.rb
237
198
  - lib/unparser/emitter/index.rb
199
+ - lib/unparser/emitter/kwargs.rb
200
+ - lib/unparser/emitter/kwbegin.rb
238
201
  - lib/unparser/emitter/lambda.rb
239
- - lib/unparser/emitter/literal.rb
240
- - lib/unparser/emitter/literal/array.rb
241
- - lib/unparser/emitter/literal/dynamic.rb
242
- - lib/unparser/emitter/literal/dynamic_body.rb
243
- - lib/unparser/emitter/literal/execute_string.rb
244
- - lib/unparser/emitter/literal/hash.rb
245
- - lib/unparser/emitter/literal/primitive.rb
246
- - lib/unparser/emitter/literal/range.rb
247
- - lib/unparser/emitter/literal/regexp.rb
248
- - lib/unparser/emitter/literal/singleton.rb
202
+ - lib/unparser/emitter/masgn.rb
249
203
  - lib/unparser/emitter/match.rb
250
- - lib/unparser/emitter/meta.rb
204
+ - lib/unparser/emitter/match_alt.rb
205
+ - lib/unparser/emitter/match_as.rb
206
+ - lib/unparser/emitter/match_pattern.rb
207
+ - lib/unparser/emitter/match_pattern_p.rb
208
+ - lib/unparser/emitter/match_rest.rb
209
+ - lib/unparser/emitter/match_var.rb
210
+ - lib/unparser/emitter/mlhs.rb
251
211
  - lib/unparser/emitter/module.rb
252
212
  - lib/unparser/emitter/op_assign.rb
253
- - lib/unparser/emitter/redo.rb
213
+ - lib/unparser/emitter/pair.rb
214
+ - lib/unparser/emitter/pin.rb
215
+ - lib/unparser/emitter/primitive.rb
216
+ - lib/unparser/emitter/range.rb
217
+ - lib/unparser/emitter/regexp.rb
254
218
  - lib/unparser/emitter/repetition.rb
255
- - lib/unparser/emitter/resbody.rb
256
219
  - lib/unparser/emitter/rescue.rb
257
- - lib/unparser/emitter/retry.rb
258
220
  - lib/unparser/emitter/root.rb
259
221
  - lib/unparser/emitter/send.rb
260
- - lib/unparser/emitter/send/attribute_assignment.rb
261
- - lib/unparser/emitter/send/binary.rb
262
- - lib/unparser/emitter/send/conditional.rb
263
- - lib/unparser/emitter/send/regular.rb
264
- - lib/unparser/emitter/send/unary.rb
222
+ - lib/unparser/emitter/simple.rb
265
223
  - lib/unparser/emitter/splat.rb
266
224
  - lib/unparser/emitter/super.rb
267
225
  - lib/unparser/emitter/undef.rb
268
226
  - lib/unparser/emitter/variable.rb
227
+ - lib/unparser/emitter/xstr.rb
269
228
  - lib/unparser/emitter/yield.rb
229
+ - lib/unparser/equalizer.rb
270
230
  - lib/unparser/finalize.rb
231
+ - lib/unparser/generation.rb
232
+ - lib/unparser/node_details.rb
233
+ - lib/unparser/node_details/send.rb
271
234
  - lib/unparser/node_helpers.rb
272
- - lib/unparser/preprocessor.rb
273
- - spec/integration/unparser/corpus_spec.rb
274
- - spec/integrations.yml
275
- - spec/spec_helper.rb
276
- - spec/unit/unparser/buffer/append_spec.rb
277
- - spec/unit/unparser/buffer/append_without_prefix_spec.rb
278
- - spec/unit/unparser/buffer/capture_content_spec.rb
279
- - spec/unit/unparser/buffer/content_spec.rb
280
- - spec/unit/unparser/buffer/fresh_line_spec.rb
281
- - spec/unit/unparser/buffer/indent_spec.rb
282
- - spec/unit/unparser/buffer/nl_spec.rb
283
- - spec/unit/unparser/buffer/unindent_spec.rb
284
- - spec/unit/unparser/comments/consume_spec.rb
285
- - spec/unit/unparser/comments/take_all_spec.rb
286
- - spec/unit/unparser/comments/take_before_spec.rb
287
- - spec/unit/unparser/comments/take_eol_comments_spec.rb
288
- - spec/unit/unparser/emitter/class_methods/handle_spec.rb
289
- - spec/unit/unparser_spec.rb
290
- - unparser.gemspec
235
+ - lib/unparser/validation.rb
236
+ - lib/unparser/writer.rb
237
+ - lib/unparser/writer/binary.rb
238
+ - lib/unparser/writer/dynamic_string.rb
239
+ - lib/unparser/writer/resbody.rb
240
+ - lib/unparser/writer/rescue.rb
241
+ - lib/unparser/writer/send.rb
242
+ - lib/unparser/writer/send/attribute_assignment.rb
243
+ - lib/unparser/writer/send/binary.rb
244
+ - lib/unparser/writer/send/conditional.rb
245
+ - lib/unparser/writer/send/regular.rb
246
+ - lib/unparser/writer/send/unary.rb
291
247
  homepage: http://github.com/mbj/unparser
292
248
  licenses:
293
249
  - MIT
294
- metadata: {}
295
- post_install_message:
250
+ metadata:
251
+ bug_tracker_uri: https://github.com/mbj/unparser/issues
252
+ changelog_uri: https://github.com/mbj/unparser/blob/master/Changelog.md
253
+ funding_uri: https://github.com/sponsors/mbj
254
+ rubygems_mfa_required: 'true'
255
+ post_install_message:
296
256
  rdoc_options: []
297
257
  require_paths:
298
258
  - lib
@@ -300,32 +260,15 @@ required_ruby_version: !ruby/object:Gem::Requirement
300
260
  requirements:
301
261
  - - ">="
302
262
  - !ruby/object:Gem::Version
303
- version: '0'
263
+ version: '2.7'
304
264
  required_rubygems_version: !ruby/object:Gem::Requirement
305
265
  requirements:
306
266
  - - ">="
307
267
  - !ruby/object:Gem::Version
308
268
  version: '0'
309
269
  requirements: []
310
- rubygems_version: 3.0.3
311
- signing_key:
270
+ rubygems_version: 3.3.26
271
+ signing_key:
312
272
  specification_version: 4
313
273
  summary: Generate equivalent source for parser gem AST nodes
314
- test_files:
315
- - spec/integration/unparser/corpus_spec.rb
316
- - spec/integrations.yml
317
- - spec/spec_helper.rb
318
- - spec/unit/unparser/buffer/append_spec.rb
319
- - spec/unit/unparser/buffer/append_without_prefix_spec.rb
320
- - spec/unit/unparser/buffer/capture_content_spec.rb
321
- - spec/unit/unparser/buffer/content_spec.rb
322
- - spec/unit/unparser/buffer/fresh_line_spec.rb
323
- - spec/unit/unparser/buffer/indent_spec.rb
324
- - spec/unit/unparser/buffer/nl_spec.rb
325
- - spec/unit/unparser/buffer/unindent_spec.rb
326
- - spec/unit/unparser/comments/consume_spec.rb
327
- - spec/unit/unparser/comments/take_all_spec.rb
328
- - spec/unit/unparser/comments/take_before_spec.rb
329
- - spec/unit/unparser/comments/take_eol_comments_spec.rb
330
- - spec/unit/unparser/emitter/class_methods/handle_spec.rb
331
- - spec/unit/unparser_spec.rb
274
+ test_files: []
data/.circleci/config.yml DELETED
@@ -1,49 +0,0 @@
1
- defaults: &defaults
2
- working_directory: ~/unparser
3
- docker:
4
- - image: circleci/ruby:2.6.5
5
- version: 2
6
- jobs:
7
- unit_specs:
8
- <<: *defaults
9
- steps:
10
- - checkout
11
- - run: bundle install
12
- - run: bundle exec rspec spec/unit
13
- integration_specs:
14
- <<: *defaults
15
- steps:
16
- - checkout
17
- - run: bundle install
18
- - run: bundle exec rspec spec/integration
19
- metrics:
20
- <<: *defaults
21
- steps:
22
- - checkout
23
- - run: bundle install
24
- - run: bundle exec rake metrics:rubocop
25
- - run: bundle exec rake metrics:reek
26
- - run: bundle exec rake metrics:flay
27
- - run: bundle exec rake metrics:flog
28
- mutant:
29
- <<: *defaults
30
- steps:
31
- - checkout
32
- - run: bundle install
33
- - run: |
34
- bundle \
35
- exec \
36
- mutant \
37
- --ignore-subject 'Unparser::AST::LocalVariableScope*' \
38
- --since origin/master \
39
- --zombie \
40
- -- \
41
- 'Unparser*'
42
- workflows:
43
- version: 2
44
- test:
45
- jobs:
46
- - unit_specs
47
- - integration_specs
48
- - metrics
49
- - mutant
data/.gitignore DELETED
@@ -1,37 +0,0 @@
1
- ## MAC OS
2
- .DS_Store
3
-
4
- ## TEXTMATE
5
- *.tmproj
6
- tmtags
7
-
8
- ## EMACS
9
- *~
10
- \#*
11
- .\#*
12
-
13
- ## VIM
14
- *.sw[op]
15
-
16
- ## Rubinius
17
- *.rbc
18
- .rbx
19
-
20
- ## PROJECT::GENERAL
21
- *.gem
22
- coverage
23
- profiling
24
- turbulence
25
- rdoc
26
- pkg
27
- tmp
28
- doc
29
- log
30
- .yardoc
31
- measurements
32
-
33
- ## BUNDLER
34
- .bundle
35
-
36
- ## PROJECT::SPECIFIC
37
- /vendor
data/.rspec DELETED
@@ -1,4 +0,0 @@
1
- --color
2
- --format progress
3
- --warnings
4
- --order random
data/.rubocop.yml DELETED
@@ -1,9 +0,0 @@
1
- AllCops:
2
- Include:
3
- - 'Gemfile'
4
- Exclude:
5
- - 'Gemfile.devtools'
6
- - 'vendor/**/*'
7
- - 'benchmarks/**/*'
8
- - 'tmp/**/*'
9
- TargetRubyVersion: 2.5
data/Changelog.md DELETED
@@ -1,156 +0,0 @@
1
- # v0.4.7 2020-01-03
2
-
3
- * Add support for endless ranges
4
- * Change to allow parser 2.7, even while syntax is not yet supported.
5
- This reduces downstream complexity.
6
-
7
- # v0.4.6 2020-01-02
8
-
9
- * Upgrades to allow parser dependency to ~> 2.6.5
10
-
11
- # v0.4.5 2019-05-10
12
-
13
- * Bump parser dependency to ~> 2.6.3
14
-
15
- # v0.4.4 2019-03-27
16
-
17
- * Bump parser dependency to ~> 2.6.2
18
-
19
- # v0.4.3 2019-02-24
20
-
21
- * Bump parser dependency to ~> 2.6.0
22
-
23
- # v0.4.2 2018-12-04
24
-
25
- * Drop hard ruby version requirement. Still officially I'll only support 2.5.
26
-
27
- # v0.4.1 2018-12-03
28
-
29
- * Fix unparsing of `def foo(bar: bar())`
30
-
31
- # v0.4.0 2018-12-03
32
-
33
- * Change to modern AST format.
34
- * Add experimental `Unparser.{parser,parse,parse_with_comments}`
35
-
36
- # v0.3.0 2018-11-16
37
-
38
- * Drop support for Ruby < 2.5
39
-
40
- # v0.2.7 2018-07-18
41
-
42
- * Add emitters for `__FILE__` and `__LINE__`
43
- https://github.com/mbj/unparser/pull/70
44
-
45
- # v0.2.7 2018-02-09
46
-
47
- * Allow ruby_parser 2.5
48
-
49
- # v0.2.6 2017-05-30
50
-
51
- * Reduce memory consumption via not requirering all possible parsers
52
- * Allow ruby 2.4
53
- * Update parser dependency
54
-
55
- # v0.2.5 2016-01-24
56
-
57
- * Add support for ruby 2.3
58
- * Bump parser dependency to ~>2.3.0
59
- * Trade uglier for more correct dstring / dsyms
60
- * Drop support for ruby < 2.1
61
-
62
- # v0.2.4 2015-05-30
63
-
64
- * Relax parser dependency to ~>2.2.2
65
-
66
- # v0.2.3 2015-04-28
67
-
68
- * Compatibility with parser ~>2.2.2, >2.2.2.2
69
-
70
- # v0.2.2 2015-01-14
71
-
72
- * Really add back unofficial support for 1.9.3
73
-
74
- # v0.2.1 2015-01-14
75
-
76
- * Add back unofficial support for 1.9.3
77
-
78
- # v0.2.0 2015-01-12
79
-
80
- * Bump required ruby version to 2.0.0
81
-
82
- # v0.1.17 2015-01-10
83
-
84
- * Fix jruby complex / rational generation edge case
85
- * Support generation under MRI 2.2
86
-
87
- # v0.1.16 2014-11-07
88
-
89
- * Add emitter for complex and rational literals
90
- * Fix edge cases for MLHS
91
- * Fix differencies from 2.2.pre7 series of parser
92
-
93
- # v0.1.15 2014-09-24
94
-
95
- * Handle syntax edge case for MRI 2.1.3 parser.
96
-
97
- # v0.1.14 2014-06-15
98
-
99
- * Fix emitter to correctly unparse foo[] = 1
100
-
101
- # v0.1.13 2014-06-08
102
-
103
- * Add support for rubinius.
104
-
105
- # v0.1.12 2014-04-13
106
-
107
- * Add support for 2.1 kwsplat
108
-
109
- # v0.1.11 2014-04-11
110
-
111
- * Fix performance on local variable scope inspection
112
-
113
- # v0.1.10 2014-04-06
114
-
115
- * Fix emit of inline rescues in combination with control flow keywords.
116
- * Begin corpus testing on rake ci against rubyspec
117
-
118
- # v0.1.9 2014-01-14
119
-
120
- * Fix emit of proc { |(a)| }
121
-
122
- # v0.1.8 2014-01-11
123
-
124
- * Fix all bugs found while round tripping rubyspec.
125
-
126
- # v0.1.7 2014-01-03
127
-
128
- * Add back support for root nodes of type resbody https://github.com/mbj/unparser/issues/24
129
-
130
- # v0.1.6 2013-12-31
131
-
132
- * Emit 1.9 style hashes where possible: https://github.com/mbj/unparser/pull/23
133
- * Fix invalid quoting of hash keys: https://github.com/mbj/unparser/issues/22
134
- * Fix crash on take before introduced by code refactorings: https://github.com/mbj/unparser/issues/20
135
- * Fix crash on comment reproduction https://github.com/mbj/unparser/issues/17
136
-
137
- # v0.1.5 2013-11-01
138
-
139
- * Fix crash with comment reproduction.
140
-
141
- # v0.1.4 2013-11-01
142
-
143
- * Code cleanups.
144
- * Remove warnings.
145
-
146
- # v0.0.3 2013-06-17
147
-
148
- * Adjust to changes in parser 2.0.0.beta5 => beta6
149
-
150
- # v0.0.2 2013-06-17
151
-
152
- Crappy release
153
-
154
- # v0.0.1 2013-06-15
155
-
156
- Initial release
data/Gemfile DELETED
@@ -1,9 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- source 'https://rubygems.org'
4
-
5
- gemspec
6
-
7
- source 'https://oss:Px2ENN7S91OmWaD5G7MIQJi1dmtmYrEh@gem.mutant.dev' do
8
- gem 'mutant-license'
9
- end