ruff 1.4.0 → 2.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (42) hide show
  1. checksums.yaml +4 -4
  2. data/.rubocop.yml +1 -1
  3. data/Gemfile +2 -1
  4. data/Gemfile.lock +16 -12
  5. data/README.md +35 -58
  6. data/Rakefile +2 -1
  7. data/docs/Ruff.html +7 -7
  8. data/docs/Ruff/Effect.html +165 -23
  9. data/docs/Ruff/Handler.html +45 -50
  10. data/docs/Ruff/Standard.html +6 -6
  11. data/docs/Ruff/Standard/Async.html +26 -26
  12. data/docs/Ruff/Standard/Async/Instance.html +8 -8
  13. data/docs/Ruff/Standard/Call1cc.html +6 -6
  14. data/docs/Ruff/Standard/CurrentTime.html +6 -6
  15. data/docs/Ruff/Standard/CurrentTime/Instance.html +7 -7
  16. data/docs/Ruff/Standard/Defer.html +6 -6
  17. data/docs/Ruff/Standard/Defer/Instance.html +6 -6
  18. data/docs/Ruff/Standard/MeasureTime.html +6 -6
  19. data/docs/Ruff/Standard/MeasureTime/Instance.html +8 -8
  20. data/docs/Ruff/Standard/State.html +6 -6
  21. data/docs/Ruff/Standard/State/Instance.html +6 -6
  22. data/docs/Ruff/Throws.html +6 -11
  23. data/docs/Ruff/Throws/Eff.html +6 -6
  24. data/docs/Ruff/Throws/Resend.html +6 -6
  25. data/docs/_index.html +7 -7
  26. data/docs/class_list.html +2 -2
  27. data/docs/css/style.css +2 -2
  28. data/docs/file.README.html +39 -56
  29. data/docs/file_list.html +2 -2
  30. data/docs/frames.html +2 -2
  31. data/docs/index.html +39 -56
  32. data/docs/js/app.js +14 -3
  33. data/docs/method_list.html +71 -63
  34. data/docs/top-level-namespace.html +6 -6
  35. data/lib/ruff/effect.rb +32 -3
  36. data/lib/ruff/handler.rb +43 -18
  37. data/lib/ruff/standard/async.rb +10 -7
  38. data/lib/ruff/standard/current_time.rb +1 -1
  39. data/lib/ruff/standard/measure_time.rb +2 -2
  40. data/lib/ruff/version.rb +1 -1
  41. data/version +1 -1
  42. metadata +3 -3
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: ec108da7f3d3fa47a0e408b0a4fe5f97396668633addec0d3ca4d34c9aff35d2
4
- data.tar.gz: 96342bb0a7372eca77bb3cd4dd4ac75fc597176f67e0bf51b329c8a11685031d
3
+ metadata.gz: d9e1dae67b058066cf8391de4fe3ca4f66008b75847ef6a0fcdb9f0c2fc34f83
4
+ data.tar.gz: 5dd1da59faf5ba97b22b117c8e3ad167daddb753ff9d8056f5ccbe06113c9370
5
5
  SHA512:
6
- metadata.gz: f81e02e55b423051a51bc099edd61724b8447909476a547934a4f4fda526123d1a6e28d6b329f4fcd99a8cc0c9db0340567d3870367cbf1cd6b0761fb4fbda56
7
- data.tar.gz: 4526356c34e1bc3d490e3304b53947a0770acea53f181411221ead10fbaf0aad493d621cc8f410ffb3f32092563eb1963df54aa26caad6b6856d8a11472f2bca
6
+ metadata.gz: 7871d5559cec31ce9eb44774ba4248f6f74eb7d03882bfc3962dc9a17e3cafc184c3aa5688b85b6612080fb84e59bacfbe227fda22a1245237fc7a7daba6f161
7
+ data.tar.gz: c483a833deb4ddf6747fffd80e5e29ed987bf1a9347995e37ca5b454d585f4fbb2aebc13905acca15d9dba77341ef68c69719396b179e10fb206aaf11fb8f5b4
@@ -4,7 +4,7 @@ Metrics/LineLength:
4
4
  Metrics/MethodLength:
5
5
  Max: 40
6
6
 
7
- Naming/UncommunicativeMethodParamName:
7
+ Naming/MethodParameterName:
8
8
  MinNameLength: 1
9
9
 
10
10
  Style/MultilineBlockChain:
data/Gemfile CHANGED
@@ -6,7 +6,8 @@ source 'https://rubygems.org'
6
6
  gemspec
7
7
  gem 'redcarpet', group: :development
8
8
  gem 'rubocop', group: :development
9
+ # gem 'irb', group: :development
9
10
  gem 'solargraph', group: :development
10
11
  gem 'yard', group: :development
11
12
 
12
- gem "irb", "~> 1.0"
13
+ gem 'irb', '~> 1.0', group: :development
@@ -1,28 +1,32 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- ruff (1.4.0)
4
+ ruff (2.0.0)
5
5
 
6
6
  GEM
7
7
  remote: https://rubygems.org/
8
8
  specs:
9
9
  ast (2.4.0)
10
10
  backport (1.1.2)
11
- htmlentities (4.3.4)
12
- irb (1.0.0)
13
- jaro_winkler (1.5.3)
11
+ io-console (0.5.4)
12
+ irb (1.2.1)
13
+ reline (>= 0.0.1)
14
+ jaro_winkler (1.5.4)
15
+ maruku (0.7.3)
14
16
  mini_portile2 (2.4.0)
15
- nokogiri (1.10.4)
17
+ nokogiri (1.10.7)
16
18
  mini_portile2 (~> 2.4.0)
17
- parallel (1.17.0)
18
- parser (2.6.4.1)
19
+ parallel (1.19.1)
20
+ parser (2.7.0.1)
19
21
  ast (~> 2.4.0)
20
22
  rainbow (3.0.0)
21
23
  rake (10.5.0)
22
24
  redcarpet (3.5.0)
25
+ reline (0.1.2)
26
+ io-console (~> 0.5)
23
27
  reverse_markdown (1.3.0)
24
28
  nokogiri
25
- rubocop (0.75.0)
29
+ rubocop (0.78.0)
26
30
  jaro_winkler (~> 1.5.1)
27
31
  parallel (~> 1.10)
28
32
  parser (>= 2.6)
@@ -30,11 +34,11 @@ GEM
30
34
  ruby-progressbar (~> 1.7)
31
35
  unicode-display_width (>= 1.4.0, < 1.7)
32
36
  ruby-progressbar (1.10.1)
33
- solargraph (0.37.2)
37
+ solargraph (0.38.0)
34
38
  backport (~> 1.1)
35
39
  bundler (>= 1.17.2)
36
- htmlentities (~> 4.3, >= 4.3.4)
37
40
  jaro_winkler (~> 1.5)
41
+ maruku (~> 0.7, >= 0.7.3)
38
42
  nokogiri (~> 1.9, >= 1.9.1)
39
43
  parser (~> 2.3)
40
44
  reverse_markdown (~> 1.0, >= 1.0.5)
@@ -45,7 +49,7 @@ GEM
45
49
  thor (0.20.3)
46
50
  tilt (2.0.10)
47
51
  unicode-display_width (1.6.0)
48
- yard (0.9.20)
52
+ yard (0.9.22)
49
53
 
50
54
  PLATFORMS
51
55
  ruby
@@ -61,4 +65,4 @@ DEPENDENCIES
61
65
  yard
62
66
 
63
67
  BUNDLED WITH
64
- 2.0.1
68
+ 2.1.2
data/README.md CHANGED
@@ -3,29 +3,32 @@ ruff
3
3
 
4
4
  [![Gem Version](https://badge.fury.io/rb/ruff.svg)](https://badge.fury.io/rb/ruff)
5
5
 
6
+ - [source](https://github.com/Nymphium/ruff)
7
+ - [documentation](https://nymphium.github.io/ruff)
8
+
6
9
  ONE-SHOT Algebraic Effects Library for Ruby!
7
10
 
8
11
  ```ruby
9
12
  require "ruff"
10
13
 
11
- double = Ruff.instance
12
- triple = Ruff.instance
13
- log = Ruff.instance
14
+ Double = Ruff.instance
15
+ Triple = Ruff.instance
16
+ Log = Ruff.instance
14
17
 
15
18
  h1 = Ruff.handler
16
- .on(double){|k, v| k[v * 2] }
17
- .on(triple){|k, v| k[v * 3] }
19
+ .on(Double){|k, v| k[v * 2] }
20
+ .on(Triple){|k, v| k[v * 3] }
18
21
 
19
- h2 = Ruff.handler.on(log){|k, msg|
22
+ h2 = Ruff.handler.on(Log){|k, msg|
20
23
  k[]
21
24
  puts "logger: #{msg}"
22
25
  }
23
26
 
24
27
  h1.run{
25
28
  h2.run{
26
- v = double.perform 2
27
- log.perform (v + 2)
28
- puts triple.perform 3
29
+ v = Double.perform 2
30
+ Log.perform (v + 2)
31
+ puts Triple.perform 3
29
32
  }
30
33
  }
31
34
  # ==> prints
@@ -33,55 +36,29 @@ h1.run{
33
36
  # logger: 6
34
37
  ```
35
38
 
36
- # pre-defined effect and handlers
37
- They have `with` method to handle the effects, and `Instance` class to instanciate and handle the indivisual effect objects.
38
-
39
- ```ruby
40
- require "ruff"
41
- require "ruff/standard"
42
-
43
- include Ruff::Standard
44
-
45
- Defer.with {
46
- state1 = State::Instance.new
47
- state2 = State::Instance.new
48
-
49
- state1.with_init(10) {
50
- CurrentTime.with {
51
- puts CurrentTime.get
52
- }
53
-
54
- state2.with_init("") {
55
- 3.times{
56
- state1.modify {|s| s + 1 }
57
- state2.put "#{state1.get}!"
58
-
59
- s1 = state1.get
60
- s2 = state2.get
61
-
62
- Defer.register {
63
- puts s1, s2
64
- }
65
- }
66
- }
67
- }
68
- }
69
-
70
- # ==>
71
- # 2019-10-03 03:24:34 +0900
72
- # 13
73
- # 13!
74
- # 12
75
- # 12!
76
- # 11
77
- # 11!
78
- ```
79
-
80
- - `Ruff::Standard::State`
81
- - `Ruff::Standard::Defer`
82
- - `Ruff::Standard::CurrentTime`
83
- - `Ruff::Standard::MeasureTime`
84
- - `Ruff::Standard::Async`
39
+ # Feature
40
+ ## ***One-shot*** algebraic effects
41
+ You can access the delimited continuation which can run only once.
42
+ Even the limitation exists, you can write powerful control flow manipulation, like async/await, call1cc.
43
+
44
+ We have an formal definition for the implementation, by showing a conversion from algebraic effects and handlers to asymmetric coroutines.
45
+ See [here](https://nymphium.github.io/2018/12/09/asymmetric-coroutines%E3%81%AB%E3%82%88%E3%82%8Boneshot-algebraic-effects%E3%81%AE%E5%AE%9F%E8%A3%85.html) (in Japanese).
46
+
47
+ ## Subtyping on effects
48
+ You can define an *sub* effect for another effect.
49
+ It enables to make an effect hierarchy, such as `Exception`s in Java.
50
+ This implementation is based on a calculus λ<sub>σ<sub>&lt;:</sub></sub> [(Description (in Japanese))](https://nymphium.github.io/2019/12/22/effsub.html).
51
+
52
+ # Pre-defined effect and handlers
53
+ We provide some ready-to-use effect and handlers.
54
+ You can use quickly powerful control flows.
55
+
56
+ - [`Ruff::Standard::State`](https://nymphium.github.io/ruff/Ruff/Standard/State.html)
57
+ - [`Ruff::Standard::Defer`](https://nymphium.github.io/ruff/Ruff/Standard/Defer.html)
58
+ - [`Ruff::Standard::CurrentTime`](https://nymphium.github.io/ruff/Ruff/Standard/CurrentTime.html)
59
+ - [`Ruff::Standard::MeasureTime`](https://nymphium.github.io/ruff/Ruff/Standard/MeasureTime.html)
60
+ - [`Ruff::Standard::Async`](https://nymphium.github.io/ruff/Ruff/Standard/Async.html)
61
+ - [`Ruff::Standard::Call1cc`](https://nymphium.github.io/ruff/Ruff/Standard/Call1cc.html)
85
62
 
86
63
  # LICENSE
87
64
  MIT
data/Rakefile CHANGED
@@ -10,7 +10,8 @@ YARDOPTS = [
10
10
  "--title=Ruff #{Ruff::VERSION} Documentation",
11
11
  '--markup-provider=redcarpet',
12
12
  '--markup=markdown',
13
- '--charset=utf-8'
13
+ '--charset=utf-8',
14
+ '--no-private'
14
15
  ].freeze
15
16
 
16
17
  RuboCop::RakeTask.new
@@ -6,15 +6,15 @@
6
6
  <title>
7
7
  Module: Ruff
8
8
 
9
- &mdash; Ruff 1.3.1 Documentation
9
+ &mdash; Ruff 1.4.0 Documentation
10
10
 
11
11
  </title>
12
12
 
13
- <link rel="stylesheet" href="css/style.css" type="text/css" charset="utf-8" />
13
+ <link rel="stylesheet" href="css/style.css" type="text/css" />
14
14
 
15
- <link rel="stylesheet" href="css/common.css" type="text/css" charset="utf-8" />
15
+ <link rel="stylesheet" href="css/common.css" type="text/css" />
16
16
 
17
- <script type="text/javascript" charset="utf-8">
17
+ <script type="text/javascript">
18
18
  pathId = "Ruff";
19
19
  relpath = '';
20
20
  </script>
@@ -109,7 +109,7 @@
109
109
  <dt id="VERSION-constant" class="">VERSION =
110
110
 
111
111
  </dt>
112
- <dd><pre class="code"><span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>1.3.1</span><span class='tstring_end'>&#39;</span></span></pre></dd>
112
+ <dd><pre class="code"><span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>1.4.0</span><span class='tstring_end'>&#39;</span></span></pre></dd>
113
113
 
114
114
  </dl>
115
115
 
@@ -301,9 +301,9 @@
301
301
  </div>
302
302
 
303
303
  <div id="footer">
304
- Generated on Wed Oct 30 01:51:52 2019 by
304
+ Generated on Thu Jan 2 19:46:22 2020 by
305
305
  <a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
306
- 0.9.20 (ruby-2.6.5).
306
+ 0.9.22 (ruby-2.6.5).
307
307
  </div>
308
308
 
309
309
  </div>
@@ -6,15 +6,15 @@
6
6
  <title>
7
7
  Class: Ruff::Effect
8
8
 
9
- &mdash; Ruff 1.3.1 Documentation
9
+ &mdash; Ruff 1.4.0 Documentation
10
10
 
11
11
  </title>
12
12
 
13
- <link rel="stylesheet" href="../css/style.css" type="text/css" charset="utf-8" />
13
+ <link rel="stylesheet" href="../css/style.css" type="text/css" />
14
14
 
15
- <link rel="stylesheet" href="../css/common.css" type="text/css" charset="utf-8" />
15
+ <link rel="stylesheet" href="../css/common.css" type="text/css" />
16
16
 
17
- <script type="text/javascript" charset="utf-8">
17
+ <script type="text/javascript">
18
18
  pathId = "Ruff::Effect";
19
19
  relpath = '../';
20
20
  </script>
@@ -138,7 +138,7 @@
138
138
 
139
139
 
140
140
 
141
- <span class="summary_desc"><div class='inline'><p>Each instance must be unique so they have unique id with UUID.</p>
141
+ <span class="summary_desc"><div class='inline'><p>Each instance must be unique so they have unique id with an annonymous class instance.</p>
142
142
  </div></span>
143
143
 
144
144
  </li>
@@ -150,6 +150,38 @@
150
150
 
151
151
 
152
152
 
153
+ <h2>
154
+ Class Method Summary
155
+ <small><a href="#" class="summary_toggle">collapse</a></small>
156
+ </h2>
157
+
158
+ <ul class="summary">
159
+
160
+ <li class="public ">
161
+ <span class="summary_signature">
162
+
163
+ <a href="#<<-class_method" title="&lt;&lt; (class method)">.<strong>&lt;&lt;</strong>(parent) &#x21d2; Effect&lt;Arg, Ret&gt; </a>
164
+
165
+
166
+
167
+ </span>
168
+
169
+
170
+
171
+
172
+
173
+
174
+
175
+
176
+
177
+ <span class="summary_desc"><div class='inline'><p>instanciates an effect, which has an relation <code>self &lt;: parent</code> from the subtyping of <code>id</code> object.</p>
178
+ </div></span>
179
+
180
+ </li>
181
+
182
+
183
+ </ul>
184
+
153
185
  <h2>
154
186
  Instance Method Summary
155
187
  <small><a href="#" class="summary_toggle">collapse</a></small>
@@ -244,17 +276,15 @@
244
276
  <pre class="lines">
245
277
 
246
278
 
247
- 12
248
- 13
249
- 14
250
- 15</pre>
279
+ 15
280
+ 16
281
+ 17</pre>
251
282
  </td>
252
283
  <td>
253
- <pre class="code"><span class="info file"># File 'lib/ruff/effect.rb', line 12</span>
284
+ <pre class="code"><span class="info file"># File 'lib/ruff/effect.rb', line 15</span>
254
285
 
255
286
  <span class='kw'>def</span> <span class='id identifier rubyid_initialize'>initialize</span>
256
- <span class='ivar'>@id</span> <span class='op'>=</span> <span class='const'>SecureRandom</span><span class='period'>.</span><span class='id identifier rubyid_uuid'>uuid</span>
257
- <span class='ivar'>@id</span><span class='period'>.</span><span class='id identifier rubyid_freeze'>freeze</span>
287
+ <span class='ivar'>@id</span> <span class='op'>=</span> <span class='const'>Class</span><span class='period'>.</span><span class='id identifier rubyid_new'>new</span><span class='period'>.</span><span class='id identifier rubyid_new'>new</span>
258
288
  <span class='kw'>end</span></pre>
259
289
  </td>
260
290
  </tr>
@@ -279,7 +309,9 @@
279
309
 
280
310
  </h3><div class="docstring">
281
311
  <div class="discussion">
282
- <p>Each instance must be unique so they have unique id with UUID</p>
312
+ <p>Each instance must be unique so they have unique id with an annonymous class instance.</p>
313
+
314
+ <p>The class instance may have subtyping relation.</p>
283
315
 
284
316
 
285
317
  </div>
@@ -287,18 +319,25 @@
287
319
  <div class="tags">
288
320
 
289
321
 
322
+ <p class="tag_title">See Also:</p>
323
+ <ul class="see">
324
+
325
+ <li><span class='object_link'><a href="#<<-class_method" title="Ruff::Effect.&lt;&lt; (method)">&lt;&lt;</a></span></li>
326
+
327
+ </ul>
328
+
290
329
  </div><table class="source_code">
291
330
  <tr>
292
331
  <td>
293
332
  <pre class="lines">
294
333
 
295
334
 
296
- 6
297
- 7
298
- 8</pre>
335
+ 9
336
+ 10
337
+ 11</pre>
299
338
  </td>
300
339
  <td>
301
- <pre class="code"><span class="info file"># File 'lib/ruff/effect.rb', line 6</span>
340
+ <pre class="code"><span class="info file"># File 'lib/ruff/effect.rb', line 9</span>
302
341
 
303
342
  <span class='kw'>def</span> <span class='id identifier rubyid_id'>id</span>
304
343
  <span class='ivar'>@id</span>
@@ -311,6 +350,109 @@
311
350
  </div>
312
351
 
313
352
 
353
+ <div id="class_method_details" class="method_details_list">
354
+ <h2>Class Method Details</h2>
355
+
356
+
357
+ <div class="method_details first">
358
+ <h3 class="signature first" id="<<-class_method">
359
+
360
+ .<strong>&lt;&lt;</strong>(parent) &#x21d2; <tt><span class='object_link'><a href="" title="Ruff::Effect (class)">Effect</a></span>&lt;Arg, Ret&gt;</tt>
361
+
362
+
363
+
364
+
365
+
366
+ </h3><div class="docstring">
367
+ <div class="discussion">
368
+ <p>instanciates an effect, which has an relation <code>self &lt;: parent</code>
369
+ from the subtyping of <code>id</code> object.</p>
370
+
371
+
372
+ </div>
373
+ </div>
374
+ <div class="tags">
375
+
376
+ <div class="examples">
377
+ <p class="tag_title">Examples:</p>
378
+
379
+
380
+ <pre class="example code"><code><span class='const'>Exception</span> <span class='op'>=</span> <span class='const'><span class='object_link'><a href="../Ruff.html" title="Ruff (module)">Ruff</a></span></span><span class='op'>::</span><span class='const'><span class='object_link'><a href="" title="Ruff::Effect (class)">Effect</a></span></span><span class='period'>.</span><span class='id identifier rubyid_new'><span class='object_link'><a href="#initialize-instance_method" title="Ruff::Effect#initialize (method)">new</a></span></span>
381
+ <span class='const'>RuntimeException</span> <span class='op'>=</span> <span class='const'><span class='object_link'><a href="../Ruff.html" title="Ruff (module)">Ruff</a></span></span><span class='op'>::</span><span class='const'><span class='object_link'><a href="" title="Ruff::Effect (class)">Effect</a></span></span> <span class='op'>&lt;&lt;</span> <span class='const'>Exception</span>
382
+
383
+ <span class='const'><span class='object_link'><a href="../Ruff.html" title="Ruff (module)">Ruff</a></span></span><span class='op'>::</span><span class='const'><span class='object_link'><a href="Handler.html" title="Ruff::Handler (class)">Handler</a></span></span><span class='period'>.</span><span class='id identifier rubyid_new'><span class='object_link'><a href="Handler.html#initialize-instance_method" title="Ruff::Handler#initialize (method)">new</a></span></span>
384
+ <span class='period'>.</span><span class='id identifier rubyid_on'>on</span><span class='lparen'>(</span><span class='const'>Exception</span><span class='rparen'>)</span><span class='lbrace'>{</span>
385
+ <span class='id identifier rubyid_puts'>puts</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>catch</span><span class='tstring_end'>&quot;</span></span>
386
+ <span class='rbrace'>}</span>
387
+ <span class='period'>.</span><span class='id identifier rubyid_run'>run</span> <span class='lbrace'>{</span>
388
+ <span class='const'>RuntimeException</span><span class='period'>.</span><span class='id identifier rubyid_perform'>perform</span>
389
+ <span class='rbrace'>}</span>
390
+ <span class='comment'># ==&gt; prints &quot;catch&quot;</span></code></pre>
391
+
392
+ </div>
393
+ <p class="tag_title">Parameters:</p>
394
+ <ul class="param">
395
+
396
+ <li>
397
+
398
+ <span class='name'>parent</span>
399
+
400
+
401
+ <span class='type'>(<tt><span class='object_link'><a href="" title="Ruff::Effect (class)">Effect</a></span>&lt;Arg, Ret&gt;</tt>)</span>
402
+
403
+
404
+
405
+ </li>
406
+
407
+ </ul>
408
+
409
+ <p class="tag_title">Returns:</p>
410
+ <ul class="return">
411
+
412
+ <li>
413
+
414
+
415
+ <span class='type'>(<tt><span class='object_link'><a href="" title="Ruff::Effect (class)">Effect</a></span>&lt;Arg, Ret&gt;</tt>)</span>
416
+
417
+
418
+
419
+ &mdash;
420
+ <div class='inline'><p>with an relation <code>it &lt;: parent</code></p>
421
+ </div>
422
+
423
+ </li>
424
+
425
+ </ul>
426
+
427
+ </div><table class="source_code">
428
+ <tr>
429
+ <td>
430
+ <pre class="lines">
431
+
432
+
433
+ 37
434
+ 38
435
+ 39
436
+ 40
437
+ 41
438
+ 42</pre>
439
+ </td>
440
+ <td>
441
+ <pre class="code"><span class="info file"># File 'lib/ruff/effect.rb', line 37</span>
442
+
443
+ <span class='kw'>def</span> <span class='kw'>self</span><span class='period'>.</span><span class='op'>&lt;&lt;</span><span class='lparen'>(</span><span class='id identifier rubyid_parent'>parent</span><span class='rparen'>)</span>
444
+ <span class='id identifier rubyid_inst'>inst</span> <span class='op'>=</span> <span class='id identifier rubyid_new'>new</span>
445
+ <span class='id identifier rubyid_parent_id'>parent_id</span> <span class='op'>=</span> <span class='id identifier rubyid_parent'>parent</span><span class='period'>.</span><span class='id identifier rubyid_instance_variable_get'>instance_variable_get</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>@id</span><span class='tstring_end'>&#39;</span></span><span class='rparen'>)</span>
446
+ <span class='id identifier rubyid_inst'>inst</span><span class='period'>.</span><span class='id identifier rubyid_instance_variable_set'>instance_variable_set</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>@id</span><span class='tstring_end'>&#39;</span></span><span class='comma'>,</span> <span class='lparen'>(</span><span class='const'>Class</span><span class='period'>.</span><span class='id identifier rubyid_new'>new</span> <span class='id identifier rubyid_parent_id'>parent_id</span><span class='period'>.</span><span class='id identifier rubyid_class'>class</span><span class='rparen'>)</span><span class='period'>.</span><span class='id identifier rubyid_new'>new</span><span class='rparen'>)</span>
447
+ <span class='id identifier rubyid_inst'>inst</span>
448
+ <span class='kw'>end</span></pre>
449
+ </td>
450
+ </tr>
451
+ </table>
452
+ </div>
453
+
454
+ </div>
455
+
314
456
  <div id="instance_method_details" class="method_details_list">
315
457
  <h2>Instance Method Details</h2>
316
458
 
@@ -384,12 +526,12 @@
384
526
  <pre class="lines">
385
527
 
386
528
 
387
- 22
388
- 23
389
- 24</pre>
529
+ 51
530
+ 52
531
+ 53</pre>
390
532
  </td>
391
533
  <td>
392
- <pre class="code"><span class="info file"># File 'lib/ruff/effect.rb', line 22</span>
534
+ <pre class="code"><span class="info file"># File 'lib/ruff/effect.rb', line 51</span>
393
535
 
394
536
  <span class='kw'>def</span> <span class='id identifier rubyid_perform'>perform</span><span class='lparen'>(</span><span class='op'>*</span><span class='id identifier rubyid_a'>a</span><span class='rparen'>)</span>
395
537
  <span class='const'>Fiber</span><span class='period'>.</span><span class='id identifier rubyid_yield'>yield</span> <span class='const'><span class='object_link'><a href="../Ruff.html" title="Ruff (module)">Ruff</a></span></span><span class='op'>::</span><span class='const'><span class='object_link'><a href="Throws.html" title="Ruff::Throws (module)">Throws</a></span></span><span class='op'>::</span><span class='const'><span class='object_link'><a href="Throws/Eff.html" title="Ruff::Throws::Eff (class)">Eff</a></span></span><span class='period'>.</span><span class='id identifier rubyid_new'><span class='object_link'><a href="Throws/Eff.html#initialize-instance_method" title="Ruff::Throws::Eff#initialize (method)">new</a></span></span><span class='lparen'>(</span><span class='ivar'>@id</span><span class='comma'>,</span> <span class='id identifier rubyid_a'>a</span><span class='rparen'>)</span>
@@ -404,9 +546,9 @@
404
546
  </div>
405
547
 
406
548
  <div id="footer">
407
- Generated on Wed Oct 30 01:51:52 2019 by
549
+ Generated on Thu Jan 2 19:46:23 2020 by
408
550
  <a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
409
- 0.9.20 (ruby-2.6.5).
551
+ 0.9.22 (ruby-2.6.5).
410
552
  </div>
411
553
 
412
554
  </div>