ovto 0.5.0 → 0.6.2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (69) hide show
  1. checksums.yaml +4 -4
  2. data/.gitmodules +3 -0
  3. data/CHANGELOG.md +14 -2
  4. data/Gemfile +2 -3
  5. data/Gemfile.lock +23 -27
  6. data/book/SUMMARY.md +2 -0
  7. data/book/api/actions.md +1 -1
  8. data/book/api/middleware.md +99 -0
  9. data/book/api/pure_component.md +3 -0
  10. data/docs/api/Array.html +190 -0
  11. data/docs/api/Hash.html +196 -0
  12. data/docs/api/Ovto/Actions.html +128 -40
  13. data/docs/api/Ovto/App.html +254 -40
  14. data/docs/api/Ovto/Component/MoreThanOneNode.html +6 -6
  15. data/docs/api/Ovto/Component.html +96 -29
  16. data/docs/api/Ovto/Middleware/Actions.html +428 -0
  17. data/docs/api/Ovto/Middleware/Base.html +605 -0
  18. data/docs/api/Ovto/Middleware/Component.html +354 -0
  19. data/docs/api/Ovto/Middleware.html +286 -0
  20. data/docs/api/Ovto/PureComponent/StateIsNotAvailable.html +6 -6
  21. data/docs/api/Ovto/PureComponent.html +11 -11
  22. data/docs/api/Ovto/Runtime.html +7 -7
  23. data/docs/api/Ovto/State/MissingValue.html +6 -6
  24. data/docs/api/Ovto/State/{UnknownKey.html → UnknownStateKey.html} +11 -11
  25. data/docs/api/Ovto/State.html +59 -43
  26. data/docs/api/Ovto/WiredActionSet.html +636 -0
  27. data/docs/api/Ovto/WiredActions.html +78 -35
  28. data/docs/api/Ovto.html +223 -30
  29. data/docs/api/_index.html +77 -11
  30. data/docs/api/actions.html +29 -3
  31. data/docs/api/app.html +28 -2
  32. data/docs/api/class_list.html +3 -3
  33. data/docs/api/component.html +30 -4
  34. data/docs/api/css/style.css +3 -2
  35. data/docs/api/fetch.html +30 -4
  36. data/docs/api/file.README.html +76 -78
  37. data/docs/api/file_list.html +2 -2
  38. data/docs/api/frames.html +2 -2
  39. data/docs/api/index.html +76 -78
  40. data/docs/api/js/app.js +14 -3
  41. data/docs/api/method_list.html +303 -31
  42. data/docs/api/middleware.html +498 -0
  43. data/docs/api/pure_component.html +428 -0
  44. data/docs/api/state.html +28 -2
  45. data/docs/api/top-level-namespace.html +11 -9
  46. data/docs/guides/debugging.html +28 -2
  47. data/docs/guides/development.html +28 -2
  48. data/docs/guides/install.html +28 -2
  49. data/docs/guides/tutorial.html +28 -2
  50. data/docs/index.html +28 -2
  51. data/docs/search_index.json +1 -1
  52. data/examples/sinatra/Gemfile +2 -0
  53. data/examples/sinatra/Gemfile.lock +32 -30
  54. data/examples/sinatra/app.rb +1 -4
  55. data/examples/sinatra/config.ru +6 -6
  56. data/examples/static/Gemfile.lock +9 -9
  57. data/lib/ovto/actions.rb +11 -0
  58. data/lib/ovto/app.rb +37 -13
  59. data/lib/ovto/component.rb +130 -67
  60. data/lib/ovto/middleware.rb +121 -0
  61. data/lib/ovto/pure_component.rb +1 -1
  62. data/lib/ovto/state.rb +13 -5
  63. data/lib/ovto/version.rb +1 -1
  64. data/lib/ovto/wired_action_set.rb +40 -0
  65. data/lib/ovto/wired_actions.rb +49 -11
  66. data/lib/ovto.rb +26 -0
  67. data/ovto.gemspec +1 -1
  68. metadata +21 -11
  69. data/docs/api/pure_component.md +0 -27
@@ -6,15 +6,15 @@
6
6
  <title>
7
7
  Class: Ovto::App
8
8
 
9
- &mdash; Documentation by YARD 0.9.19
9
+ &mdash; Documentation by YARD 0.9.26
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 = "Ovto::App";
19
19
  relpath = '../';
20
20
  </script>
@@ -106,6 +106,35 @@
106
106
  <h2>Instance Attribute Summary <small><a href="#" class="summary_toggle">collapse</a></small></h2>
107
107
  <ul class="summary">
108
108
 
109
+ <li class="public ">
110
+ <span class="summary_signature">
111
+
112
+ <a href="#main_component-instance_method" title="#main_component (instance method)">#<strong>main_component</strong> &#x21d2; Object </a>
113
+
114
+
115
+
116
+ </span>
117
+
118
+
119
+
120
+
121
+ <span class="note title readonly">readonly</span>
122
+
123
+
124
+
125
+
126
+
127
+
128
+
129
+
130
+
131
+ <span class="summary_desc"><div class='inline'>
132
+ <p>An instance of YourApp::MainComponent (mainly for testing).</p>
133
+ </div></span>
134
+
135
+ </li>
136
+
137
+
109
138
  <li class="public ">
110
139
  <span class="summary_signature">
111
140
 
@@ -151,6 +180,30 @@
151
180
  <li class="public ">
152
181
  <span class="summary_signature">
153
182
 
183
+ <a href="#middlewares-class_method" title="middlewares (class method)">.<strong>middlewares</strong> &#x21d2; Object </a>
184
+
185
+
186
+
187
+ </span>
188
+
189
+
190
+
191
+
192
+
193
+
194
+
195
+
196
+
197
+ <span class="summary_desc"><div class='inline'>
198
+ <p>List of installed middleware classes.</p>
199
+ </div></span>
200
+
201
+ </li>
202
+
203
+
204
+ <li class="public ">
205
+ <span class="summary_signature">
206
+
154
207
  <a href="#run-class_method" title="run (class method)">.<strong>run</strong>(*args) &#x21d2; Object </a>
155
208
 
156
209
 
@@ -169,6 +222,30 @@
169
222
  <p>Create an App and start it.</p>
170
223
  </div></span>
171
224
 
225
+ </li>
226
+
227
+
228
+ <li class="public ">
229
+ <span class="summary_signature">
230
+
231
+ <a href="#use-class_method" title="use (class method)">.<strong>use</strong>(middleware_class) &#x21d2; Object </a>
232
+
233
+
234
+
235
+ </span>
236
+
237
+
238
+
239
+
240
+
241
+
242
+
243
+
244
+
245
+ <span class="summary_desc"><div class='inline'>
246
+ <p>Install a middleware.</p>
247
+ </div></span>
248
+
172
249
  </li>
173
250
 
174
251
 
@@ -319,7 +396,7 @@
319
396
  </h3><div class="docstring">
320
397
  <div class="discussion">
321
398
 
322
- <p>Returns a new instance of App</p>
399
+ <p>Returns a new instance of App.</p>
323
400
 
324
401
 
325
402
  </div>
@@ -333,17 +410,29 @@
333
410
  <pre class="lines">
334
411
 
335
412
 
336
- 8
337
- 9
338
- 10
339
- 11</pre>
413
+ 18
414
+ 19
415
+ 20
416
+ 21
417
+ 22
418
+ 23
419
+ 24
420
+ 25
421
+ 26
422
+ 27</pre>
340
423
  </td>
341
424
  <td>
342
- <pre class="code"><span class="info file"># File 'lib/ovto/app.rb', line 8</span>
425
+ <pre class="code"><span class="info file"># File 'lib/ovto/app.rb', line 18</span>
343
426
 
344
427
  <span class='kw'>def</span> <span class='id identifier rubyid_initialize'>initialize</span>
345
- <span class='ivar'>@state</span> <span class='op'>=</span> <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_class'>class</span><span class='period'>.</span><span class='id identifier rubyid_const_get'>const_get</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>State</span><span class='tstring_end'>&#39;</span></span><span class='rparen'>)</span><span class='period'>.</span><span class='id identifier rubyid_new'>new</span>
346
- <span class='ivar'>@wired_actions</span> <span class='op'>=</span> <span class='kw'>nil</span>
428
+ <span class='id identifier rubyid_app_state_class'>app_state_class</span> <span class='op'>=</span> <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_class'>class</span><span class='period'>.</span><span class='id identifier rubyid_const_get'>const_get</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>State</span><span class='tstring_end'>&#39;</span></span><span class='rparen'>)</span>
429
+ <span class='comment'># Inject middleware states
430
+ </span> <span class='id identifier rubyid_app_state_class'>app_state_class</span><span class='period'>.</span><span class='id identifier rubyid_item'>item</span> <span class='symbol'>:_middlewares</span><span class='comma'>,</span> <span class='label'>default_proc:</span> <span class='tlambda'>-&gt;</span><span class='tlambeg'>{</span>
431
+ <span class='const'><span class='object_link'><a href="../Ovto.html" title="Ovto (module)">Ovto</a></span></span><span class='op'>::</span><span class='const'><span class='object_link'><a href="Middleware.html" title="Ovto::Middleware (module)">Middleware</a></span></span><span class='period'>.</span><span class='id identifier rubyid_create_middleware_states_class'><span class='object_link'><a href="Middleware.html#create_middleware_states_class-class_method" title="Ovto::Middleware.create_middleware_states_class (method)">create_middleware_states_class</a></span></span><span class='lparen'>(</span><span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_class'>class</span><span class='period'>.</span><span class='id identifier rubyid_middlewares'>middlewares</span><span class='rparen'>)</span><span class='period'>.</span><span class='id identifier rubyid_new'>new</span>
432
+ <span class='rbrace'>}</span>
433
+ <span class='ivar'>@state</span> <span class='op'>=</span> <span class='id identifier rubyid_app_state_class'>app_state_class</span><span class='period'>.</span><span class='id identifier rubyid_new'>new</span>
434
+ <span class='ivar'>@wired_action_set</span> <span class='op'>=</span> <span class='kw'>nil</span>
435
+ <span class='ivar'>@main_component</span> <span class='op'>=</span> <span class='kw'>nil</span>
347
436
  <span class='kw'>end</span></pre>
348
437
  </td>
349
438
  </tr>
@@ -358,7 +447,50 @@
358
447
 
359
448
  <span id=""></span>
360
449
  <div class="method_details first">
361
- <h3 class="signature first" id="state-instance_method">
450
+ <h3 class="signature first" id="main_component-instance_method">
451
+
452
+ #<strong>main_component</strong> &#x21d2; <tt>Object</tt> <span class="extras">(readonly)</span>
453
+
454
+
455
+
456
+
457
+
458
+ </h3><div class="docstring">
459
+ <div class="discussion">
460
+
461
+ <p>An instance of YourApp::MainComponent (mainly for testing)</p>
462
+
463
+
464
+ </div>
465
+ </div>
466
+ <div class="tags">
467
+
468
+
469
+ </div><table class="source_code">
470
+ <tr>
471
+ <td>
472
+ <pre class="lines">
473
+
474
+
475
+ 31
476
+ 32
477
+ 33</pre>
478
+ </td>
479
+ <td>
480
+ <pre class="code"><span class="info file"># File 'lib/ovto/app.rb', line 31</span>
481
+
482
+ <span class='kw'>def</span> <span class='id identifier rubyid_main_component'>main_component</span>
483
+ <span class='ivar'>@main_component</span>
484
+ <span class='kw'>end</span></pre>
485
+ </td>
486
+ </tr>
487
+ </table>
488
+ </div>
489
+
490
+
491
+ <span id=""></span>
492
+ <div class="method_details ">
493
+ <h3 class="signature " id="state-instance_method">
362
494
 
363
495
  #<strong>state</strong> &#x21d2; <tt>Object</tt> <span class="extras">(readonly)</span>
364
496
 
@@ -369,7 +501,7 @@
369
501
  </h3><div class="docstring">
370
502
  <div class="discussion">
371
503
 
372
- <p>Returns the value of attribute state</p>
504
+ <p>Returns the value of attribute state.</p>
373
505
 
374
506
 
375
507
  </div>
@@ -383,12 +515,12 @@
383
515
  <pre class="lines">
384
516
 
385
517
 
386
- 12
387
- 13
388
- 14</pre>
518
+ 28
519
+ 29
520
+ 30</pre>
389
521
  </td>
390
522
  <td>
391
- <pre class="code"><span class="info file"># File 'lib/ovto/app.rb', line 12</span>
523
+ <pre class="code"><span class="info file"># File 'lib/ovto/app.rb', line 28</span>
392
524
 
393
525
  <span class='kw'>def</span> <span class='id identifier rubyid_state'>state</span>
394
526
  <span class='ivar'>@state</span>
@@ -406,9 +538,9 @@
406
538
 
407
539
 
408
540
  <div class="method_details first">
409
- <h3 class="signature first" id="run-class_method">
541
+ <h3 class="signature first" id="middlewares-class_method">
410
542
 
411
- .<strong>run</strong>(*args) &#x21d2; <tt>Object</tt>
543
+ .<strong>middlewares</strong> &#x21d2; <tt>Object</tt>
412
544
 
413
545
 
414
546
 
@@ -417,7 +549,7 @@
417
549
  </h3><div class="docstring">
418
550
  <div class="discussion">
419
551
 
420
- <p>Create an App and start it</p>
552
+ <p>List of installed middleware classes</p>
421
553
 
422
554
 
423
555
  </div>
@@ -438,12 +570,94 @@
438
570
  <td>
439
571
  <pre class="code"><span class="info file"># File 'lib/ovto/app.rb', line 4</span>
440
572
 
573
+ <span class='kw'>def</span> <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_middlewares'>middlewares</span>
574
+ <span class='ivar'>@middlewares</span> <span class='op'>||=</span> <span class='lbracket'>[</span><span class='rbracket'>]</span>
575
+ <span class='kw'>end</span></pre>
576
+ </td>
577
+ </tr>
578
+ </table>
579
+ </div>
580
+
581
+ <div class="method_details ">
582
+ <h3 class="signature " id="run-class_method">
583
+
584
+ .<strong>run</strong>(*args) &#x21d2; <tt>Object</tt>
585
+
586
+
587
+
588
+
589
+
590
+ </h3><div class="docstring">
591
+ <div class="discussion">
592
+
593
+ <p>Create an App and start it</p>
594
+
595
+
596
+ </div>
597
+ </div>
598
+ <div class="tags">
599
+
600
+
601
+ </div><table class="source_code">
602
+ <tr>
603
+ <td>
604
+ <pre class="lines">
605
+
606
+
607
+ 9
608
+ 10
609
+ 11</pre>
610
+ </td>
611
+ <td>
612
+ <pre class="code"><span class="info file"># File 'lib/ovto/app.rb', line 9</span>
613
+
441
614
  <span class='kw'>def</span> <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_run'>run</span><span class='lparen'>(</span><span class='op'>*</span><span class='id identifier rubyid_args'>args</span><span class='rparen'>)</span>
442
615
  <span class='id identifier rubyid_new'>new</span><span class='period'>.</span><span class='id identifier rubyid_run'>run</span><span class='lparen'>(</span><span class='op'>*</span><span class='id identifier rubyid_args'>args</span><span class='rparen'>)</span>
443
616
  <span class='kw'>end</span></pre>
444
617
  </td>
445
618
  </tr>
446
619
  </table>
620
+ </div>
621
+
622
+ <div class="method_details ">
623
+ <h3 class="signature " id="use-class_method">
624
+
625
+ .<strong>use</strong>(middleware_class) &#x21d2; <tt>Object</tt>
626
+
627
+
628
+
629
+
630
+
631
+ </h3><div class="docstring">
632
+ <div class="discussion">
633
+
634
+ <p>Install a middleware</p>
635
+
636
+
637
+ </div>
638
+ </div>
639
+ <div class="tags">
640
+
641
+
642
+ </div><table class="source_code">
643
+ <tr>
644
+ <td>
645
+ <pre class="lines">
646
+
647
+
648
+ 14
649
+ 15
650
+ 16</pre>
651
+ </td>
652
+ <td>
653
+ <pre class="code"><span class="info file"># File 'lib/ovto/app.rb', line 14</span>
654
+
655
+ <span class='kw'>def</span> <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_use'>use</span><span class='lparen'>(</span><span class='id identifier rubyid_middleware_class'>middleware_class</span><span class='rparen'>)</span>
656
+ <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_middlewares'>middlewares</span><span class='period'>.</span><span class='id identifier rubyid_push'>push</span><span class='lparen'>(</span><span class='id identifier rubyid_middleware_class'>middleware_class</span><span class='rparen'>)</span>
657
+ <span class='kw'>end</span></pre>
658
+ </td>
659
+ </tr>
660
+ </table>
447
661
  </div>
448
662
 
449
663
  </div>
@@ -478,12 +692,12 @@
478
692
  <pre class="lines">
479
693
 
480
694
 
481
- 19
482
- 20
483
- 21</pre>
695
+ 38
696
+ 39
697
+ 40</pre>
484
698
  </td>
485
699
  <td>
486
- <pre class="code"><span class="info file"># File 'lib/ovto/app.rb', line 19</span>
700
+ <pre class="code"><span class="info file"># File 'lib/ovto/app.rb', line 38</span>
487
701
 
488
702
  <span class='kw'>def</span> <span class='id identifier rubyid__set_state'>_set_state</span><span class='lparen'>(</span><span class='id identifier rubyid_new_state'>new_state</span><span class='rparen'>)</span>
489
703
  <span class='ivar'>@state</span> <span class='op'>=</span> <span class='id identifier rubyid_new_state'>new_state</span>
@@ -508,15 +722,15 @@
508
722
  <pre class="lines">
509
723
 
510
724
 
511
- 14
512
- 15
513
- 16</pre>
725
+ 33
726
+ 34
727
+ 35</pre>
514
728
  </td>
515
729
  <td>
516
- <pre class="code"><span class="info file"># File 'lib/ovto/app.rb', line 14</span>
730
+ <pre class="code"><span class="info file"># File 'lib/ovto/app.rb', line 33</span>
517
731
 
518
732
  <span class='kw'>def</span> <span class='id identifier rubyid_actions'>actions</span>
519
- <span class='ivar'>@wired_actions</span>
733
+ <span class='ivar'>@wired_action_set</span><span class='period'>.</span><span class='id identifier rubyid_app_wired_actions'>app_wired_actions</span>
520
734
  <span class='kw'>end</span></pre>
521
735
  </td>
522
736
  </tr>
@@ -549,12 +763,12 @@
549
763
  <pre class="lines">
550
764
 
551
765
 
552
- 24
553
- 25
554
- 26</pre>
766
+ 43
767
+ 44
768
+ 45</pre>
555
769
  </td>
556
770
  <td>
557
- <pre class="code"><span class="info file"># File 'lib/ovto/app.rb', line 24</span>
771
+ <pre class="code"><span class="info file"># File 'lib/ovto/app.rb', line 43</span>
558
772
 
559
773
  <span class='kw'>def</span> <span class='id identifier rubyid_run'>run</span><span class='lparen'>(</span><span class='op'>*</span><span class='id identifier rubyid_args'>args</span><span class='rparen'>)</span>
560
774
  <span class='const'><span class='object_link'><a href="../Ovto.html" title="Ovto (module)">Ovto</a></span></span><span class='period'>.</span><span class='id identifier rubyid_log_error'><span class='object_link'><a href="../Ovto.html#log_error-class_method" title="Ovto.log_error (method)">log_error</a></span></span><span class='lbrace'>{</span> <span class='id identifier rubyid__run'>_run</span><span class='lparen'>(</span><span class='op'>*</span><span class='id identifier rubyid_args'>args</span><span class='rparen'>)</span> <span class='rbrace'>}</span>
@@ -590,12 +804,12 @@
590
804
  <pre class="lines">
591
805
 
592
806
 
593
- 29
594
- 30
595
- 31</pre>
807
+ 48
808
+ 49
809
+ 50</pre>
596
810
  </td>
597
811
  <td>
598
- <pre class="code"><span class="info file"># File 'lib/ovto/app.rb', line 29</span>
812
+ <pre class="code"><span class="info file"># File 'lib/ovto/app.rb', line 48</span>
599
813
 
600
814
  <span class='kw'>def</span> <span class='id identifier rubyid_setup'>setup</span>
601
815
  <span class='comment'># override this if needed
@@ -610,9 +824,9 @@
610
824
  </div>
611
825
 
612
826
  <div id="footer">
613
- Generated on Thu Aug 8 01:14:40 2019 by
827
+ Generated on Fri Oct 22 08:18:18 2021 by
614
828
  <a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
615
- 0.9.19 (ruby-2.5.5).
829
+ 0.9.26 (ruby-3.0.2).
616
830
  </div>
617
831
 
618
832
  </div>
@@ -6,15 +6,15 @@
6
6
  <title>
7
7
  Exception: Ovto::Component::MoreThanOneNode
8
8
 
9
- &mdash; Documentation by YARD 0.9.19
9
+ &mdash; Documentation by YARD 0.9.26
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 = "Ovto::Component::MoreThanOneNode";
19
19
  relpath = '../../';
20
20
  </script>
@@ -125,9 +125,9 @@
125
125
  </div>
126
126
 
127
127
  <div id="footer">
128
- Generated on Thu Aug 8 01:14:40 2019 by
128
+ Generated on Fri Oct 22 08:18:18 2021 by
129
129
  <a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
130
- 0.9.19 (ruby-2.5.5).
130
+ 0.9.26 (ruby-3.0.2).
131
131
  </div>
132
132
 
133
133
  </div>