mangrove 0.7.1 → 0.8.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/README.md +13 -13
- data/docs/Mangrove/ControlFlow/ControlSignal.html +1 -1
- data/docs/Mangrove/ControlFlow.html +2 -130
- data/docs/Mangrove/Option/ControlSignal.html +1 -1
- data/docs/Mangrove/Option/None.html +140 -38
- data/docs/Mangrove/Option/Some.html +106 -17
- data/docs/Mangrove/Option.html +108 -19
- data/docs/Mangrove/Result/ControlSignal.html +1 -1
- data/docs/Mangrove/Result/Err.html +216 -40
- data/docs/Mangrove/Result/Ok.html +197 -34
- data/docs/Mangrove/Result.html +99 -10
- data/docs/Mangrove.html +3 -3
- data/docs/_index.html +1 -8
- data/docs/class_list.html +1 -1
- data/docs/file.README.html +15 -15
- data/docs/index.html +15 -15
- data/docs/method_list.html +138 -106
- data/docs/top-level-namespace.html +1 -1
- data/lib/mangrove/option.rb +15 -2
- data/lib/mangrove/result.rb +23 -0
- data/lib/mangrove/version.rb +1 -1
- data/lib/mangrove.rb +0 -1
- metadata +2 -3
- data/lib/mangrove/control_flow/rewriter.rb +0 -158
@@ -190,6 +190,28 @@
|
|
190
190
|
|
191
191
|
|
192
192
|
|
193
|
+
<span class="summary_desc"><div class='inline'></div></span>
|
194
|
+
|
195
|
+
</li>
|
196
|
+
|
197
|
+
|
198
|
+
<li class="public ">
|
199
|
+
<span class="summary_signature">
|
200
|
+
|
201
|
+
<a href="#expect_with!-instance_method" title="#expect_with! (instance method)">#<strong>expect_with!</strong>(&_block) ⇒ InnerType </a>
|
202
|
+
|
203
|
+
|
204
|
+
|
205
|
+
</span>
|
206
|
+
|
207
|
+
|
208
|
+
|
209
|
+
|
210
|
+
|
211
|
+
|
212
|
+
|
213
|
+
|
214
|
+
|
193
215
|
<span class="summary_desc"><div class='inline'></div></span>
|
194
216
|
|
195
217
|
</li>
|
@@ -623,6 +645,73 @@
|
|
623
645
|
</td>
|
624
646
|
</tr>
|
625
647
|
</table>
|
648
|
+
</div>
|
649
|
+
|
650
|
+
<div class="method_details ">
|
651
|
+
<h3 class="signature " id="expect_with!-instance_method">
|
652
|
+
|
653
|
+
#<strong>expect_with!</strong>(&_block) ⇒ <tt><span class='object_link'><a href="#InnerType-constant" title="Mangrove::Option::Some::InnerType (constant)">InnerType</a></span></tt>
|
654
|
+
|
655
|
+
|
656
|
+
|
657
|
+
|
658
|
+
|
659
|
+
</h3><div class="docstring">
|
660
|
+
<div class="discussion">
|
661
|
+
|
662
|
+
|
663
|
+
</div>
|
664
|
+
</div>
|
665
|
+
<div class="tags">
|
666
|
+
<p class="tag_title">Parameters:</p>
|
667
|
+
<ul class="param">
|
668
|
+
|
669
|
+
<li>
|
670
|
+
|
671
|
+
<span class='name'>_block</span>
|
672
|
+
|
673
|
+
|
674
|
+
<span class='type'>(<tt>T.proc.returns(T.untyped)</tt>)</span>
|
675
|
+
|
676
|
+
|
677
|
+
|
678
|
+
</li>
|
679
|
+
|
680
|
+
</ul>
|
681
|
+
|
682
|
+
<p class="tag_title">Returns:</p>
|
683
|
+
<ul class="return">
|
684
|
+
|
685
|
+
<li>
|
686
|
+
|
687
|
+
|
688
|
+
<span class='type'>(<tt><span class='object_link'><a href="#InnerType-constant" title="Mangrove::Option::Some::InnerType (constant)">InnerType</a></span></tt>)</span>
|
689
|
+
|
690
|
+
|
691
|
+
|
692
|
+
</li>
|
693
|
+
|
694
|
+
</ul>
|
695
|
+
|
696
|
+
</div><table class="source_code">
|
697
|
+
<tr>
|
698
|
+
<td>
|
699
|
+
<pre class="lines">
|
700
|
+
|
701
|
+
|
702
|
+
70
|
703
|
+
71
|
704
|
+
72</pre>
|
705
|
+
</td>
|
706
|
+
<td>
|
707
|
+
<pre class="code"><span class="info file"># File 'lib/mangrove/option.rb', line 70</span>
|
708
|
+
|
709
|
+
<span class='kw'>def</span> <span class='id identifier rubyid_expect_with!'>expect_with!</span><span class='lparen'>(</span><span class='op'>&</span><span class='id identifier rubyid__block'>_block</span><span class='rparen'>)</span>
|
710
|
+
<span class='ivar'>@inner</span>
|
711
|
+
<span class='kw'>end</span></pre>
|
712
|
+
</td>
|
713
|
+
</tr>
|
714
|
+
</table>
|
626
715
|
</div>
|
627
716
|
|
628
717
|
<div class="method_details ">
|
@@ -677,12 +766,12 @@
|
|
677
766
|
<pre class="lines">
|
678
767
|
|
679
768
|
|
680
|
-
|
681
|
-
|
682
|
-
|
769
|
+
86
|
770
|
+
87
|
771
|
+
88</pre>
|
683
772
|
</td>
|
684
773
|
<td>
|
685
|
-
<pre class="code"><span class="info file"># File 'lib/mangrove/option.rb', line
|
774
|
+
<pre class="code"><span class="info file"># File 'lib/mangrove/option.rb', line 86</span>
|
686
775
|
|
687
776
|
<span class='kw'>def</span> <span class='id identifier rubyid_map_none'>map_none</span><span class='lparen'>(</span><span class='op'>&</span><span class='id identifier rubyid__block'>_block</span><span class='rparen'>)</span>
|
688
777
|
<span class='kw'>self</span>
|
@@ -744,12 +833,12 @@
|
|
744
833
|
<pre class="lines">
|
745
834
|
|
746
835
|
|
747
|
-
|
748
|
-
|
749
|
-
|
836
|
+
81
|
837
|
+
82
|
838
|
+
83</pre>
|
750
839
|
</td>
|
751
840
|
<td>
|
752
|
-
<pre class="code"><span class="info file"># File 'lib/mangrove/option.rb', line
|
841
|
+
<pre class="code"><span class="info file"># File 'lib/mangrove/option.rb', line 81</span>
|
753
842
|
|
754
843
|
<span class='kw'>def</span> <span class='id identifier rubyid_map_some'>map_some</span><span class='lparen'>(</span><span class='op'>&</span><span class='id identifier rubyid_block'>block</span><span class='rparen'>)</span>
|
755
844
|
<span class='id identifier rubyid_block'>block</span><span class='period'>.</span><span class='id identifier rubyid_call'>call</span><span class='lparen'>(</span><span class='ivar'>@inner</span><span class='rparen'>)</span>
|
@@ -796,10 +885,10 @@
|
|
796
885
|
<pre class="lines">
|
797
886
|
|
798
887
|
|
799
|
-
|
888
|
+
78</pre>
|
800
889
|
</td>
|
801
890
|
<td>
|
802
|
-
<pre class="code"><span class="info file"># File 'lib/mangrove/option.rb', line
|
891
|
+
<pre class="code"><span class="info file"># File 'lib/mangrove/option.rb', line 78</span>
|
803
892
|
|
804
893
|
<span class='kw'>def</span> <span class='id identifier rubyid_none?'>none?</span> <span class='op'>=</span> <span class='kw'>false</span></pre>
|
805
894
|
</td>
|
@@ -844,10 +933,10 @@
|
|
844
933
|
<pre class="lines">
|
845
934
|
|
846
935
|
|
847
|
-
|
936
|
+
75</pre>
|
848
937
|
</td>
|
849
938
|
<td>
|
850
|
-
<pre class="code"><span class="info file"># File 'lib/mangrove/option.rb', line
|
939
|
+
<pre class="code"><span class="info file"># File 'lib/mangrove/option.rb', line 75</span>
|
851
940
|
|
852
941
|
<span class='kw'>def</span> <span class='id identifier rubyid_some?'>some?</span> <span class='op'>=</span> <span class='kw'>true</span></pre>
|
853
942
|
</td>
|
@@ -907,12 +996,12 @@
|
|
907
996
|
<pre class="lines">
|
908
997
|
|
909
998
|
|
910
|
-
|
911
|
-
|
912
|
-
|
999
|
+
91
|
1000
|
+
92
|
1001
|
+
93</pre>
|
913
1002
|
</td>
|
914
1003
|
<td>
|
915
|
-
<pre class="code"><span class="info file"># File 'lib/mangrove/option.rb', line
|
1004
|
+
<pre class="code"><span class="info file"># File 'lib/mangrove/option.rb', line 91</span>
|
916
1005
|
|
917
1006
|
<span class='kw'>def</span> <span class='id identifier rubyid_transpose'>transpose</span><span class='lparen'>(</span><span class='id identifier rubyid__err'>_err</span><span class='rparen'>)</span>
|
918
1007
|
<span class='const'><span class='object_link'><a href="../Result.html" title="Mangrove::Result (module)">Result</a></span></span><span class='op'>::</span><span class='const'><span class='object_link'><a href="../Result/Ok.html" title="Mangrove::Result::Ok (class)">Ok</a></span></span><span class='period'>.</span><span class='id identifier rubyid_new'><span class='object_link'><a href="../Result/Ok.html#initialize-instance_method" title="Mangrove::Result::Ok#initialize (method)">new</a></span></span><span class='lparen'>(</span><span class='ivar'>@inner</span><span class='rparen'>)</span>
|
@@ -1098,7 +1187,7 @@
|
|
1098
1187
|
</div>
|
1099
1188
|
|
1100
1189
|
<div id="footer">
|
1101
|
-
Generated on
|
1190
|
+
Generated on Wed Oct 18 11:45:16 2023 by
|
1102
1191
|
<a href="https://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
|
1103
1192
|
0.9.34 (ruby-3.2.2).
|
1104
1193
|
</div>
|
data/docs/Mangrove/Option.html
CHANGED
@@ -192,6 +192,28 @@
|
|
192
192
|
|
193
193
|
|
194
194
|
|
195
|
+
<span class="abstract note title">abstract</span>
|
196
|
+
|
197
|
+
|
198
|
+
|
199
|
+
|
200
|
+
<span class="summary_desc"><div class='inline'></div></span>
|
201
|
+
|
202
|
+
</li>
|
203
|
+
|
204
|
+
|
205
|
+
<li class="public ">
|
206
|
+
<span class="summary_signature">
|
207
|
+
|
208
|
+
<a href="#expect_with!-instance_method" title="#expect_with! (instance method)">#<strong>expect_with!</strong>(&block) ⇒ InnerType </a>
|
209
|
+
|
210
|
+
|
211
|
+
|
212
|
+
</span>
|
213
|
+
|
214
|
+
|
215
|
+
|
216
|
+
|
195
217
|
<span class="abstract note title">abstract</span>
|
196
218
|
|
197
219
|
|
@@ -425,10 +447,10 @@
|
|
425
447
|
<pre class="lines">
|
426
448
|
|
427
449
|
|
428
|
-
|
450
|
+
167</pre>
|
429
451
|
</td>
|
430
452
|
<td>
|
431
|
-
<pre class="code"><span class="info file"># File 'lib/mangrove/option.rb', line
|
453
|
+
<pre class="code"><span class="info file"># File 'lib/mangrove/option.rb', line 167</span>
|
432
454
|
|
433
455
|
<span class='kw'>def</span> <span class='op'>==</span><span class='lparen'>(</span><span class='id identifier rubyid_other'>other</span><span class='rparen'>)</span><span class='semicolon'>;</span> <span class='kw'>end</span></pre>
|
434
456
|
</td>
|
@@ -492,15 +514,82 @@
|
|
492
514
|
<pre class="lines">
|
493
515
|
|
494
516
|
|
495
|
-
|
517
|
+
176</pre>
|
496
518
|
</td>
|
497
519
|
<td>
|
498
|
-
<pre class="code"><span class="info file"># File 'lib/mangrove/option.rb', line
|
520
|
+
<pre class="code"><span class="info file"># File 'lib/mangrove/option.rb', line 176</span>
|
499
521
|
|
500
522
|
<span class='kw'>def</span> <span class='id identifier rubyid_expect!'>expect!</span><span class='lparen'>(</span><span class='id identifier rubyid_message'>message</span><span class='rparen'>)</span><span class='semicolon'>;</span> <span class='kw'>end</span></pre>
|
501
523
|
</td>
|
502
524
|
</tr>
|
503
525
|
</table>
|
526
|
+
</div>
|
527
|
+
|
528
|
+
<div class="method_details ">
|
529
|
+
<h3 class="signature " id="expect_with!-instance_method">
|
530
|
+
|
531
|
+
#<strong>expect_with!</strong>(&block) ⇒ <tt><span class='object_link'><a href="#InnerType-constant" title="Mangrove::Option::InnerType (constant)">InnerType</a></span></tt>
|
532
|
+
|
533
|
+
|
534
|
+
|
535
|
+
|
536
|
+
|
537
|
+
</h3><div class="docstring">
|
538
|
+
<div class="discussion">
|
539
|
+
<div class="note abstract">
|
540
|
+
<strong>This method is abstract.</strong>
|
541
|
+
<div class='inline'></div>
|
542
|
+
</div>
|
543
|
+
|
544
|
+
|
545
|
+
</div>
|
546
|
+
</div>
|
547
|
+
<div class="tags">
|
548
|
+
<p class="tag_title">Parameters:</p>
|
549
|
+
<ul class="param">
|
550
|
+
|
551
|
+
<li>
|
552
|
+
|
553
|
+
<span class='name'>block</span>
|
554
|
+
|
555
|
+
|
556
|
+
<span class='type'>(<tt>T.proc.returns(T.untyped)</tt>)</span>
|
557
|
+
|
558
|
+
|
559
|
+
|
560
|
+
</li>
|
561
|
+
|
562
|
+
</ul>
|
563
|
+
|
564
|
+
<p class="tag_title">Returns:</p>
|
565
|
+
<ul class="return">
|
566
|
+
|
567
|
+
<li>
|
568
|
+
|
569
|
+
|
570
|
+
<span class='type'>(<tt><span class='object_link'><a href="#InnerType-constant" title="Mangrove::Option::InnerType (constant)">InnerType</a></span></tt>)</span>
|
571
|
+
|
572
|
+
|
573
|
+
|
574
|
+
</li>
|
575
|
+
|
576
|
+
</ul>
|
577
|
+
|
578
|
+
</div><table class="source_code">
|
579
|
+
<tr>
|
580
|
+
<td>
|
581
|
+
<pre class="lines">
|
582
|
+
|
583
|
+
|
584
|
+
179</pre>
|
585
|
+
</td>
|
586
|
+
<td>
|
587
|
+
<pre class="code"><span class="info file"># File 'lib/mangrove/option.rb', line 179</span>
|
588
|
+
|
589
|
+
<span class='kw'>def</span> <span class='id identifier rubyid_expect_with!'>expect_with!</span><span class='lparen'>(</span><span class='op'>&</span><span class='id identifier rubyid_block'>block</span><span class='rparen'>)</span><span class='semicolon'>;</span> <span class='kw'>end</span></pre>
|
590
|
+
</td>
|
591
|
+
</tr>
|
592
|
+
</table>
|
504
593
|
</div>
|
505
594
|
|
506
595
|
<div class="method_details ">
|
@@ -559,10 +648,10 @@
|
|
559
648
|
<pre class="lines">
|
560
649
|
|
561
650
|
|
562
|
-
|
651
|
+
191</pre>
|
563
652
|
</td>
|
564
653
|
<td>
|
565
|
-
<pre class="code"><span class="info file"># File 'lib/mangrove/option.rb', line
|
654
|
+
<pre class="code"><span class="info file"># File 'lib/mangrove/option.rb', line 191</span>
|
566
655
|
|
567
656
|
<span class='kw'>def</span> <span class='id identifier rubyid_map_none'>map_none</span><span class='lparen'>(</span><span class='op'>&</span><span class='id identifier rubyid_block'>block</span><span class='rparen'>)</span><span class='semicolon'>;</span> <span class='kw'>end</span></pre>
|
568
657
|
</td>
|
@@ -626,10 +715,10 @@
|
|
626
715
|
<pre class="lines">
|
627
716
|
|
628
717
|
|
629
|
-
|
718
|
+
188</pre>
|
630
719
|
</td>
|
631
720
|
<td>
|
632
|
-
<pre class="code"><span class="info file"># File 'lib/mangrove/option.rb', line
|
721
|
+
<pre class="code"><span class="info file"># File 'lib/mangrove/option.rb', line 188</span>
|
633
722
|
|
634
723
|
<span class='kw'>def</span> <span class='id identifier rubyid_map_some'>map_some</span><span class='lparen'>(</span><span class='op'>&</span><span class='id identifier rubyid_block'>block</span><span class='rparen'>)</span><span class='semicolon'>;</span> <span class='kw'>end</span></pre>
|
635
724
|
</td>
|
@@ -678,10 +767,10 @@
|
|
678
767
|
<pre class="lines">
|
679
768
|
|
680
769
|
|
681
|
-
|
770
|
+
185</pre>
|
682
771
|
</td>
|
683
772
|
<td>
|
684
|
-
<pre class="code"><span class="info file"># File 'lib/mangrove/option.rb', line
|
773
|
+
<pre class="code"><span class="info file"># File 'lib/mangrove/option.rb', line 185</span>
|
685
774
|
|
686
775
|
<span class='kw'>def</span> <span class='id identifier rubyid_none?'>none?</span><span class='semicolon'>;</span> <span class='kw'>end</span></pre>
|
687
776
|
</td>
|
@@ -730,10 +819,10 @@
|
|
730
819
|
<pre class="lines">
|
731
820
|
|
732
821
|
|
733
|
-
|
822
|
+
182</pre>
|
734
823
|
</td>
|
735
824
|
<td>
|
736
|
-
<pre class="code"><span class="info file"># File 'lib/mangrove/option.rb', line
|
825
|
+
<pre class="code"><span class="info file"># File 'lib/mangrove/option.rb', line 182</span>
|
737
826
|
|
738
827
|
<span class='kw'>def</span> <span class='id identifier rubyid_some?'>some?</span><span class='semicolon'>;</span> <span class='kw'>end</span></pre>
|
739
828
|
</td>
|
@@ -797,10 +886,10 @@
|
|
797
886
|
<pre class="lines">
|
798
887
|
|
799
888
|
|
800
|
-
|
889
|
+
194</pre>
|
801
890
|
</td>
|
802
891
|
<td>
|
803
|
-
<pre class="code"><span class="info file"># File 'lib/mangrove/option.rb', line
|
892
|
+
<pre class="code"><span class="info file"># File 'lib/mangrove/option.rb', line 194</span>
|
804
893
|
|
805
894
|
<span class='kw'>def</span> <span class='id identifier rubyid_transpose'>transpose</span><span class='lparen'>(</span><span class='id identifier rubyid_err'>err</span><span class='rparen'>)</span><span class='semicolon'>;</span> <span class='kw'>end</span></pre>
|
806
895
|
</td>
|
@@ -849,10 +938,10 @@
|
|
849
938
|
<pre class="lines">
|
850
939
|
|
851
940
|
|
852
|
-
|
941
|
+
173</pre>
|
853
942
|
</td>
|
854
943
|
<td>
|
855
|
-
<pre class="code"><span class="info file"># File 'lib/mangrove/option.rb', line
|
944
|
+
<pre class="code"><span class="info file"># File 'lib/mangrove/option.rb', line 173</span>
|
856
945
|
|
857
946
|
<span class='kw'>def</span> <span class='id identifier rubyid_unwrap!'>unwrap!</span><span class='semicolon'>;</span> <span class='kw'>end</span></pre>
|
858
947
|
</td>
|
@@ -916,10 +1005,10 @@
|
|
916
1005
|
<pre class="lines">
|
917
1006
|
|
918
1007
|
|
919
|
-
|
1008
|
+
170</pre>
|
920
1009
|
</td>
|
921
1010
|
<td>
|
922
|
-
<pre class="code"><span class="info file"># File 'lib/mangrove/option.rb', line
|
1011
|
+
<pre class="code"><span class="info file"># File 'lib/mangrove/option.rb', line 170</span>
|
923
1012
|
|
924
1013
|
<span class='kw'>def</span> <span class='id identifier rubyid_unwrap_or'>unwrap_or</span><span class='lparen'>(</span><span class='id identifier rubyid_default'>default</span><span class='rparen'>)</span><span class='semicolon'>;</span> <span class='kw'>end</span></pre>
|
925
1014
|
</td>
|
@@ -932,7 +1021,7 @@
|
|
932
1021
|
</div>
|
933
1022
|
|
934
1023
|
<div id="footer">
|
935
|
-
Generated on
|
1024
|
+
Generated on Wed Oct 18 11:45:16 2023 by
|
936
1025
|
<a href="https://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
|
937
1026
|
0.9.34 (ruby-3.2.2).
|
938
1027
|
</div>
|
@@ -424,7 +424,7 @@
|
|
424
424
|
</div>
|
425
425
|
|
426
426
|
<div id="footer">
|
427
|
-
Generated on
|
427
|
+
Generated on Wed Oct 18 11:45:16 2023 by
|
428
428
|
<a href="https://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
|
429
429
|
0.9.34 (ruby-3.2.2).
|
430
430
|
</div>
|