ruff 1.1.0 → 1.2.0
Sign up to get free protection for your applications and to get access to all the features.
- 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
|