unparser 0.4.7 → 0.6.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.
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