ruff 1.1.0 → 1.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/Gemfile.lock +1 -1
- data/Rakefile +3 -0
- data/docs/Ruff.html +5 -5
- data/docs/Ruff/Effect.html +3 -3
- data/docs/Ruff/Handler.html +19 -8
- data/docs/Ruff/Standard.html +4 -4
- data/docs/Ruff/Standard/CurrentTime.html +12 -12
- data/docs/Ruff/Standard/CurrentTime/Instance.html +17 -15
- data/docs/Ruff/Standard/Defer.html +15 -15
- data/docs/Ruff/Standard/Defer/Instance.html +16 -10
- data/docs/Ruff/Standard/MeasureTime.html +389 -0
- data/docs/Ruff/Standard/MeasureTime/Instance.html +499 -0
- data/docs/Ruff/Standard/State.html +49 -27
- data/docs/Ruff/Standard/State/Instance.html +49 -47
- data/docs/Ruff/Throws.html +3 -3
- data/docs/Ruff/Throws/Eff.html +3 -3
- data/docs/Ruff/Throws/Resend.html +3 -3
- data/docs/_index.html +29 -7
- data/docs/class_list.html +1 -1
- data/docs/file.README.html +3 -3
- data/docs/frames.html +1 -1
- data/docs/index.html +3 -3
- data/docs/method_list.html +74 -18
- data/docs/top-level-namespace.html +3 -3
- data/lib/ruff.rb +1 -1
- data/lib/ruff/standard.rb +2 -0
- data/lib/ruff/standard/current_time.rb +3 -2
- data/lib/ruff/standard/defer.rb +4 -1
- data/lib/ruff/standard/measure_time.rb +77 -0
- data/lib/ruff/standard/state.rb +17 -0
- data/lib/ruff/version.rb +1 -1
- data/version +1 -1
- metadata +4 -1
data/docs/class_list.html
CHANGED
@@ -43,7 +43,7 @@
|
|
43
43
|
|
44
44
|
<ul id="full_list" class="class">
|
45
45
|
<li id="object_" class="odd"><div class="item" style="padding-left:30px"><span class='object_link'><a href="top-level-namespace.html" title="Top Level Namespace (root)">Top Level Namespace</a></span></div></li>
|
46
|
-
<li id='object_Ruff' class='even'><div class='item' style='padding-left:30px'><a class='toggle'></a> <span class='object_link'><a href="Ruff.html" title="Ruff (module)">Ruff</a></span><small class='search_info'>Top Level Namespace</small></div><ul><li id='object_Ruff::Effect' class='collapsed odd'><div class='item' style='padding-left:45px'><span class='object_link'><a href="Ruff/Effect.html" title="Ruff::Effect (class)">Effect</a></span> < Object<small class='search_info'>Ruff</small></div></li><li id='object_Ruff::Handler' class='collapsed even'><div class='item' style='padding-left:45px'><span class='object_link'><a href="Ruff/Handler.html" title="Ruff::Handler (class)">Handler</a></span> < Object<small class='search_info'>Ruff</small></div></li><li id='object_Ruff::Standard' class='collapsed odd'><div class='item' style='padding-left:45px'><a class='toggle'></a> <span class='object_link'><a href="Ruff/Standard.html" title="Ruff::Standard (module)">Standard</a></span><small class='search_info'>Ruff</small></div><ul><li id='object_Ruff::Standard::CurrentTime' class='collapsed'><div class='item' style='padding-left:60px'><a class='toggle'></a> <span class='object_link'><a href="Ruff/Standard/CurrentTime.html" title="Ruff::Standard::CurrentTime (module)">CurrentTime</a></span><small class='search_info'>Ruff::Standard</small></div><ul><li id='object_Ruff::Standard::CurrentTime::Instance' class='collapsed'><div class='item' style='padding-left:75px'><span class='object_link'><a href="Ruff/Standard/CurrentTime/Instance.html" title="Ruff::Standard::CurrentTime::Instance (class)">Instance</a></span> < Object<small class='search_info'>Ruff::Standard::CurrentTime</small></div></li></ul></li><li id='object_Ruff::Standard::Defer' class='collapsed'><div class='item' style='padding-left:60px'><a class='toggle'></a> <span class='object_link'><a href="Ruff/Standard/Defer.html" title="Ruff::Standard::Defer (module)">Defer</a></span><small class='search_info'>Ruff::Standard</small></div><ul><li id='object_Ruff::Standard::Defer::Instance' class='collapsed'><div class='item' style='padding-left:75px'><span class='object_link'><a href="Ruff/Standard/Defer/Instance.html" title="Ruff::Standard::Defer::Instance (class)">Instance</a></span> < Object<small class='search_info'>Ruff::Standard::Defer</small></div></li></ul></li><li id='object_Ruff::Standard::State' class='collapsed'><div class='item' style='padding-left:60px'><a class='toggle'></a> <span class='object_link'><a href="Ruff/Standard/State.html" title="Ruff::Standard::State (module)">State</a></span><small class='search_info'>Ruff::Standard</small></div><ul><li id='object_Ruff::Standard::State::Instance' class='collapsed'><div class='item' style='padding-left:75px'><span class='object_link'><a href="Ruff/Standard/State/Instance.html" title="Ruff::Standard::State::Instance (class)">Instance</a></span> < Object<small class='search_info'>Ruff::Standard::State</small></div></li></ul></li></ul></li><li id='object_Ruff::Throws' class='collapsed even'><div class='item' style='padding-left:45px'><a class='toggle'></a> <span class='object_link'><a href="Ruff/Throws.html" title="Ruff::Throws (module)">Throws</a></span><small class='search_info'>Ruff</small></div><ul><li id='object_Ruff::Throws::Eff' class='collapsed'><div class='item' style='padding-left:60px'><span class='object_link'><a href="Ruff/Throws/Eff.html" title="Ruff::Throws::Eff (class)">Eff</a></span> < Object<small class='search_info'>Ruff::Throws</small></div></li><li id='object_Ruff::Throws::Resend' class='collapsed'><div class='item' style='padding-left:60px'><span class='object_link'><a href="Ruff/Throws/Resend.html" title="Ruff::Throws::Resend (class)">Resend</a></span> < Object<small class='search_info'>Ruff::Throws</small></div></li></ul></li></ul></li>
|
46
|
+
<li id='object_Ruff' class='even'><div class='item' style='padding-left:30px'><a class='toggle'></a> <span class='object_link'><a href="Ruff.html" title="Ruff (module)">Ruff</a></span><small class='search_info'>Top Level Namespace</small></div><ul><li id='object_Ruff::Effect' class='collapsed odd'><div class='item' style='padding-left:45px'><span class='object_link'><a href="Ruff/Effect.html" title="Ruff::Effect (class)">Effect</a></span> < Object<small class='search_info'>Ruff</small></div></li><li id='object_Ruff::Handler' class='collapsed even'><div class='item' style='padding-left:45px'><span class='object_link'><a href="Ruff/Handler.html" title="Ruff::Handler (class)">Handler</a></span> < Object<small class='search_info'>Ruff</small></div></li><li id='object_Ruff::Standard' class='collapsed odd'><div class='item' style='padding-left:45px'><a class='toggle'></a> <span class='object_link'><a href="Ruff/Standard.html" title="Ruff::Standard (module)">Standard</a></span><small class='search_info'>Ruff</small></div><ul><li id='object_Ruff::Standard::CurrentTime' class='collapsed'><div class='item' style='padding-left:60px'><a class='toggle'></a> <span class='object_link'><a href="Ruff/Standard/CurrentTime.html" title="Ruff::Standard::CurrentTime (module)">CurrentTime</a></span><small class='search_info'>Ruff::Standard</small></div><ul><li id='object_Ruff::Standard::CurrentTime::Instance' class='collapsed'><div class='item' style='padding-left:75px'><span class='object_link'><a href="Ruff/Standard/CurrentTime/Instance.html" title="Ruff::Standard::CurrentTime::Instance (class)">Instance</a></span> < Object<small class='search_info'>Ruff::Standard::CurrentTime</small></div></li></ul></li><li id='object_Ruff::Standard::Defer' class='collapsed'><div class='item' style='padding-left:60px'><a class='toggle'></a> <span class='object_link'><a href="Ruff/Standard/Defer.html" title="Ruff::Standard::Defer (module)">Defer</a></span><small class='search_info'>Ruff::Standard</small></div><ul><li id='object_Ruff::Standard::Defer::Instance' class='collapsed'><div class='item' style='padding-left:75px'><span class='object_link'><a href="Ruff/Standard/Defer/Instance.html" title="Ruff::Standard::Defer::Instance (class)">Instance</a></span> < Object<small class='search_info'>Ruff::Standard::Defer</small></div></li></ul></li><li id='object_Ruff::Standard::MeasureTime' class='collapsed'><div class='item' style='padding-left:60px'><a class='toggle'></a> <span class='object_link'><a href="Ruff/Standard/MeasureTime.html" title="Ruff::Standard::MeasureTime (module)">MeasureTime</a></span><small class='search_info'>Ruff::Standard</small></div><ul><li id='object_Ruff::Standard::MeasureTime::Instance' class='collapsed'><div class='item' style='padding-left:75px'><span class='object_link'><a href="Ruff/Standard/MeasureTime/Instance.html" title="Ruff::Standard::MeasureTime::Instance (class)">Instance</a></span> < Object<small class='search_info'>Ruff::Standard::MeasureTime</small></div></li></ul></li><li id='object_Ruff::Standard::State' class='collapsed'><div class='item' style='padding-left:60px'><a class='toggle'></a> <span class='object_link'><a href="Ruff/Standard/State.html" title="Ruff::Standard::State (module)">State</a></span><small class='search_info'>Ruff::Standard</small></div><ul><li id='object_Ruff::Standard::State::Instance' class='collapsed'><div class='item' style='padding-left:75px'><span class='object_link'><a href="Ruff/Standard/State/Instance.html" title="Ruff::Standard::State::Instance (class)">Instance</a></span> < Object<small class='search_info'>Ruff::Standard::State</small></div></li></ul></li></ul></li><li id='object_Ruff::Throws' class='collapsed even'><div class='item' style='padding-left:45px'><a class='toggle'></a> <span class='object_link'><a href="Ruff/Throws.html" title="Ruff::Throws (module)">Throws</a></span><small class='search_info'>Ruff</small></div><ul><li id='object_Ruff::Throws::Eff' class='collapsed'><div class='item' style='padding-left:60px'><span class='object_link'><a href="Ruff/Throws/Eff.html" title="Ruff::Throws::Eff (class)">Eff</a></span> < Object<small class='search_info'>Ruff::Throws</small></div></li><li id='object_Ruff::Throws::Resend' class='collapsed'><div class='item' style='padding-left:60px'><span class='object_link'><a href="Ruff/Throws/Resend.html" title="Ruff::Throws::Resend (class)">Resend</a></span> < Object<small class='search_info'>Ruff::Throws</small></div></li></ul></li></ul></li>
|
47
47
|
|
48
48
|
</ul>
|
49
49
|
</div>
|
data/docs/file.README.html
CHANGED
@@ -6,7 +6,7 @@
|
|
6
6
|
<title>
|
7
7
|
File: README
|
8
8
|
|
9
|
-
— Ruff 1.0
|
9
|
+
— Ruff 1.1.0 Documentation
|
10
10
|
|
11
11
|
</title>
|
12
12
|
|
@@ -146,9 +146,9 @@
|
|
146
146
|
</div></div>
|
147
147
|
|
148
148
|
<div id="footer">
|
149
|
-
Generated on Fri Oct 4
|
149
|
+
Generated on Fri Oct 4 21:12:21 2019 by
|
150
150
|
<a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
|
151
|
-
0.9.20 (ruby-2.6.
|
151
|
+
0.9.20 (ruby-2.6.5).
|
152
152
|
</div>
|
153
153
|
|
154
154
|
</div>
|
data/docs/frames.html
CHANGED
data/docs/index.html
CHANGED
@@ -6,7 +6,7 @@
|
|
6
6
|
<title>
|
7
7
|
File: README
|
8
8
|
|
9
|
-
— Ruff 1.0
|
9
|
+
— Ruff 1.1.0 Documentation
|
10
10
|
|
11
11
|
</title>
|
12
12
|
|
@@ -146,9 +146,9 @@
|
|
146
146
|
</div></div>
|
147
147
|
|
148
148
|
<div id="footer">
|
149
|
-
Generated on Fri Oct 4
|
149
|
+
Generated on Fri Oct 4 21:12:21 2019 by
|
150
150
|
<a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
|
151
|
-
0.9.20 (ruby-2.6.
|
151
|
+
0.9.20 (ruby-2.6.5).
|
152
152
|
</div>
|
153
153
|
|
154
154
|
</div>
|
data/docs/method_list.html
CHANGED
@@ -92,6 +92,22 @@
|
|
92
92
|
</li>
|
93
93
|
|
94
94
|
|
95
|
+
<li class="odd ">
|
96
|
+
<div class="item">
|
97
|
+
<span class='object_link'><a href="Ruff/Standard/MeasureTime/Instance.html#eff-instance_method" title="Ruff::Standard::MeasureTime::Instance#eff (method)">#eff</a></span>
|
98
|
+
<small>Ruff::Standard::MeasureTime::Instance</small>
|
99
|
+
</div>
|
100
|
+
</li>
|
101
|
+
|
102
|
+
|
103
|
+
<li class="even ">
|
104
|
+
<div class="item">
|
105
|
+
<span class='object_link'><a href="Ruff/Standard/MeasureTime.html#eff-instance_method" title="Ruff::Standard::MeasureTime#eff (method)">#eff</a></span>
|
106
|
+
<small>Ruff::Standard::MeasureTime</small>
|
107
|
+
</div>
|
108
|
+
</li>
|
109
|
+
|
110
|
+
|
95
111
|
<li class="odd ">
|
96
112
|
<div class="item">
|
97
113
|
<span class='object_link'><a href="Ruff/Standard/State/Instance.html#eff-instance_method" title="Ruff::Standard::State::Instance#eff (method)">#eff</a></span>
|
@@ -221,6 +237,14 @@
|
|
221
237
|
|
222
238
|
|
223
239
|
<li class="odd ">
|
240
|
+
<div class="item">
|
241
|
+
<span class='object_link'><a href="Ruff/Standard/MeasureTime/Instance.html#initialize-instance_method" title="Ruff::Standard::MeasureTime::Instance#initialize (method)">#initialize</a></span>
|
242
|
+
<small>Ruff::Standard::MeasureTime::Instance</small>
|
243
|
+
</div>
|
244
|
+
</li>
|
245
|
+
|
246
|
+
|
247
|
+
<li class="even ">
|
224
248
|
<div class="item">
|
225
249
|
<span class='object_link'><a href="Ruff/Standard/State/Instance.html#initialize-instance_method" title="Ruff::Standard::State::Instance#initialize (method)">#initialize</a></span>
|
226
250
|
<small>Ruff::Standard::State::Instance</small>
|
@@ -228,7 +252,7 @@
|
|
228
252
|
</li>
|
229
253
|
|
230
254
|
|
231
|
-
<li class="
|
255
|
+
<li class="odd ">
|
232
256
|
<div class="item">
|
233
257
|
<span class='object_link'><a href="Ruff.html#instance-class_method" title="Ruff.instance (method)">instance</a></span>
|
234
258
|
<small>Ruff</small>
|
@@ -236,7 +260,7 @@
|
|
236
260
|
</li>
|
237
261
|
|
238
262
|
|
239
|
-
<li class="
|
263
|
+
<li class="even ">
|
240
264
|
<div class="item">
|
241
265
|
<span class='object_link'><a href="Ruff/Throws/Resend.html#k-instance_method" title="Ruff::Throws::Resend#k (method)">#k</a></span>
|
242
266
|
<small>Ruff::Throws::Resend</small>
|
@@ -244,7 +268,23 @@
|
|
244
268
|
</li>
|
245
269
|
|
246
270
|
|
271
|
+
<li class="odd ">
|
272
|
+
<div class="item">
|
273
|
+
<span class='object_link'><a href="Ruff/Standard/MeasureTime/Instance.html#measure-instance_method" title="Ruff::Standard::MeasureTime::Instance#measure (method)">#measure</a></span>
|
274
|
+
<small>Ruff::Standard::MeasureTime::Instance</small>
|
275
|
+
</div>
|
276
|
+
</li>
|
277
|
+
|
278
|
+
|
247
279
|
<li class="even ">
|
280
|
+
<div class="item">
|
281
|
+
<span class='object_link'><a href="Ruff/Standard/MeasureTime.html#measure-class_method" title="Ruff::Standard::MeasureTime.measure (method)">measure</a></span>
|
282
|
+
<small>Ruff::Standard::MeasureTime</small>
|
283
|
+
</div>
|
284
|
+
</li>
|
285
|
+
|
286
|
+
|
287
|
+
<li class="odd ">
|
248
288
|
<div class="item">
|
249
289
|
<span class='object_link'><a href="Ruff/Standard/State/Instance.html#modify-instance_method" title="Ruff::Standard::State::Instance#modify (method)">#modify</a></span>
|
250
290
|
<small>Ruff::Standard::State::Instance</small>
|
@@ -252,7 +292,7 @@
|
|
252
292
|
</li>
|
253
293
|
|
254
294
|
|
255
|
-
<li class="
|
295
|
+
<li class="even ">
|
256
296
|
<div class="item">
|
257
297
|
<span class='object_link'><a href="Ruff/Standard/State.html#modify-class_method" title="Ruff::Standard::State.modify (method)">modify</a></span>
|
258
298
|
<small>Ruff::Standard::State</small>
|
@@ -260,7 +300,7 @@
|
|
260
300
|
</li>
|
261
301
|
|
262
302
|
|
263
|
-
<li class="
|
303
|
+
<li class="odd ">
|
264
304
|
<div class="item">
|
265
305
|
<span class='object_link'><a href="Ruff/Handler.html#on-instance_method" title="Ruff::Handler#on (method)">#on</a></span>
|
266
306
|
<small>Ruff::Handler</small>
|
@@ -268,7 +308,7 @@
|
|
268
308
|
</li>
|
269
309
|
|
270
310
|
|
271
|
-
<li class="
|
311
|
+
<li class="even ">
|
272
312
|
<div class="item">
|
273
313
|
<span class='object_link'><a href="Ruff/Effect.html#perform-instance_method" title="Ruff::Effect#perform (method)">#perform</a></span>
|
274
314
|
<small>Ruff::Effect</small>
|
@@ -276,7 +316,7 @@
|
|
276
316
|
</li>
|
277
317
|
|
278
318
|
|
279
|
-
<li class="
|
319
|
+
<li class="odd ">
|
280
320
|
<div class="item">
|
281
321
|
<span class='object_link'><a href="Ruff/Standard/State/Instance.html#put-instance_method" title="Ruff::Standard::State::Instance#put (method)">#put</a></span>
|
282
322
|
<small>Ruff::Standard::State::Instance</small>
|
@@ -284,7 +324,7 @@
|
|
284
324
|
</li>
|
285
325
|
|
286
326
|
|
287
|
-
<li class="
|
327
|
+
<li class="even ">
|
288
328
|
<div class="item">
|
289
329
|
<span class='object_link'><a href="Ruff/Standard/State.html#put-class_method" title="Ruff::Standard::State.put (method)">put</a></span>
|
290
330
|
<small>Ruff::Standard::State</small>
|
@@ -292,7 +332,7 @@
|
|
292
332
|
</li>
|
293
333
|
|
294
334
|
|
295
|
-
<li class="
|
335
|
+
<li class="odd ">
|
296
336
|
<div class="item">
|
297
337
|
<span class='object_link'><a href="Ruff/Standard/Defer/Instance.html#register-instance_method" title="Ruff::Standard::Defer::Instance#register (method)">#register</a></span>
|
298
338
|
<small>Ruff::Standard::Defer::Instance</small>
|
@@ -300,7 +340,7 @@
|
|
300
340
|
</li>
|
301
341
|
|
302
342
|
|
303
|
-
<li class="
|
343
|
+
<li class="even ">
|
304
344
|
<div class="item">
|
305
345
|
<span class='object_link'><a href="Ruff/Standard/Defer.html#register-class_method" title="Ruff::Standard::Defer.register (method)">register</a></span>
|
306
346
|
<small>Ruff::Standard::Defer</small>
|
@@ -308,7 +348,7 @@
|
|
308
348
|
</li>
|
309
349
|
|
310
350
|
|
311
|
-
<li class="
|
351
|
+
<li class="odd ">
|
312
352
|
<div class="item">
|
313
353
|
<span class='object_link'><a href="Ruff/Handler.html#run-instance_method" title="Ruff::Handler#run (method)">#run</a></span>
|
314
354
|
<small>Ruff::Handler</small>
|
@@ -316,7 +356,7 @@
|
|
316
356
|
</li>
|
317
357
|
|
318
358
|
|
319
|
-
<li class="
|
359
|
+
<li class="even ">
|
320
360
|
<div class="item">
|
321
361
|
<span class='object_link'><a href="Ruff/Handler.html#to-instance_method" title="Ruff::Handler#to (method)">#to</a></span>
|
322
362
|
<small>Ruff::Handler</small>
|
@@ -324,7 +364,7 @@
|
|
324
364
|
</li>
|
325
365
|
|
326
366
|
|
327
|
-
<li class="
|
367
|
+
<li class="odd ">
|
328
368
|
<div class="item">
|
329
369
|
<span class='object_link'><a href="Ruff/Standard/CurrentTime/Instance.html#with-instance_method" title="Ruff::Standard::CurrentTime::Instance#with (method)">#with</a></span>
|
330
370
|
<small>Ruff::Standard::CurrentTime::Instance</small>
|
@@ -332,7 +372,7 @@
|
|
332
372
|
</li>
|
333
373
|
|
334
374
|
|
335
|
-
<li class="
|
375
|
+
<li class="even ">
|
336
376
|
<div class="item">
|
337
377
|
<span class='object_link'><a href="Ruff/Standard/CurrentTime.html#with-class_method" title="Ruff::Standard::CurrentTime.with (method)">with</a></span>
|
338
378
|
<small>Ruff::Standard::CurrentTime</small>
|
@@ -340,7 +380,7 @@
|
|
340
380
|
</li>
|
341
381
|
|
342
382
|
|
343
|
-
<li class="
|
383
|
+
<li class="odd ">
|
344
384
|
<div class="item">
|
345
385
|
<span class='object_link'><a href="Ruff/Standard/Defer/Instance.html#with-instance_method" title="Ruff::Standard::Defer::Instance#with (method)">#with</a></span>
|
346
386
|
<small>Ruff::Standard::Defer::Instance</small>
|
@@ -348,7 +388,7 @@
|
|
348
388
|
</li>
|
349
389
|
|
350
390
|
|
351
|
-
<li class="
|
391
|
+
<li class="even ">
|
352
392
|
<div class="item">
|
353
393
|
<span class='object_link'><a href="Ruff/Standard/Defer.html#with-class_method" title="Ruff::Standard::Defer.with (method)">with</a></span>
|
354
394
|
<small>Ruff::Standard::Defer</small>
|
@@ -356,7 +396,23 @@
|
|
356
396
|
</li>
|
357
397
|
|
358
398
|
|
399
|
+
<li class="odd ">
|
400
|
+
<div class="item">
|
401
|
+
<span class='object_link'><a href="Ruff/Standard/MeasureTime/Instance.html#with-instance_method" title="Ruff::Standard::MeasureTime::Instance#with (method)">#with</a></span>
|
402
|
+
<small>Ruff::Standard::MeasureTime::Instance</small>
|
403
|
+
</div>
|
404
|
+
</li>
|
405
|
+
|
406
|
+
|
359
407
|
<li class="even ">
|
408
|
+
<div class="item">
|
409
|
+
<span class='object_link'><a href="Ruff/Standard/MeasureTime.html#with-class_method" title="Ruff::Standard::MeasureTime.with (method)">with</a></span>
|
410
|
+
<small>Ruff::Standard::MeasureTime</small>
|
411
|
+
</div>
|
412
|
+
</li>
|
413
|
+
|
414
|
+
|
415
|
+
<li class="odd ">
|
360
416
|
<div class="item">
|
361
417
|
<span class='object_link'><a href="Ruff/Standard/State/Instance.html#with-instance_method" title="Ruff::Standard::State::Instance#with (method)">#with</a></span>
|
362
418
|
<small>Ruff::Standard::State::Instance</small>
|
@@ -364,7 +420,7 @@
|
|
364
420
|
</li>
|
365
421
|
|
366
422
|
|
367
|
-
<li class="
|
423
|
+
<li class="even ">
|
368
424
|
<div class="item">
|
369
425
|
<span class='object_link'><a href="Ruff/Standard/State.html#with-class_method" title="Ruff::Standard::State.with (method)">with</a></span>
|
370
426
|
<small>Ruff::Standard::State</small>
|
@@ -372,7 +428,7 @@
|
|
372
428
|
</li>
|
373
429
|
|
374
430
|
|
375
|
-
<li class="
|
431
|
+
<li class="odd ">
|
376
432
|
<div class="item">
|
377
433
|
<span class='object_link'><a href="Ruff/Standard/State/Instance.html#with_init-instance_method" title="Ruff::Standard::State::Instance#with_init (method)">#with_init</a></span>
|
378
434
|
<small>Ruff::Standard::State::Instance</small>
|
@@ -380,7 +436,7 @@
|
|
380
436
|
</li>
|
381
437
|
|
382
438
|
|
383
|
-
<li class="
|
439
|
+
<li class="even ">
|
384
440
|
<div class="item">
|
385
441
|
<span class='object_link'><a href="Ruff/Standard/State.html#with_init-class_method" title="Ruff::Standard::State.with_init (method)">with_init</a></span>
|
386
442
|
<small>Ruff::Standard::State</small>
|
@@ -6,7 +6,7 @@
|
|
6
6
|
<title>
|
7
7
|
Top Level Namespace
|
8
8
|
|
9
|
-
— Ruff 1.0
|
9
|
+
— Ruff 1.1.0 Documentation
|
10
10
|
|
11
11
|
</title>
|
12
12
|
|
@@ -100,9 +100,9 @@
|
|
100
100
|
</div>
|
101
101
|
|
102
102
|
<div id="footer">
|
103
|
-
Generated on Fri Oct 4
|
103
|
+
Generated on Fri Oct 4 21:12:21 2019 by
|
104
104
|
<a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
|
105
|
-
0.9.20 (ruby-2.6.
|
105
|
+
0.9.20 (ruby-2.6.5).
|
106
106
|
</div>
|
107
107
|
|
108
108
|
</div>
|
data/lib/ruff.rb
CHANGED
data/lib/ruff/standard.rb
CHANGED
@@ -9,6 +9,7 @@ module Ruff::Standard::CurrentTime
|
|
9
9
|
# makes a new instance.
|
10
10
|
def initialize
|
11
11
|
@eff = Ruff.instance
|
12
|
+
@handler = Ruff.handler.on(@eff) { |k| k[Time.now] }
|
12
13
|
end
|
13
14
|
|
14
15
|
# is a smart method to invoke the effect operation.
|
@@ -21,7 +22,7 @@ module Ruff::Standard::CurrentTime
|
|
21
22
|
# is a handler to interpret the effect invokation as requesting the current time.
|
22
23
|
# This handler receives the *request* and returns current time.
|
23
24
|
#
|
24
|
-
# @param [Proc<(), A
|
25
|
+
# @param [Proc<(), A!{CurrentTime.eff, e}>] th
|
25
26
|
# is a thunk returning `A` with the possibility to invoke effects,
|
26
27
|
# including `CurrentTime.eff` .
|
27
28
|
#
|
@@ -29,7 +30,7 @@ module Ruff::Standard::CurrentTime
|
|
29
30
|
# returns `A` , without modification by value handler.
|
30
31
|
# But it still has the possibility to invoke effects(`e`).
|
31
32
|
def with(&th)
|
32
|
-
|
33
|
+
@handler.run(&th)
|
33
34
|
end
|
34
35
|
|
35
36
|
# You can reimplement the handler using this effect instance.
|
data/lib/ruff/standard/defer.rb
CHANGED
@@ -33,14 +33,17 @@ module Ruff::Standard::Defer
|
|
33
33
|
# This is a stack to store deferred procedures.
|
34
34
|
procs = []
|
35
35
|
|
36
|
+
# The handler *closes* `procs` variable so it should be created every time.
|
36
37
|
Ruff.handler
|
37
38
|
.on(@eff) do |k, prc|
|
38
39
|
procs << prc
|
39
40
|
k[]
|
40
41
|
end
|
41
|
-
.to do |
|
42
|
+
.to do |v|
|
42
43
|
# Like Go's defer functions, it crashes the thunk by reversed order.
|
43
44
|
procs.reverse_each(&:[])
|
45
|
+
|
46
|
+
v
|
44
47
|
end
|
45
48
|
.run(&th)
|
46
49
|
end
|
@@ -0,0 +1,77 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
# `MeasureTime` provides effects `MeasureTime.eff` ,
|
4
|
+
# and the implementation to measure and report execution time .
|
5
|
+
#
|
6
|
+
# The module has an instance of `Instance` and provides its methods as module method.
|
7
|
+
# @see Standard::MeasureTime::Instance
|
8
|
+
#
|
9
|
+
# @example
|
10
|
+
# MeasureTime.with {
|
11
|
+
# MeasureTime.measure 'one'
|
12
|
+
# sleep 1
|
13
|
+
# MeasureTime.measure 'two'
|
14
|
+
# sleep 0.1
|
15
|
+
#
|
16
|
+
# return 0
|
17
|
+
# }
|
18
|
+
# #==> [0, {:label=>"two", :time=>0.1}, {:label=>"one", :time=>1.1}]
|
19
|
+
module Ruff::Standard::MeasureTime
|
20
|
+
class Instance
|
21
|
+
# makes a new instance.
|
22
|
+
def initialize
|
23
|
+
@eff = Ruff.instance
|
24
|
+
@handler = Ruff.handler
|
25
|
+
.on(@eff) do |k, label|
|
26
|
+
t1 = Time.now
|
27
|
+
result = k[]
|
28
|
+
t2 = Time.now
|
29
|
+
result + [{ label: label, time: t2 - t1 }]
|
30
|
+
end
|
31
|
+
.to { |x| [x] }
|
32
|
+
end
|
33
|
+
|
34
|
+
# is a smart method to invoke the effect operation.
|
35
|
+
# @param [string] label
|
36
|
+
# is the label of the measurement.
|
37
|
+
# @return [()]
|
38
|
+
def measure(label)
|
39
|
+
@eff.perform(label)
|
40
|
+
end
|
41
|
+
|
42
|
+
# is a handler to interpret the effect invocation as measuring computation time.
|
43
|
+
#
|
44
|
+
# @param [Proc<(), A!{MeasureTime.eff, e}>] th
|
45
|
+
# is a thunk returning `A` with the possibility to invoke effects,
|
46
|
+
# including `MeasureTime.eff` .
|
47
|
+
#
|
48
|
+
# @return [[A, ...{ label: string, time: float }]!{e}]
|
49
|
+
# returns list. the first is the result `A`, and the rest is the measurement results.
|
50
|
+
# It still has the possibility to invoke effects(`e`).
|
51
|
+
def with(&th)
|
52
|
+
@handler.run(&th)
|
53
|
+
end
|
54
|
+
|
55
|
+
# You can reimplement the handler using this effect instance.
|
56
|
+
attr_reader :eff
|
57
|
+
end
|
58
|
+
|
59
|
+
# ---
|
60
|
+
@inst = Instance.new
|
61
|
+
@eff = @inst.eff
|
62
|
+
|
63
|
+
# @see Ruff::Standard::MeasureTime::Instance#measure
|
64
|
+
def measure(label)
|
65
|
+
@inst.measure(label)
|
66
|
+
end
|
67
|
+
|
68
|
+
# @see Ruff::Standard::MeasureTime::Instance#with
|
69
|
+
def with(&th)
|
70
|
+
@inst.with(&th)
|
71
|
+
end
|
72
|
+
|
73
|
+
module_function :measure, :with
|
74
|
+
|
75
|
+
# @see Ruff::Standard::MeasureTime::Instance#eff
|
76
|
+
attr_reader :eff
|
77
|
+
end
|