rephrase 0.2 → 0.3

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 50dd6a940c19895850f10694544b163b9362ab853242972760a885f555750a54
4
- data.tar.gz: 0d41895ceb222d573384ae073bc183d0eaf5ee3d3429acc5f59f894af4af628f
3
+ metadata.gz: fff798527479ef2c51091ce5358d97f744439765c654efe86bf076ea3b71f66a
4
+ data.tar.gz: d5b22bfc4f8155b67aa384eef563d099e2b7c9baef0b59515d0fb4f68230e771
5
5
  SHA512:
6
- metadata.gz: '0513931ee88c085b5026f71e9e5f427664a745ba93fa94e0d20422d7b690dec9bce8142fc8129ebd59379c0f3ee7f425d898a671011762c2c373c8266ea47a83'
7
- data.tar.gz: 42757fb4d2ca4cad5feff6b19a42350662875864e8c262bced0dd6dcb73c1ed12d20630884ee09e9351a3411ca438360b76909e2a927467561c25e911415f50d
6
+ metadata.gz: e4d6310d5dd1f17bc8a234689e647dbf63dd6eac0139ddb7b8bfc4587f23919fa54ff717f51b5bf600d230180205c0aa173a56d9cbb595ea6c25742af42501d4
7
+ data.tar.gz: e0626f72497824c948f447dc8b7f32fdec3ac2f065ef7f5ab83b22ef48d24b823e33f88811aa9eb9a8ecea6b00cd6ee29985996baef95e58a2e17fc64287638f
data/CHANGELOG.md CHANGED
@@ -1,8 +1,12 @@
1
+ ## 0.3 2011-11-17
2
+
3
+ - Improve documentation.
4
+
1
5
  ## 0.2 2011-11-16
2
6
 
3
- - Rename `#to_ruby` to `#to_source`
4
- - Add documentation
7
+ - Rename `#to_ruby` to `#to_source`.
8
+ - Add documentation.
5
9
 
6
10
  ## 0.1 2021-11-16
7
11
 
8
- - First working version
12
+ - First working version.
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  class Rephrase
4
- VERSION = '0.2'
4
+ VERSION = '0.3'
5
5
  end
data/lib/rephrase.rb CHANGED
@@ -6,21 +6,27 @@
6
6
  class Rephrase
7
7
  # Class for faking a node
8
8
  class FakeNode
9
- # Constructs a FakeNode with type `:LIST_EMBEDDED`
9
+ # Constructs a FakeNode with type `:LIST_EMBEDDED`.
10
10
  # @param children [Array] child nodes
11
11
  def self.list(children)
12
12
  new(:LIST_EMBEDDED, children)
13
13
  end
14
14
 
15
- # Constructs a FakeNode with type `:ITER_SCOPE`
15
+ # Constructs a FakeNode with type `:ITER_SCOPE`.
16
16
  # @param children [Array] child nodes
17
17
  def self.iter_scope(children)
18
18
  new(:ITER_SCOPE, children)
19
19
  end
20
20
 
21
- attr_reader :type, :children
21
+ # Node type
22
+ # @return [Symbol]
23
+ attr_reader :type
24
+
25
+ # Node children
26
+ # @return [Array]
27
+ attr_reader :children
22
28
 
23
- # Initializes a FakeNode
29
+ # Initializes a FakeNode.
24
30
  # @param type [Symbol] node type
25
31
  # @param children [Array] child nodes
26
32
  def initialize(type, children)
@@ -29,7 +35,7 @@ class Rephrase
29
35
  end
30
36
  end
31
37
 
32
- # Converts a :block or method to its source code
38
+ # Converts a block or method to its source code.
33
39
  # @param code [Proc, BoundMethod, UnboundMethod] proc or method
34
40
  # @return [String] converted source code
35
41
  def self.to_source(code)
@@ -37,7 +43,7 @@ class Rephrase
37
43
  new.convert({}, ast)
38
44
  end
39
45
 
40
- # Pretty-prints an AST
46
+ # Pretty-prints an AST.
41
47
  # @param node [RubyVM::AbstractSyntaxTree::Node] AST node
42
48
  def self.pp_ast(node, level = 0)
43
49
  case node
@@ -54,7 +60,7 @@ class Rephrase
54
60
  end
55
61
  end
56
62
 
57
- # Converts an AST node to a string containing its source code
63
+ # Converts an AST node to a string containing its source code.
58
64
  # @param ctx [Hash] context object
59
65
  # @param node [RubyVM::AbstractSyntaxTree::Node] AST node
60
66
  # @return [String] source code
@@ -71,7 +77,7 @@ class Rephrase
71
77
  ctx[:buffer]
72
78
  end
73
79
 
74
- # Converts a :SCOPE AST node
80
+ # Converts a `:SCOPE` AST node.
75
81
  # @param ctx [Hash] context object
76
82
  # @param node [RubyVM::AbstractSyntaxTree::Node] AST node
77
83
  def on_scope(ctx, node)
@@ -82,7 +88,7 @@ class Rephrase
82
88
  emit(ctx, "proc do", [body], "end")
83
89
  end
84
90
 
85
- # Converts a :BLOCK AST node
91
+ # Converts a `:BLOCK` AST node.
86
92
  # @param ctx [Hash] context object
87
93
  # @param node [RubyVM::AbstractSyntaxTree::Node] AST node
88
94
  def on_block(ctx, node)
@@ -93,7 +99,7 @@ class Rephrase
93
99
  end
94
100
  end
95
101
 
96
- # Converts a :ITER AST node
102
+ # Converts a `:ITER` AST node.
97
103
  # @param ctx [Hash] context object
98
104
  # @param node [RubyVM::AbstractSyntaxTree::Node] AST node
99
105
  def on_iter(ctx, node)
@@ -102,7 +108,7 @@ class Rephrase
102
108
  emit(ctx, FakeNode.iter_scope(scope.children))
103
109
  end
104
110
 
105
- # Converts a :ITER_SCOPE AST (fake) node
111
+ # Converts a `:ITER_SCOPE` AST (fake) node.
106
112
  # @param ctx [Hash] context object
107
113
  # @param node [Rephrase::FakeNode] AST node
108
114
  def on_iter_scope(ctx, node)
@@ -114,14 +120,14 @@ class Rephrase
114
120
  emit(ctx, "\nend")
115
121
  end
116
122
 
117
- # Converts a :CONST AST node
123
+ # Converts a `:CONST` AST node.
118
124
  # @param ctx [Hash] context object
119
125
  # @param node [RubyVM::AbstractSyntaxTree::Node] AST node
120
126
  def on_const(ctx, node)
121
127
  emit(ctx, node.children.first.to_s)
122
128
  end
123
129
 
124
- # Converts a :COLON2 AST node
130
+ # Converts a `:COLON2` AST node.
125
131
  # @param ctx [Hash] context object
126
132
  # @param node [RubyVM::AbstractSyntaxTree::Node] AST node
127
133
  def on_colon2(ctx, node)
@@ -129,7 +135,7 @@ class Rephrase
129
135
  emit(ctx, left, "::", right.to_s)
130
136
  end
131
137
 
132
- # Converts a :CALL AST node
138
+ # Converts a `:CALL` AST node.
133
139
  # @param ctx [Hash] context object
134
140
  # @param node [RubyVM::AbstractSyntaxTree::Node] AST node
135
141
  def on_call(ctx, node)
@@ -147,7 +153,7 @@ class Rephrase
147
153
  end
148
154
  end
149
155
 
150
- # Converts a :FCALL AST node
156
+ # Converts a `:FCALL` AST node.
151
157
  # @param ctx [Hash] context object
152
158
  # @param node [RubyVM::AbstractSyntaxTree::Node] AST node
153
159
  def on_fcall(ctx, node)
@@ -156,14 +162,14 @@ class Rephrase
156
162
  emit(ctx, "#{method}(", args, ")")
157
163
  end
158
164
 
159
- # Converts a :VCALL AST node
165
+ # Converts a `:VCALL` AST node.
160
166
  # @param ctx [Hash] context object
161
167
  # @param node [RubyVM::AbstractSyntaxTree::Node] AST node
162
168
  def on_vcall(ctx, node)
163
169
  emit(ctx, node.children.first.to_s, "()")
164
170
  end
165
171
 
166
- # Converts a :OPCALL AST node
172
+ # Converts a `:OPCALL` AST node.
167
173
  # @param ctx [Hash] context object
168
174
  # @param node [RubyVM::AbstractSyntaxTree::Node] AST node
169
175
  def on_opcall(ctx, node)
@@ -175,7 +181,7 @@ class Rephrase
175
181
  end
176
182
  end
177
183
 
178
- # Converts a :DASGN_CURR AST node
184
+ # Converts a `:DASGN_CURR` AST node.
179
185
  # @param ctx [Hash] context object
180
186
  # @param node [RubyVM::AbstractSyntaxTree::Node] AST node
181
187
  def on_dasgn_curr(ctx, node)
@@ -183,7 +189,7 @@ class Rephrase
183
189
  emit(ctx, left.to_s, " = ", right)
184
190
  end
185
191
 
186
- # Converts a :IASGN AST node
192
+ # Converts a `:IASGN` AST node.
187
193
  # @param ctx [Hash] context object
188
194
  # @param node [RubyVM::AbstractSyntaxTree::Node] AST node
189
195
  def on_iasgn(ctx, node)
@@ -191,7 +197,7 @@ class Rephrase
191
197
  emit(ctx, left.to_s, " = ", right)
192
198
  end
193
199
 
194
- # Converts a :IF AST node
200
+ # Converts a `:IF AST` node.
195
201
  # @param ctx [Hash] context object
196
202
  # @param node [RubyVM::AbstractSyntaxTree::Node] AST node
197
203
  def on_if(ctx, node)
@@ -203,7 +209,7 @@ class Rephrase
203
209
  end
204
210
  end
205
211
 
206
- # Converts a :UNLESS AST node
212
+ # Converts a `:UNLESS` AST node.
207
213
  # @param ctx [Hash] context object
208
214
  # @param node [RubyVM::AbstractSyntaxTree::Node] AST node
209
215
  def on_unless(ctx, node)
@@ -215,7 +221,7 @@ class Rephrase
215
221
  end
216
222
  end
217
223
 
218
- # Converts a :WHILE AST node
224
+ # Converts a `:WHILE` AST node.
219
225
  # @param ctx [Hash] context object
220
226
  # @param node [RubyVM::AbstractSyntaxTree::Node] AST node
221
227
  def on_while(ctx, node)
@@ -223,56 +229,56 @@ class Rephrase
223
229
  emit(ctx, "while ", cond, "\n", body, "\nend")
224
230
  end
225
231
 
226
- # Converts a :LIT AST node
232
+ # Converts a `:LIT` AST node.
227
233
  # @param ctx [Hash] context object
228
234
  # @param node [RubyVM::AbstractSyntaxTree::Node] AST node
229
235
  def on_lit(ctx, node)
230
236
  emit(ctx, node.children.first.inspect)
231
237
  end
232
238
 
233
- # Converts a :NIL AST node
239
+ # Converts a `:NIL` AST node.
234
240
  # @param ctx [Hash] context object
235
241
  # @param node [RubyVM::AbstractSyntaxTree::Node] AST node
236
242
  def on_nil(ctx, node)
237
243
  emit(ctx, "nil")
238
244
  end
239
245
 
240
- # Converts a :TRUE AST node
246
+ # Converts a `:TRUE` AST node.
241
247
  # @param ctx [Hash] context object
242
248
  # @param node [RubyVM::AbstractSyntaxTree::Node] AST node
243
249
  def on_true(ctx, node)
244
250
  emit(ctx, "true")
245
251
  end
246
252
 
247
- # Converts a :FALSE AST node
253
+ # Converts a `:FALSE` AST node.
248
254
  # @param ctx [Hash] context object
249
255
  # @param node [RubyVM::AbstractSyntaxTree::Node] AST node
250
256
  def on_false(ctx, node)
251
257
  emit(ctx, "false")
252
258
  end
253
259
 
254
- # Converts a :DVAR AST node
260
+ # Converts a `:DVAR` AST node.
255
261
  # @param ctx [Hash] context object
256
262
  # @param node [RubyVM::AbstractSyntaxTree::Node] AST node
257
263
  def on_dvar(ctx, node)
258
264
  emit(ctx, node.children.first.to_s)
259
265
  end
260
266
 
261
- # Converts a :IVAR AST node
267
+ # Converts a `:IVAR` AST node.
262
268
  # @param ctx [Hash] context object
263
269
  # @param node [RubyVM::AbstractSyntaxTree::Node] AST node
264
270
  def on_ivar(ctx, node)
265
271
  emit(ctx, node.children.first.to_s)
266
272
  end
267
273
 
268
- # Converts a :STR AST node
274
+ # Converts a `:STR` AST node.
269
275
  # @param ctx [Hash] context object
270
276
  # @param node [RubyVM::AbstractSyntaxTree::Node] AST node
271
277
  def on_str(ctx, node)
272
278
  emit(ctx, node.children.first.inspect)
273
279
  end
274
280
 
275
- # Converts a :DSTR AST node
281
+ # Converts a `:DSTR` AST node.
276
282
  # @param ctx [Hash] context object
277
283
  # @param node [RubyVM::AbstractSyntaxTree::Node] AST node
278
284
  def on_dstr(ctx, node)
@@ -293,14 +299,14 @@ class Rephrase
293
299
  emit(ctx, "\"")
294
300
  end
295
301
 
296
- # Converts a :EVSTR AST node
302
+ # Converts a `:EVSTR` AST node.
297
303
  # @param ctx [Hash] context object
298
304
  # @param node [RubyVM::AbstractSyntaxTree::Node] AST node
299
305
  def on_evstr(ctx, node)
300
306
  emit(ctx, "\#{", node.children.first, "}")
301
307
  end
302
308
 
303
- # Converts a :AND AST node
309
+ # Converts a `:AND` AST node.
304
310
  # @param ctx [Hash] context object
305
311
  # @param node [RubyVM::AbstractSyntaxTree::Node] AST node
306
312
  def on_and(ctx, node)
@@ -308,7 +314,7 @@ class Rephrase
308
314
  emit(ctx, left, " && ", right)
309
315
  end
310
316
 
311
- # Converts a :OR AST node
317
+ # Converts a `:OR` AST node.
312
318
  # @param ctx [Hash] context object
313
319
  # @param node [RubyVM::AbstractSyntaxTree::Node] AST node
314
320
  def on_or(ctx, node)
@@ -316,7 +322,7 @@ class Rephrase
316
322
  emit(ctx, left, " || ", right)
317
323
  end
318
324
 
319
- # Converts a :LIST AST node
325
+ # Converts a `:LIST` AST node.
320
326
  # @param ctx [Hash] context object
321
327
  # @param node [RubyVM::AbstractSyntaxTree::Node] AST node
322
328
  def on_list(ctx, node)
@@ -330,7 +336,7 @@ class Rephrase
330
336
  emit(ctx, "]")
331
337
  end
332
338
 
333
- # Converts a :LIST_EMBEDDED AST (fake) node
339
+ # Converts a `:LIST_EMBEDDED` AST (fake) node.
334
340
  # @param ctx [Hash] context object
335
341
  # @param node [Rephrase::FakeNode] AST node
336
342
  def on_list_embedded(ctx, node)
@@ -342,7 +348,7 @@ class Rephrase
342
348
  end
343
349
  end
344
350
 
345
- # Converts a :HASH AST node
351
+ # Converts a `:HASH` AST node.
346
352
  # @param ctx [Hash] context object
347
353
  # @param node [RubyVM::AbstractSyntaxTree::Node] AST node
348
354
  def on_hash(ctx, node)
@@ -360,7 +366,7 @@ class Rephrase
360
366
  emit(ctx, "}")
361
367
  end
362
368
 
363
- # Converts a :ATTRASGN AST node
369
+ # Converts a `:ATTRASGN` AST node.
364
370
  # @param ctx [Hash] context object
365
371
  # @param node [RubyVM::AbstractSyntaxTree::Node] AST node
366
372
  def on_attrasgn(ctx, node)
@@ -377,7 +383,7 @@ class Rephrase
377
383
  end
378
384
  end
379
385
 
380
- # Converts a :RESCUE AST node
386
+ # Converts a `:RESCUE` AST node.
381
387
  # @param ctx [Hash] context object
382
388
  # @param node [RubyVM::AbstractSyntaxTree::Node] AST node
383
389
  def on_rescue(ctx, node)
@@ -386,7 +392,7 @@ class Rephrase
386
392
  emit(ctx, " rescue ", rescue_body.children[1])
387
393
  end
388
394
 
389
- # Emits code into the context buffer
395
+ # Emits code into the context buffer.
390
396
  # @param ctx [Hash] context object
391
397
  # @param entries [Array<String, Symbol>] code entries
392
398
  def emit(ctx, *entries)
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rephrase
3
3
  version: !ruby/object:Gem::Version
4
- version: '0.2'
4
+ version: '0.3'
5
5
  platform: ruby
6
6
  authors:
7
7
  - Sharon Rosner
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2021-11-16 00:00:00.000000000 Z
11
+ date: 2021-11-17 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: minitest
@@ -38,6 +38,34 @@ dependencies:
38
38
  - - "~>"
39
39
  - !ruby/object:Gem::Version
40
40
  version: '12.0'
41
+ - !ruby/object:Gem::Dependency
42
+ name: yard
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - ">="
46
+ - !ruby/object:Gem::Version
47
+ version: '0'
48
+ type: :development
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - ">="
53
+ - !ruby/object:Gem::Version
54
+ version: '0'
55
+ - !ruby/object:Gem::Dependency
56
+ name: kramdown
57
+ requirement: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - ">="
60
+ - !ruby/object:Gem::Version
61
+ version: '0'
62
+ type: :development
63
+ prerelease: false
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - ">="
67
+ - !ruby/object:Gem::Version
68
+ version: '0'
41
69
  description:
42
70
  email: ciconia@gmail.com
43
71
  executables: []
@@ -54,6 +82,7 @@ licenses:
54
82
  - MIT
55
83
  metadata:
56
84
  source_code_uri: https://github.com/digital-fabric/rephrase
85
+ documentation_uri: https://www.rubydoc.info/gems/rephrase/0.3
57
86
  post_install_message:
58
87
  rdoc_options:
59
88
  - "--title"