qo 0.3.0 → 0.4.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/README.md +40 -84
- data/docs/Qo.html +4 -9
- data/docs/Qo/Exceptions.html +3 -3
- data/docs/Qo/Exceptions/MultipleElseClauses.html +257 -0
- data/docs/Qo/Exceptions/MultipleMatchersProvided.html +2 -2
- data/docs/Qo/Exceptions/NoMatchersProvided.html +2 -2
- data/docs/Qo/Exceptions/NotAllGuardMatchersProvided.html +2 -2
- data/docs/Qo/Helpers.html +2 -2
- data/docs/Qo/Matchers.html +4 -4
- data/docs/Qo/Matchers/ArrayMatcher.html +2 -2
- data/docs/Qo/Matchers/BaseMatcher.html +2 -2
- data/docs/Qo/Matchers/GuardBlockMatcher.html +2 -2
- data/docs/Qo/Matchers/HashMatcher.html +2 -2
- data/docs/Qo/Matchers/PatternMatch.html +2 -2
- data/docs/Qo/Matchers/PatternMatchBlock.html +832 -0
- data/docs/Qo/PublicApi.html +77 -19
- data/docs/_index.html +16 -2
- data/docs/class_list.html +1 -1
- data/docs/file.README.html +92 -78
- data/docs/img/qo_logo.png +0 -0
- data/docs/img/whoa_lemur.png +0 -0
- data/docs/index.html +92 -78
- data/docs/method_list.html +77 -29
- data/docs/top-level-namespace.html +2 -2
- data/img/qo_logo.png +0 -0
- data/lib/qo.rb +3 -2
- data/lib/qo/matchers/array_matcher.rb +0 -1
- data/lib/qo/matchers/base_matcher.rb +0 -12
- data/lib/qo/matchers/hash_matcher.rb +0 -2
- data/lib/qo/version.rb +1 -1
- data/performance_report.txt +37 -37
- data/qo.gemspec +2 -0
- metadata +19 -2
@@ -247,9 +247,9 @@
|
|
247
247
|
</div>
|
248
248
|
|
249
249
|
<div id="footer">
|
250
|
-
Generated on Sun
|
250
|
+
Generated on Sun Aug 5 20:52:10 2018 by
|
251
251
|
<a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
|
252
|
-
0.9.12 (ruby-2.
|
252
|
+
0.9.12 (ruby-2.5.1).
|
253
253
|
</div>
|
254
254
|
|
255
255
|
</div>
|
@@ -247,9 +247,9 @@
|
|
247
247
|
</div>
|
248
248
|
|
249
249
|
<div id="footer">
|
250
|
-
Generated on Sun
|
250
|
+
Generated on Sun Aug 5 20:52:10 2018 by
|
251
251
|
<a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
|
252
|
-
0.9.12 (ruby-2.
|
252
|
+
0.9.12 (ruby-2.5.1).
|
253
253
|
</div>
|
254
254
|
|
255
255
|
</div>
|
@@ -250,9 +250,9 @@ GuardBlockMatchers.</p>
|
|
250
250
|
</div>
|
251
251
|
|
252
252
|
<div id="footer">
|
253
|
-
Generated on Sun
|
253
|
+
Generated on Sun Aug 5 20:52:10 2018 by
|
254
254
|
<a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
|
255
|
-
0.9.12 (ruby-2.
|
255
|
+
0.9.12 (ruby-2.5.1).
|
256
256
|
</div>
|
257
257
|
|
258
258
|
</div>
|
data/docs/Qo/Helpers.html
CHANGED
@@ -372,9 +372,9 @@ if unsuccessful in first dig.</p>
|
|
372
372
|
</div>
|
373
373
|
|
374
374
|
<div id="footer">
|
375
|
-
Generated on Sun
|
375
|
+
Generated on Sun Aug 5 20:52:09 2018 by
|
376
376
|
<a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
|
377
|
-
0.9.12 (ruby-2.
|
377
|
+
0.9.12 (ruby-2.5.1).
|
378
378
|
</div>
|
379
379
|
|
380
380
|
</div>
|
data/docs/Qo/Matchers.html
CHANGED
@@ -79,7 +79,7 @@
|
|
79
79
|
<dl>
|
80
80
|
<dt>Defined in:</dt>
|
81
81
|
<dd>lib/qo/matchers/base_matcher.rb<span class="defines">,<br />
|
82
|
-
lib/qo/matchers/hash_matcher.rb,<br /> lib/qo/matchers/array_matcher.rb,<br /> lib/qo/matchers/pattern_match.rb,<br /> lib/qo/matchers/guard_block_matcher.rb</span>
|
82
|
+
lib/qo/matchers/hash_matcher.rb,<br /> lib/qo/matchers/array_matcher.rb,<br /> lib/qo/matchers/pattern_match.rb,<br /> lib/qo/matchers/guard_block_matcher.rb,<br /> lib/qo/matchers/pattern_match_block.rb</span>
|
83
83
|
</dd>
|
84
84
|
</dl>
|
85
85
|
|
@@ -143,7 +143,7 @@ utilization of <code>super</code> as noted in <code>GuardBlockMatcher</code>.</p
|
|
143
143
|
|
144
144
|
|
145
145
|
|
146
|
-
<strong class="classes">Classes:</strong> <span class='object_link'><a href="Matchers/ArrayMatcher.html" title="Qo::Matchers::ArrayMatcher (class)">ArrayMatcher</a></span>, <span class='object_link'><a href="Matchers/BaseMatcher.html" title="Qo::Matchers::BaseMatcher (class)">BaseMatcher</a></span>, <span class='object_link'><a href="Matchers/GuardBlockMatcher.html" title="Qo::Matchers::GuardBlockMatcher (class)">GuardBlockMatcher</a></span>, <span class='object_link'><a href="Matchers/HashMatcher.html" title="Qo::Matchers::HashMatcher (class)">HashMatcher</a></span>, <span class='object_link'><a href="Matchers/PatternMatch.html" title="Qo::Matchers::PatternMatch (class)">PatternMatch</a></span>
|
146
|
+
<strong class="classes">Classes:</strong> <span class='object_link'><a href="Matchers/ArrayMatcher.html" title="Qo::Matchers::ArrayMatcher (class)">ArrayMatcher</a></span>, <span class='object_link'><a href="Matchers/BaseMatcher.html" title="Qo::Matchers::BaseMatcher (class)">BaseMatcher</a></span>, <span class='object_link'><a href="Matchers/GuardBlockMatcher.html" title="Qo::Matchers::GuardBlockMatcher (class)">GuardBlockMatcher</a></span>, <span class='object_link'><a href="Matchers/HashMatcher.html" title="Qo::Matchers::HashMatcher (class)">HashMatcher</a></span>, <span class='object_link'><a href="Matchers/PatternMatch.html" title="Qo::Matchers::PatternMatch (class)">PatternMatch</a></span>, <span class='object_link'><a href="Matchers/PatternMatchBlock.html" title="Qo::Matchers::PatternMatchBlock (class)">PatternMatchBlock</a></span>
|
147
147
|
|
148
148
|
|
149
149
|
</p>
|
@@ -159,9 +159,9 @@ utilization of <code>super</code> as noted in <code>GuardBlockMatcher</code>.</p
|
|
159
159
|
</div>
|
160
160
|
|
161
161
|
<div id="footer">
|
162
|
-
Generated on Sun
|
162
|
+
Generated on Sun Aug 5 20:52:10 2018 by
|
163
163
|
<a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
|
164
|
-
0.9.12 (ruby-2.
|
164
|
+
0.9.12 (ruby-2.5.1).
|
165
165
|
</div>
|
166
166
|
|
167
167
|
</div>
|
@@ -449,9 +449,9 @@ such as:</p>
|
|
449
449
|
</div>
|
450
450
|
|
451
451
|
<div id="footer">
|
452
|
-
Generated on Sun
|
452
|
+
Generated on Sun Aug 5 20:52:10 2018 by
|
453
453
|
<a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
|
454
|
-
0.9.12 (ruby-2.
|
454
|
+
0.9.12 (ruby-2.5.1).
|
455
455
|
</div>
|
456
456
|
|
457
457
|
</div>
|
@@ -483,9 +483,9 @@ using one of call, ===, or []</p>
|
|
483
483
|
</div>
|
484
484
|
|
485
485
|
<div id="footer">
|
486
|
-
Generated on Sun
|
486
|
+
Generated on Sun Aug 5 20:52:10 2018 by
|
487
487
|
<a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
|
488
|
-
0.9.12 (ruby-2.
|
488
|
+
0.9.12 (ruby-2.5.1).
|
489
489
|
</div>
|
490
490
|
|
491
491
|
</div>
|
@@ -461,9 +461,9 @@ matcher would have passed</p>
|
|
461
461
|
</div>
|
462
462
|
|
463
463
|
<div id="footer">
|
464
|
-
Generated on Sun
|
464
|
+
Generated on Sun Aug 5 20:52:10 2018 by
|
465
465
|
<a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
|
466
|
-
0.9.12 (ruby-2.
|
466
|
+
0.9.12 (ruby-2.5.1).
|
467
467
|
</div>
|
468
468
|
|
469
469
|
</div>
|
@@ -435,9 +435,9 @@ such as:</p>
|
|
435
435
|
</div>
|
436
436
|
|
437
437
|
<div id="footer">
|
438
|
-
Generated on Sun
|
438
|
+
Generated on Sun Aug 5 20:52:10 2018 by
|
439
439
|
<a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
|
440
|
-
0.9.12 (ruby-2.
|
440
|
+
0.9.12 (ruby-2.5.1).
|
441
441
|
</div>
|
442
442
|
|
443
443
|
</div>
|
@@ -541,9 +541,9 @@ but for now the associated performance penalty may be too steep to consider.</p>
|
|
541
541
|
</div>
|
542
542
|
|
543
543
|
<div id="footer">
|
544
|
-
Generated on Sun
|
544
|
+
Generated on Sun Aug 5 20:52:10 2018 by
|
545
545
|
<a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
|
546
|
-
0.9.12 (ruby-2.
|
546
|
+
0.9.12 (ruby-2.5.1).
|
547
547
|
</div>
|
548
548
|
|
549
549
|
</div>
|
@@ -0,0 +1,832 @@
|
|
1
|
+
<!DOCTYPE html>
|
2
|
+
<html>
|
3
|
+
<head>
|
4
|
+
<meta charset="utf-8">
|
5
|
+
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
6
|
+
<title>
|
7
|
+
Class: Qo::Matchers::PatternMatchBlock
|
8
|
+
|
9
|
+
— Documentation by YARD 0.9.12
|
10
|
+
|
11
|
+
</title>
|
12
|
+
|
13
|
+
<link rel="stylesheet" href="../../css/style.css" type="text/css" charset="utf-8" />
|
14
|
+
|
15
|
+
<link rel="stylesheet" href="../../css/common.css" type="text/css" charset="utf-8" />
|
16
|
+
|
17
|
+
<script type="text/javascript" charset="utf-8">
|
18
|
+
pathId = "Qo::Matchers::PatternMatchBlock";
|
19
|
+
relpath = '../../';
|
20
|
+
</script>
|
21
|
+
|
22
|
+
|
23
|
+
<script type="text/javascript" charset="utf-8" src="../../js/jquery.js"></script>
|
24
|
+
|
25
|
+
<script type="text/javascript" charset="utf-8" src="../../js/app.js"></script>
|
26
|
+
|
27
|
+
|
28
|
+
</head>
|
29
|
+
<body>
|
30
|
+
<div class="nav_wrap">
|
31
|
+
<iframe id="nav" src="../../class_list.html?1"></iframe>
|
32
|
+
<div id="resizer"></div>
|
33
|
+
</div>
|
34
|
+
|
35
|
+
<div id="main" tabindex="-1">
|
36
|
+
<div id="header">
|
37
|
+
<div id="menu">
|
38
|
+
|
39
|
+
<a href="../../_index.html">Index (P)</a> »
|
40
|
+
<span class='title'><span class='object_link'><a href="../../Qo.html" title="Qo (module)">Qo</a></span></span> » <span class='title'><span class='object_link'><a href="../Matchers.html" title="Qo::Matchers (module)">Matchers</a></span></span>
|
41
|
+
»
|
42
|
+
<span class="title">PatternMatchBlock</span>
|
43
|
+
|
44
|
+
</div>
|
45
|
+
|
46
|
+
<div id="search">
|
47
|
+
|
48
|
+
<a class="full_list_link" id="class_list_link"
|
49
|
+
href="../../class_list.html">
|
50
|
+
|
51
|
+
<svg width="24" height="24">
|
52
|
+
<rect x="0" y="4" width="24" height="4" rx="1" ry="1"></rect>
|
53
|
+
<rect x="0" y="12" width="24" height="4" rx="1" ry="1"></rect>
|
54
|
+
<rect x="0" y="20" width="24" height="4" rx="1" ry="1"></rect>
|
55
|
+
</svg>
|
56
|
+
</a>
|
57
|
+
|
58
|
+
</div>
|
59
|
+
<div class="clear"></div>
|
60
|
+
</div>
|
61
|
+
|
62
|
+
<div id="content"><h1>Class: Qo::Matchers::PatternMatchBlock
|
63
|
+
|
64
|
+
|
65
|
+
|
66
|
+
</h1>
|
67
|
+
<div class="box_info">
|
68
|
+
|
69
|
+
<dl>
|
70
|
+
<dt>Inherits:</dt>
|
71
|
+
<dd>
|
72
|
+
<span class="inheritName">Object</span>
|
73
|
+
|
74
|
+
<ul class="fullTree">
|
75
|
+
<li>Object</li>
|
76
|
+
|
77
|
+
<li class="next">Qo::Matchers::PatternMatchBlock</li>
|
78
|
+
|
79
|
+
</ul>
|
80
|
+
<a href="#" class="inheritanceTree">show all</a>
|
81
|
+
|
82
|
+
</dd>
|
83
|
+
</dl>
|
84
|
+
|
85
|
+
|
86
|
+
|
87
|
+
|
88
|
+
|
89
|
+
|
90
|
+
|
91
|
+
|
92
|
+
|
93
|
+
|
94
|
+
|
95
|
+
<dl>
|
96
|
+
<dt>Defined in:</dt>
|
97
|
+
<dd>lib/qo/matchers/pattern_match_block.rb</dd>
|
98
|
+
</dl>
|
99
|
+
|
100
|
+
</div>
|
101
|
+
|
102
|
+
<h2>Overview</h2><div class="docstring">
|
103
|
+
<div class="discussion">
|
104
|
+
<p>Creates a PatternMatch in the style of a block.</p>
|
105
|
+
|
106
|
+
<p>This varies from the regular PatternMatch in that all matchers are
|
107
|
+
provided in a more succinct block format:</p>
|
108
|
+
|
109
|
+
<pre class="code ruby"><code class="ruby"><span class='const'><span class='object_link'><a href="../../Qo.html" title="Qo (module)">Qo</a></span></span><span class='period'>.</span><span class='id identifier rubyid_match'><span class='object_link'><a href="../PublicApi.html#match-instance_method" title="Qo::PublicApi#match (method)">match</a></span></span><span class='lparen'>(</span><span class='id identifier rubyid_target'>target</span><span class='rparen'>)</span> <span class='lbrace'>{</span> <span class='op'>|</span><span class='id identifier rubyid_m'>m</span><span class='op'>|</span>
|
110
|
+
<span class='id identifier rubyid_m'>m</span><span class='period'>.</span><span class='id identifier rubyid_when'>when</span><span class='lparen'>(</span><span class='tstring'><span class='regexp_beg'>/</span><span class='tstring_content'>^F</span><span class='regexp_end'>/</span></span><span class='comma'>,</span> <span class='int'>42</span><span class='rparen'>)</span> <span class='lbrace'>{</span> <span class='op'>|</span><span class='lparen'>(</span><span class='id identifier rubyid_name'>name</span><span class='comma'>,</span> <span class='id identifier rubyid_age'>age</span><span class='rparen'>)</span><span class='op'>|</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_name'>name</span><span class='embexpr_end'>}</span><span class='tstring_content'> is </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_age'>age</span><span class='embexpr_end'>}</span><span class='tstring_end'>"</span></span> <span class='rbrace'>}</span>
|
111
|
+
<span class='id identifier rubyid_m'>m</span><span class='period'>.</span><span class='id identifier rubyid_else'>else</span> <span class='lbrace'>{</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>We need a default, right?</span><span class='tstring_end'>"</span></span> <span class='rbrace'>}</span>
|
112
|
+
<span class='rbrace'>}</span>
|
113
|
+
</code></pre>
|
114
|
+
|
115
|
+
<p>The Public API obscures the fact that the matcher is only called when it
|
116
|
+
is explicitly given an argument to match against. If it is not, it will
|
117
|
+
just return a class waiting for a target, as such:</p>
|
118
|
+
|
119
|
+
<pre class="code ruby"><code class="ruby"><span class='kw'>def</span> <span class='id identifier rubyid_get_url'>get_url</span><span class='lparen'>(</span><span class='id identifier rubyid_url'>url</span><span class='rparen'>)</span>
|
120
|
+
<span class='const'>Net</span><span class='op'>::</span><span class='const'>HTTP</span><span class='period'>.</span><span class='id identifier rubyid_get_response'>get_response</span><span class='lparen'>(</span><span class='const'>URI</span><span class='lparen'>(</span><span class='id identifier rubyid_url'>url</span><span class='rparen'>)</span><span class='rparen'>)</span><span class='period'>.</span><span class='id identifier rubyid_yield_self'>yield_self</span><span class='lparen'>(</span><span class='op'>&</span><span class='const'><span class='object_link'><a href="../../Qo.html" title="Qo (module)">Qo</a></span></span><span class='period'>.</span><span class='id identifier rubyid_match'><span class='object_link'><a href="../PublicApi.html#match-instance_method" title="Qo::PublicApi#match (method)">match</a></span></span> <span class='lbrace'>{</span> <span class='op'>|</span><span class='id identifier rubyid_m'>m</span><span class='op'>|</span>
|
121
|
+
<span class='id identifier rubyid_m'>m</span><span class='period'>.</span><span class='id identifier rubyid_when'>when</span><span class='lparen'>(</span><span class='const'>Net</span><span class='op'>::</span><span class='const'>HTTPSuccess</span><span class='rparen'>)</span> <span class='lbrace'>{</span> <span class='op'>|</span><span class='id identifier rubyid_response'>response</span><span class='op'>|</span> <span class='id identifier rubyid_response'>response</span><span class='period'>.</span><span class='id identifier rubyid_body'>body</span><span class='period'>.</span><span class='id identifier rubyid_size'>size</span> <span class='rbrace'>}</span>
|
122
|
+
<span class='id identifier rubyid_m'>m</span><span class='period'>.</span><span class='id identifier rubyid_else'>else</span> <span class='lbrace'>{</span> <span class='op'>|</span><span class='id identifier rubyid_response'>response</span><span class='op'>|</span> <span class='id identifier rubyid_raise'>raise</span> <span class='id identifier rubyid_response'>response</span><span class='period'>.</span><span class='id identifier rubyid_message'>message</span> <span class='rbrace'>}</span>
|
123
|
+
<span class='rbrace'>}</span><span class='rparen'>)</span>
|
124
|
+
<span class='kw'>end</span>
|
125
|
+
|
126
|
+
<span class='id identifier rubyid_get_url'>get_url</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>https://github.com/baweaver/qo</span><span class='tstring_end'>'</span></span><span class='rparen'>)</span>
|
127
|
+
<span class='comment'># => 142387
|
128
|
+
</span><span class='id identifier rubyid_get_url'>get_url</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>https://github.com/baweaver/qo/does_not_exist</span><span class='tstring_end'>'</span></span><span class='rparen'>)</span>
|
129
|
+
<span class='comment'># => RuntimeError: Not Found
|
130
|
+
</span></code></pre>
|
131
|
+
|
132
|
+
<p>This is intended for flexibility between singular calls and calls as a
|
133
|
+
paramater to higher order functions like <code>map</code> and <code>yield_self</code>.</p>
|
134
|
+
|
135
|
+
<p>This variant was inspired by ideas from Scala, Haskell, and various Ruby
|
136
|
+
libraries dealing with Async and self-yielding blocks. Especially notable
|
137
|
+
were websocket handlers and dry-ruby implementations.</p>
|
138
|
+
|
139
|
+
|
140
|
+
</div>
|
141
|
+
</div>
|
142
|
+
<div class="tags">
|
143
|
+
|
144
|
+
<p class="tag_title">Author:</p>
|
145
|
+
<ul class="author">
|
146
|
+
|
147
|
+
<li>
|
148
|
+
|
149
|
+
|
150
|
+
|
151
|
+
|
152
|
+
|
153
|
+
<div class='inline'><p>baweaver</p>
|
154
|
+
</div>
|
155
|
+
|
156
|
+
</li>
|
157
|
+
|
158
|
+
</ul>
|
159
|
+
<p class="tag_title">Since:</p>
|
160
|
+
<ul class="since">
|
161
|
+
|
162
|
+
<li>
|
163
|
+
|
164
|
+
|
165
|
+
|
166
|
+
|
167
|
+
|
168
|
+
<div class='inline'><p>0.3.0</p>
|
169
|
+
</div>
|
170
|
+
|
171
|
+
</li>
|
172
|
+
|
173
|
+
</ul>
|
174
|
+
|
175
|
+
</div>
|
176
|
+
|
177
|
+
|
178
|
+
|
179
|
+
|
180
|
+
|
181
|
+
|
182
|
+
|
183
|
+
<h2>
|
184
|
+
Instance Method Summary
|
185
|
+
<small><a href="#" class="summary_toggle">collapse</a></small>
|
186
|
+
</h2>
|
187
|
+
|
188
|
+
<ul class="summary">
|
189
|
+
|
190
|
+
<li class="public ">
|
191
|
+
<span class="summary_signature">
|
192
|
+
|
193
|
+
<a href="#call-instance_method" title="#call (instance method)">#<strong>call</strong>(target) ⇒ Any | nil </a>
|
194
|
+
|
195
|
+
|
196
|
+
|
197
|
+
</span>
|
198
|
+
|
199
|
+
|
200
|
+
|
201
|
+
|
202
|
+
|
203
|
+
|
204
|
+
|
205
|
+
|
206
|
+
|
207
|
+
<span class="summary_desc"><div class='inline'><p>Immediately invokes a PatternMatch.</p>
|
208
|
+
</div></span>
|
209
|
+
|
210
|
+
</li>
|
211
|
+
|
212
|
+
|
213
|
+
<li class="public ">
|
214
|
+
<span class="summary_signature">
|
215
|
+
|
216
|
+
<a href="#else-instance_method" title="#else (instance method)">#<strong>else</strong>(&fn) ⇒ Proc </a>
|
217
|
+
|
218
|
+
|
219
|
+
|
220
|
+
</span>
|
221
|
+
|
222
|
+
|
223
|
+
|
224
|
+
|
225
|
+
|
226
|
+
|
227
|
+
|
228
|
+
|
229
|
+
|
230
|
+
<span class="summary_desc"><div class='inline'><p>Else is the last statement that will be evaluated if all other parts fail.</p>
|
231
|
+
</div></span>
|
232
|
+
|
233
|
+
</li>
|
234
|
+
|
235
|
+
|
236
|
+
<li class="public ">
|
237
|
+
<span class="summary_signature">
|
238
|
+
|
239
|
+
<a href="#initialize-instance_method" title="#initialize (instance method)">#<strong>initialize</strong> {|_self| ... } ⇒ PatternMatchBlock </a>
|
240
|
+
|
241
|
+
|
242
|
+
|
243
|
+
</span>
|
244
|
+
|
245
|
+
|
246
|
+
<span class="note title constructor">constructor</span>
|
247
|
+
|
248
|
+
|
249
|
+
|
250
|
+
|
251
|
+
|
252
|
+
|
253
|
+
|
254
|
+
|
255
|
+
<span class="summary_desc"><div class='inline'><p>A new instance of PatternMatchBlock.</p>
|
256
|
+
</div></span>
|
257
|
+
|
258
|
+
</li>
|
259
|
+
|
260
|
+
|
261
|
+
<li class="public ">
|
262
|
+
<span class="summary_signature">
|
263
|
+
|
264
|
+
<a href="#to_proc-instance_method" title="#to_proc (instance method)">#<strong>to_proc</strong> ⇒ Proc </a>
|
265
|
+
|
266
|
+
|
267
|
+
|
268
|
+
</span>
|
269
|
+
|
270
|
+
|
271
|
+
|
272
|
+
|
273
|
+
|
274
|
+
|
275
|
+
|
276
|
+
|
277
|
+
|
278
|
+
<span class="summary_desc"><div class='inline'><p>Proc version of a PatternMatchBlock.</p>
|
279
|
+
</div></span>
|
280
|
+
|
281
|
+
</li>
|
282
|
+
|
283
|
+
|
284
|
+
<li class="public ">
|
285
|
+
<span class="summary_signature">
|
286
|
+
|
287
|
+
<a href="#when-instance_method" title="#when (instance method)">#<strong>when</strong>(*array_matchers, **keyword_matchers, &fn) ⇒ Array[GuardBlockMatcher] </a>
|
288
|
+
|
289
|
+
|
290
|
+
|
291
|
+
</span>
|
292
|
+
|
293
|
+
|
294
|
+
|
295
|
+
|
296
|
+
|
297
|
+
|
298
|
+
|
299
|
+
|
300
|
+
|
301
|
+
<span class="summary_desc"><div class='inline'><p>Creates a match case.</p>
|
302
|
+
</div></span>
|
303
|
+
|
304
|
+
</li>
|
305
|
+
|
306
|
+
|
307
|
+
</ul>
|
308
|
+
|
309
|
+
|
310
|
+
<div id="constructor_details" class="method_details_list">
|
311
|
+
<h2>Constructor Details</h2>
|
312
|
+
|
313
|
+
<div class="method_details first">
|
314
|
+
<h3 class="signature first" id="initialize-instance_method">
|
315
|
+
|
316
|
+
#<strong>initialize</strong> {|_self| ... } ⇒ <tt><span class='object_link'><a href="" title="Qo::Matchers::PatternMatchBlock (class)">PatternMatchBlock</a></span></tt>
|
317
|
+
|
318
|
+
|
319
|
+
|
320
|
+
|
321
|
+
|
322
|
+
</h3><div class="docstring">
|
323
|
+
<div class="discussion">
|
324
|
+
<p>Returns a new instance of PatternMatchBlock</p>
|
325
|
+
|
326
|
+
|
327
|
+
</div>
|
328
|
+
</div>
|
329
|
+
<div class="tags">
|
330
|
+
|
331
|
+
<p class="tag_title">Yields:</p>
|
332
|
+
<ul class="yield">
|
333
|
+
|
334
|
+
<li>
|
335
|
+
|
336
|
+
|
337
|
+
<span class='type'>(<tt>_self</tt>)</span>
|
338
|
+
|
339
|
+
|
340
|
+
|
341
|
+
</li>
|
342
|
+
|
343
|
+
</ul>
|
344
|
+
<p class="tag_title">Yield Parameters:</p>
|
345
|
+
<ul class="yieldparam">
|
346
|
+
|
347
|
+
<li>
|
348
|
+
|
349
|
+
<span class='name'>_self</span>
|
350
|
+
|
351
|
+
|
352
|
+
<span class='type'>(<tt><span class='object_link'><a href="" title="Qo::Matchers::PatternMatchBlock (class)">Qo::Matchers::PatternMatchBlock</a></span></tt>)</span>
|
353
|
+
|
354
|
+
|
355
|
+
|
356
|
+
—
|
357
|
+
<div class='inline'><p>the object that the method was called on</p>
|
358
|
+
</div>
|
359
|
+
|
360
|
+
</li>
|
361
|
+
|
362
|
+
</ul>
|
363
|
+
<p class="tag_title">Since:</p>
|
364
|
+
<ul class="since">
|
365
|
+
|
366
|
+
<li>
|
367
|
+
|
368
|
+
|
369
|
+
|
370
|
+
|
371
|
+
|
372
|
+
<div class='inline'><p>0.3.0</p>
|
373
|
+
</div>
|
374
|
+
|
375
|
+
</li>
|
376
|
+
|
377
|
+
</ul>
|
378
|
+
|
379
|
+
</div><table class="source_code">
|
380
|
+
<tr>
|
381
|
+
<td>
|
382
|
+
<pre class="lines">
|
383
|
+
|
384
|
+
|
385
|
+
46
|
386
|
+
47
|
387
|
+
48
|
388
|
+
49
|
389
|
+
50</pre>
|
390
|
+
</td>
|
391
|
+
<td>
|
392
|
+
<pre class="code"><span class="info file"># File 'lib/qo/matchers/pattern_match_block.rb', line 46</span>
|
393
|
+
|
394
|
+
<span class='kw'>def</span> <span class='id identifier rubyid_initialize'>initialize</span>
|
395
|
+
<span class='ivar'>@matchers</span> <span class='op'>=</span> <span class='lbracket'>[</span><span class='rbracket'>]</span>
|
396
|
+
|
397
|
+
<span class='kw'>yield</span><span class='lparen'>(</span><span class='kw'>self</span><span class='rparen'>)</span>
|
398
|
+
<span class='kw'>end</span></pre>
|
399
|
+
</td>
|
400
|
+
</tr>
|
401
|
+
</table>
|
402
|
+
</div>
|
403
|
+
|
404
|
+
</div>
|
405
|
+
|
406
|
+
|
407
|
+
<div id="instance_method_details" class="method_details_list">
|
408
|
+
<h2>Instance Method Details</h2>
|
409
|
+
|
410
|
+
|
411
|
+
<div class="method_details first">
|
412
|
+
<h3 class="signature first" id="call-instance_method">
|
413
|
+
|
414
|
+
#<strong>call</strong>(target) ⇒ <tt>Any | nil</tt>
|
415
|
+
|
416
|
+
|
417
|
+
|
418
|
+
|
419
|
+
|
420
|
+
</h3><div class="docstring">
|
421
|
+
<div class="discussion">
|
422
|
+
<p>Immediately invokes a PatternMatch</p>
|
423
|
+
|
424
|
+
|
425
|
+
</div>
|
426
|
+
</div>
|
427
|
+
<div class="tags">
|
428
|
+
<p class="tag_title">Parameters:</p>
|
429
|
+
<ul class="param">
|
430
|
+
|
431
|
+
<li>
|
432
|
+
|
433
|
+
<span class='name'>target</span>
|
434
|
+
|
435
|
+
|
436
|
+
<span class='type'>(<tt>Any</tt>)</span>
|
437
|
+
|
438
|
+
|
439
|
+
|
440
|
+
—
|
441
|
+
<div class='inline'><p>Target to run against and pipe to the associated block if it
|
442
|
+
"matches" any of the GuardBlocks</p>
|
443
|
+
</div>
|
444
|
+
|
445
|
+
</li>
|
446
|
+
|
447
|
+
</ul>
|
448
|
+
|
449
|
+
<p class="tag_title">Returns:</p>
|
450
|
+
<ul class="return">
|
451
|
+
|
452
|
+
<li>
|
453
|
+
|
454
|
+
|
455
|
+
<span class='type'>(<tt>Any | nil</tt>)</span>
|
456
|
+
|
457
|
+
|
458
|
+
|
459
|
+
—
|
460
|
+
<div class='inline'><p>Result of the piped block, or nil on a miss</p>
|
461
|
+
</div>
|
462
|
+
|
463
|
+
</li>
|
464
|
+
|
465
|
+
</ul>
|
466
|
+
<p class="tag_title">Since:</p>
|
467
|
+
<ul class="since">
|
468
|
+
|
469
|
+
<li>
|
470
|
+
|
471
|
+
|
472
|
+
|
473
|
+
|
474
|
+
|
475
|
+
<div class='inline'><p>0.3.0</p>
|
476
|
+
</div>
|
477
|
+
|
478
|
+
</li>
|
479
|
+
|
480
|
+
</ul>
|
481
|
+
|
482
|
+
</div><table class="source_code">
|
483
|
+
<tr>
|
484
|
+
<td>
|
485
|
+
<pre class="lines">
|
486
|
+
|
487
|
+
|
488
|
+
103
|
489
|
+
104
|
490
|
+
105
|
491
|
+
106
|
492
|
+
107
|
493
|
+
108
|
494
|
+
109
|
495
|
+
110
|
496
|
+
111
|
497
|
+
112</pre>
|
498
|
+
</td>
|
499
|
+
<td>
|
500
|
+
<pre class="code"><span class="info file"># File 'lib/qo/matchers/pattern_match_block.rb', line 103</span>
|
501
|
+
|
502
|
+
<span class='kw'>def</span> <span class='id identifier rubyid_call'>call</span><span class='lparen'>(</span><span class='id identifier rubyid_target'>target</span><span class='rparen'>)</span>
|
503
|
+
<span class='ivar'>@matchers</span><span class='period'>.</span><span class='id identifier rubyid_each'>each</span> <span class='lbrace'>{</span> <span class='op'>|</span><span class='id identifier rubyid_guard_block_matcher'>guard_block_matcher</span><span class='op'>|</span>
|
504
|
+
<span class='id identifier rubyid_did_match'>did_match</span><span class='comma'>,</span> <span class='id identifier rubyid_match_result'>match_result</span> <span class='op'>=</span> <span class='id identifier rubyid_guard_block_matcher'>guard_block_matcher</span><span class='period'>.</span><span class='id identifier rubyid_call'>call</span><span class='lparen'>(</span><span class='id identifier rubyid_target'>target</span><span class='rparen'>)</span>
|
505
|
+
<span class='kw'>return</span> <span class='id identifier rubyid_match_result'>match_result</span> <span class='kw'>if</span> <span class='id identifier rubyid_did_match'>did_match</span>
|
506
|
+
<span class='rbrace'>}</span>
|
507
|
+
|
508
|
+
<span class='kw'>return</span> <span class='ivar'>@else</span><span class='period'>.</span><span class='id identifier rubyid_call'>call</span><span class='lparen'>(</span><span class='id identifier rubyid_target'>target</span><span class='rparen'>)</span> <span class='kw'>if</span> <span class='ivar'>@else</span>
|
509
|
+
|
510
|
+
<span class='kw'>nil</span>
|
511
|
+
<span class='kw'>end</span></pre>
|
512
|
+
</td>
|
513
|
+
</tr>
|
514
|
+
</table>
|
515
|
+
</div>
|
516
|
+
|
517
|
+
<div class="method_details ">
|
518
|
+
<h3 class="signature " id="else-instance_method">
|
519
|
+
|
520
|
+
#<strong>else</strong>(&fn) ⇒ <tt>Proc</tt>
|
521
|
+
|
522
|
+
|
523
|
+
|
524
|
+
|
525
|
+
|
526
|
+
</h3><div class="docstring">
|
527
|
+
<div class="discussion">
|
528
|
+
<p>Else is the last statement that will be evaluated if all other parts
|
529
|
+
fail. It should be noted that it won't magically appear, you have to
|
530
|
+
explicitly put an <code>else</code> case in for it to catch on no match unless
|
531
|
+
you want a <code>nil</code> return</p>
|
532
|
+
|
533
|
+
|
534
|
+
</div>
|
535
|
+
</div>
|
536
|
+
<div class="tags">
|
537
|
+
<p class="tag_title">Parameters:</p>
|
538
|
+
<ul class="param">
|
539
|
+
|
540
|
+
<li>
|
541
|
+
|
542
|
+
<span class='name'>&fn</span>
|
543
|
+
|
544
|
+
|
545
|
+
<span class='type'>(<tt>Proc</tt>)</span>
|
546
|
+
|
547
|
+
|
548
|
+
|
549
|
+
—
|
550
|
+
<div class='inline'><p>Function to call when all other matches have failed</p>
|
551
|
+
</div>
|
552
|
+
|
553
|
+
</li>
|
554
|
+
|
555
|
+
</ul>
|
556
|
+
|
557
|
+
<p class="tag_title">Returns:</p>
|
558
|
+
<ul class="return">
|
559
|
+
|
560
|
+
<li>
|
561
|
+
|
562
|
+
|
563
|
+
<span class='type'>(<tt>Proc</tt>)</span>
|
564
|
+
|
565
|
+
|
566
|
+
|
567
|
+
</li>
|
568
|
+
|
569
|
+
</ul>
|
570
|
+
<p class="tag_title">Raises:</p>
|
571
|
+
<ul class="raise">
|
572
|
+
|
573
|
+
<li>
|
574
|
+
|
575
|
+
|
576
|
+
<span class='type'>(<tt><span class='object_link'><a href="../Exceptions/MultipleElseClauses.html" title="Qo::Exceptions::MultipleElseClauses (class)">Qo::Exceptions::MultipleElseClauses</a></span></tt>)</span>
|
577
|
+
|
578
|
+
|
579
|
+
|
580
|
+
</li>
|
581
|
+
|
582
|
+
</ul>
|
583
|
+
<p class="tag_title">Since:</p>
|
584
|
+
<ul class="since">
|
585
|
+
|
586
|
+
<li>
|
587
|
+
|
588
|
+
|
589
|
+
|
590
|
+
|
591
|
+
|
592
|
+
<div class='inline'><p>0.3.0</p>
|
593
|
+
</div>
|
594
|
+
|
595
|
+
</li>
|
596
|
+
|
597
|
+
</ul>
|
598
|
+
|
599
|
+
</div><table class="source_code">
|
600
|
+
<tr>
|
601
|
+
<td>
|
602
|
+
<pre class="lines">
|
603
|
+
|
604
|
+
|
605
|
+
83
|
606
|
+
84
|
607
|
+
85
|
608
|
+
86</pre>
|
609
|
+
</td>
|
610
|
+
<td>
|
611
|
+
<pre class="code"><span class="info file"># File 'lib/qo/matchers/pattern_match_block.rb', line 83</span>
|
612
|
+
|
613
|
+
<span class='kw'>def</span> <span class='kw'>else</span><span class='lparen'>(</span><span class='op'>&</span><span class='id identifier rubyid_fn'>fn</span><span class='rparen'>)</span>
|
614
|
+
<span class='id identifier rubyid_raise'>raise</span> <span class='const'><span class='object_link'><a href="../../Qo.html" title="Qo (module)">Qo</a></span></span><span class='op'>::</span><span class='const'><span class='object_link'><a href="../Exceptions.html" title="Qo::Exceptions (module)">Exceptions</a></span></span><span class='op'>::</span><span class='const'><span class='object_link'><a href="../Exceptions/MultipleElseClauses.html" title="Qo::Exceptions::MultipleElseClauses (class)">MultipleElseClauses</a></span></span> <span class='kw'>if</span> <span class='ivar'>@else</span>
|
615
|
+
<span class='ivar'>@else</span> <span class='op'>=</span> <span class='id identifier rubyid_fn'>fn</span>
|
616
|
+
<span class='kw'>end</span></pre>
|
617
|
+
</td>
|
618
|
+
</tr>
|
619
|
+
</table>
|
620
|
+
</div>
|
621
|
+
|
622
|
+
<div class="method_details ">
|
623
|
+
<h3 class="signature " id="to_proc-instance_method">
|
624
|
+
|
625
|
+
#<strong>to_proc</strong> ⇒ <tt>Proc</tt>
|
626
|
+
|
627
|
+
|
628
|
+
|
629
|
+
|
630
|
+
|
631
|
+
</h3><div class="docstring">
|
632
|
+
<div class="discussion">
|
633
|
+
<p>Proc version of a PatternMatchBlock</p>
|
634
|
+
|
635
|
+
|
636
|
+
</div>
|
637
|
+
</div>
|
638
|
+
<div class="tags">
|
639
|
+
|
640
|
+
<p class="tag_title">Returns:</p>
|
641
|
+
<ul class="return">
|
642
|
+
|
643
|
+
<li>
|
644
|
+
|
645
|
+
|
646
|
+
<span class='type'>(<tt>Proc</tt>)</span>
|
647
|
+
|
648
|
+
|
649
|
+
|
650
|
+
—
|
651
|
+
<div class='inline'><p>Any -> Any | nil</p>
|
652
|
+
</div>
|
653
|
+
|
654
|
+
</li>
|
655
|
+
|
656
|
+
</ul>
|
657
|
+
<p class="tag_title">Since:</p>
|
658
|
+
<ul class="since">
|
659
|
+
|
660
|
+
<li>
|
661
|
+
|
662
|
+
|
663
|
+
|
664
|
+
|
665
|
+
|
666
|
+
<div class='inline'><p>0.3.0</p>
|
667
|
+
</div>
|
668
|
+
|
669
|
+
</li>
|
670
|
+
|
671
|
+
</ul>
|
672
|
+
|
673
|
+
</div><table class="source_code">
|
674
|
+
<tr>
|
675
|
+
<td>
|
676
|
+
<pre class="lines">
|
677
|
+
|
678
|
+
|
679
|
+
92
|
680
|
+
93
|
681
|
+
94</pre>
|
682
|
+
</td>
|
683
|
+
<td>
|
684
|
+
<pre class="code"><span class="info file"># File 'lib/qo/matchers/pattern_match_block.rb', line 92</span>
|
685
|
+
|
686
|
+
<span class='kw'>def</span> <span class='id identifier rubyid_to_proc'>to_proc</span>
|
687
|
+
<span class='const'>Proc</span><span class='period'>.</span><span class='id identifier rubyid_new'>new</span> <span class='lbrace'>{</span> <span class='op'>|</span><span class='id identifier rubyid_target'>target</span><span class='op'>|</span> <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_call'>call</span><span class='lparen'>(</span><span class='id identifier rubyid_target'>target</span><span class='rparen'>)</span> <span class='rbrace'>}</span>
|
688
|
+
<span class='kw'>end</span></pre>
|
689
|
+
</td>
|
690
|
+
</tr>
|
691
|
+
</table>
|
692
|
+
</div>
|
693
|
+
|
694
|
+
<div class="method_details ">
|
695
|
+
<h3 class="signature " id="when-instance_method">
|
696
|
+
|
697
|
+
#<strong>when</strong>(*array_matchers, **keyword_matchers, &fn) ⇒ <tt>Array[<span class='object_link'><a href="GuardBlockMatcher.html" title="Qo::Matchers::GuardBlockMatcher (class)">GuardBlockMatcher</a></span>]</tt>
|
698
|
+
|
699
|
+
|
700
|
+
|
701
|
+
|
702
|
+
|
703
|
+
</h3><div class="docstring">
|
704
|
+
<div class="discussion">
|
705
|
+
<p>Creates a match case. This is the exact same as any other <code>and</code> style
|
706
|
+
match reflected in the public API, except that it's a Guard Block
|
707
|
+
match being performed. That means if the left side matches, the right
|
708
|
+
side function is invoked and that value is returned.</p>
|
709
|
+
|
710
|
+
|
711
|
+
</div>
|
712
|
+
</div>
|
713
|
+
<div class="tags">
|
714
|
+
<p class="tag_title">Parameters:</p>
|
715
|
+
<ul class="param">
|
716
|
+
|
717
|
+
<li>
|
718
|
+
|
719
|
+
<span class='name'>*array_matchers</span>
|
720
|
+
|
721
|
+
|
722
|
+
<span class='type'>(<tt>Array[Any]</tt>)</span>
|
723
|
+
|
724
|
+
|
725
|
+
|
726
|
+
—
|
727
|
+
<div class='inline'><p>Array style matchers</p>
|
728
|
+
</div>
|
729
|
+
|
730
|
+
</li>
|
731
|
+
|
732
|
+
<li>
|
733
|
+
|
734
|
+
<span class='name'>**keyword_matchers</span>
|
735
|
+
|
736
|
+
|
737
|
+
<span class='type'>(<tt>Hash[Any, Any]</tt>)</span>
|
738
|
+
|
739
|
+
|
740
|
+
|
741
|
+
—
|
742
|
+
<div class='inline'><p>Hash style matchers</p>
|
743
|
+
</div>
|
744
|
+
|
745
|
+
</li>
|
746
|
+
|
747
|
+
<li>
|
748
|
+
|
749
|
+
<span class='name'>&fn</span>
|
750
|
+
|
751
|
+
|
752
|
+
<span class='type'>(<tt>Proc</tt>)</span>
|
753
|
+
|
754
|
+
|
755
|
+
|
756
|
+
—
|
757
|
+
<div class='inline'><p>If matched, this function will be called</p>
|
758
|
+
</div>
|
759
|
+
|
760
|
+
</li>
|
761
|
+
|
762
|
+
</ul>
|
763
|
+
|
764
|
+
<p class="tag_title">Returns:</p>
|
765
|
+
<ul class="return">
|
766
|
+
|
767
|
+
<li>
|
768
|
+
|
769
|
+
|
770
|
+
<span class='type'>(<tt>Array[<span class='object_link'><a href="GuardBlockMatcher.html" title="Qo::Matchers::GuardBlockMatcher (class)">GuardBlockMatcher</a></span>]</tt>)</span>
|
771
|
+
|
772
|
+
|
773
|
+
|
774
|
+
—
|
775
|
+
<div class='inline'><p>The return of this method should not be directly depended on, but will
|
776
|
+
provide all matchers currently present. This will likely be left for
|
777
|
+
ease of debugging later.</p>
|
778
|
+
</div>
|
779
|
+
|
780
|
+
</li>
|
781
|
+
|
782
|
+
</ul>
|
783
|
+
<p class="tag_title">Since:</p>
|
784
|
+
<ul class="since">
|
785
|
+
|
786
|
+
<li>
|
787
|
+
|
788
|
+
|
789
|
+
|
790
|
+
|
791
|
+
|
792
|
+
<div class='inline'><p>0.3.0</p>
|
793
|
+
</div>
|
794
|
+
|
795
|
+
</li>
|
796
|
+
|
797
|
+
</ul>
|
798
|
+
|
799
|
+
</div><table class="source_code">
|
800
|
+
<tr>
|
801
|
+
<td>
|
802
|
+
<pre class="lines">
|
803
|
+
|
804
|
+
|
805
|
+
70
|
806
|
+
71
|
807
|
+
72</pre>
|
808
|
+
</td>
|
809
|
+
<td>
|
810
|
+
<pre class="code"><span class="info file"># File 'lib/qo/matchers/pattern_match_block.rb', line 70</span>
|
811
|
+
|
812
|
+
<span class='kw'>def</span> <span class='kw'>when</span><span class='lparen'>(</span><span class='op'>*</span><span class='id identifier rubyid_array_matchers'>array_matchers</span><span class='comma'>,</span> <span class='op'>**</span><span class='id identifier rubyid_keyword_matchers'>keyword_matchers</span><span class='comma'>,</span> <span class='op'>&</span><span class='id identifier rubyid_fn'>fn</span><span class='rparen'>)</span>
|
813
|
+
<span class='ivar'>@matchers</span> <span class='op'><<</span> <span class='const'><span class='object_link'><a href="../../Qo.html" title="Qo (module)">Qo</a></span></span><span class='op'>::</span><span class='const'><span class='object_link'><a href="../Matchers.html" title="Qo::Matchers (module)">Matchers</a></span></span><span class='op'>::</span><span class='const'><span class='object_link'><a href="GuardBlockMatcher.html" title="Qo::Matchers::GuardBlockMatcher (class)">GuardBlockMatcher</a></span></span><span class='period'>.</span><span class='id identifier rubyid_new'><span class='object_link'><a href="GuardBlockMatcher.html#initialize-instance_method" title="Qo::Matchers::GuardBlockMatcher#initialize (method)">new</a></span></span><span class='lparen'>(</span><span class='op'>*</span><span class='id identifier rubyid_array_matchers'>array_matchers</span><span class='comma'>,</span> <span class='op'>**</span><span class='id identifier rubyid_keyword_matchers'>keyword_matchers</span><span class='comma'>,</span> <span class='op'>&</span><span class='id identifier rubyid_fn'>fn</span><span class='rparen'>)</span>
|
814
|
+
<span class='kw'>end</span></pre>
|
815
|
+
</td>
|
816
|
+
</tr>
|
817
|
+
</table>
|
818
|
+
</div>
|
819
|
+
|
820
|
+
</div>
|
821
|
+
|
822
|
+
</div>
|
823
|
+
|
824
|
+
<div id="footer">
|
825
|
+
Generated on Sun Aug 5 20:52:10 2018 by
|
826
|
+
<a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
|
827
|
+
0.9.12 (ruby-2.5.1).
|
828
|
+
</div>
|
829
|
+
|
830
|
+
</div>
|
831
|
+
</body>
|
832
|
+
</html>
|