lab419-config 0.1
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.
- data/Manifest +27 -0
- data/Rakefile +20 -0
- data/config.rb +7 -0
- data/lab419-config.gemspec +30 -0
- data/lib/doc/Lab419.html +156 -0
- data/lib/doc/Lab419/Config.html +184 -0
- data/lib/doc/Lab419/Config/Data.html +372 -0
- data/lib/doc/Lab419/Config/Parser.html +469 -0
- data/lib/doc/Lab419/Config/Reader.html +604 -0
- data/lib/doc/Lab419/Config/Source.html +429 -0
- data/lib/doc/created.rid +6 -0
- data/lib/doc/index.html +115 -0
- data/lib/doc/lab419/config/data_rb.html +54 -0
- data/lib/doc/lab419/config/parser_rb.html +52 -0
- data/lib/doc/lab419/config/reader_rb.html +58 -0
- data/lib/doc/lab419/config/source_rb.html +52 -0
- data/lib/doc/lab419/config_rb.html +54 -0
- data/lib/doc/rdoc.css +701 -0
- data/lib/lab419/config.rb +2 -0
- data/lib/lab419/config/data.rb +58 -0
- data/lib/lab419/config/parser.rb +81 -0
- data/lib/lab419/config/reader.rb +80 -0
- data/lib/lab419/config/source.rb +56 -0
- data/specs/config_data_spec.rb +68 -0
- data/specs/config_reader_spec.rb +133 -0
- data/specs/config_source_spec.rb +74 -0
- data/specs/custom_handler_spec.rb +40 -0
- metadata +109 -0
@@ -0,0 +1,469 @@
|
|
1
|
+
<?xml version="1.0" encoding="utf-8"?>
|
2
|
+
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
|
3
|
+
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
|
4
|
+
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
|
5
|
+
<head>
|
6
|
+
<meta content="text/html; charset=utf-8" http-equiv="Content-Type" />
|
7
|
+
|
8
|
+
<title>Module: Lab419::Config::Parser</title>
|
9
|
+
|
10
|
+
<link rel="stylesheet" href="../../rdoc.css" type="text/css" media="screen" />
|
11
|
+
|
12
|
+
<script src="../../js/jquery.js" type="text/javascript"
|
13
|
+
charset="utf-8"></script>
|
14
|
+
<script src="../../js/thickbox-compressed.js" type="text/javascript"
|
15
|
+
charset="utf-8"></script>
|
16
|
+
<script src="../../js/quicksearch.js" type="text/javascript"
|
17
|
+
charset="utf-8"></script>
|
18
|
+
<script src="../../js/darkfish.js" type="text/javascript"
|
19
|
+
charset="utf-8"></script>
|
20
|
+
|
21
|
+
</head>
|
22
|
+
<body class="module">
|
23
|
+
|
24
|
+
<div id="metadata">
|
25
|
+
<div id="home-metadata">
|
26
|
+
<div id="home-section" class="section">
|
27
|
+
<h3 class="section-header">
|
28
|
+
<a href="../../index.html">Home</a>
|
29
|
+
<a href="../../index.html#classes">Classes</a>
|
30
|
+
<a href="../../index.html#methods">Methods</a>
|
31
|
+
</h3>
|
32
|
+
</div>
|
33
|
+
</div>
|
34
|
+
|
35
|
+
<div id="file-metadata">
|
36
|
+
<div id="file-list-section" class="section">
|
37
|
+
<h3 class="section-header">In Files</h3>
|
38
|
+
<div class="section-body">
|
39
|
+
<ul>
|
40
|
+
|
41
|
+
<li><a href="../../lab419/config/parser_rb.html?TB_iframe=true&height=550&width=785"
|
42
|
+
class="thickbox" title="lab419/config/parser.rb">lab419/config/parser.rb</a></li>
|
43
|
+
|
44
|
+
</ul>
|
45
|
+
</div>
|
46
|
+
</div>
|
47
|
+
|
48
|
+
|
49
|
+
</div>
|
50
|
+
|
51
|
+
<div id="class-metadata">
|
52
|
+
|
53
|
+
<!-- Parent Class -->
|
54
|
+
|
55
|
+
|
56
|
+
<!-- Namespace Contents -->
|
57
|
+
|
58
|
+
|
59
|
+
<!-- Method Quickref -->
|
60
|
+
|
61
|
+
<div id="method-list-section" class="section">
|
62
|
+
<h3 class="section-header">Methods</h3>
|
63
|
+
<ul class="link-list">
|
64
|
+
|
65
|
+
<li><a href="#M000006">#check_source_setup</a></li>
|
66
|
+
|
67
|
+
<li><a href="#M000001">#default_handler</a></li>
|
68
|
+
|
69
|
+
<li><a href="#M000002">#invocation</a></li>
|
70
|
+
|
71
|
+
<li><a href="#M000000">#parse</a></li>
|
72
|
+
|
73
|
+
<li><a href="#M000003">#parse_array</a></li>
|
74
|
+
|
75
|
+
<li><a href="#M000004">#parse_hash</a></li>
|
76
|
+
|
77
|
+
<li><a href="#M000005">#parse_value</a></li>
|
78
|
+
|
79
|
+
</ul>
|
80
|
+
</div>
|
81
|
+
|
82
|
+
|
83
|
+
<!-- Included Modules -->
|
84
|
+
|
85
|
+
</div>
|
86
|
+
|
87
|
+
<div id="project-metadata">
|
88
|
+
|
89
|
+
|
90
|
+
|
91
|
+
<div id="classindex-section" class="section project-section">
|
92
|
+
<h3 class="section-header">Class Index
|
93
|
+
<span class="search-toggle"><img src="../../images/find.png"
|
94
|
+
height="16" width="16" alt="[+]"
|
95
|
+
title="show/hide quicksearch" /></span></h3>
|
96
|
+
<form action="#" method="get" accept-charset="utf-8" class="initially-hidden">
|
97
|
+
<fieldset>
|
98
|
+
<legend>Quicksearch</legend>
|
99
|
+
<input type="text" name="quicksearch" value=""
|
100
|
+
class="quicksearch-field" />
|
101
|
+
</fieldset>
|
102
|
+
</form>
|
103
|
+
|
104
|
+
<ul class="link-list">
|
105
|
+
|
106
|
+
<li><a href="../../Lab419.html">Lab419</a></li>
|
107
|
+
|
108
|
+
<li><a href="../../Lab419/Config.html">Lab419::Config</a></li>
|
109
|
+
|
110
|
+
<li><a href="../../Lab419/Config/Data.html">Lab419::Config::Data</a></li>
|
111
|
+
|
112
|
+
<li><a href="../../Lab419/Config/Parser.html">Lab419::Config::Parser</a></li>
|
113
|
+
|
114
|
+
<li><a href="../../Lab419/Config/Reader.html">Lab419::Config::Reader</a></li>
|
115
|
+
|
116
|
+
<li><a href="../../Lab419/Config/Source.html">Lab419::Config::Source</a></li>
|
117
|
+
|
118
|
+
</ul>
|
119
|
+
<div id="no-class-search-results" style="display: none;">No matching classes.</div>
|
120
|
+
</div>
|
121
|
+
|
122
|
+
|
123
|
+
</div>
|
124
|
+
</div>
|
125
|
+
|
126
|
+
<div id="documentation">
|
127
|
+
<h1 class="module">Lab419::Config::Parser</h1>
|
128
|
+
|
129
|
+
<div id="description">
|
130
|
+
|
131
|
+
</div>
|
132
|
+
|
133
|
+
<!-- Constants -->
|
134
|
+
|
135
|
+
<div id="constants-list" class="section">
|
136
|
+
<h3 class="section-header">Constants</h3>
|
137
|
+
<dl>
|
138
|
+
|
139
|
+
<dt><a name="SyntaxError">SyntaxError</a></dt>
|
140
|
+
|
141
|
+
<dd class="description"></dd>
|
142
|
+
|
143
|
+
|
144
|
+
</dl>
|
145
|
+
</div>
|
146
|
+
|
147
|
+
|
148
|
+
<!-- Attributes -->
|
149
|
+
|
150
|
+
|
151
|
+
<!-- Methods -->
|
152
|
+
|
153
|
+
<div id="public-instance-method-details" class="method-section section">
|
154
|
+
<h3 class="section-header">Public Instance Methods</h3>
|
155
|
+
|
156
|
+
|
157
|
+
<div id="parse-method" class="method-detail ">
|
158
|
+
<a name="M000000"></a>
|
159
|
+
|
160
|
+
<div class="method-heading">
|
161
|
+
|
162
|
+
<span class="method-name">parse</span><span
|
163
|
+
class="method-args">(params={})</span>
|
164
|
+
<span class="method-click-advice">click to toggle source</span>
|
165
|
+
|
166
|
+
</div>
|
167
|
+
|
168
|
+
<div class="method-description">
|
169
|
+
|
170
|
+
|
171
|
+
|
172
|
+
|
173
|
+
|
174
|
+
<div class="method-source-code"
|
175
|
+
id="parse-source">
|
176
|
+
<pre>
|
177
|
+
<span class="ruby-comment cmt"># File lab419/config/parser.rb, line 10</span>
|
178
|
+
10: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">parse</span> <span class="ruby-identifier">params</span>={}
|
179
|
+
11: <span class="ruby-identifier">check_source_setup</span>
|
180
|
+
12: <span class="ruby-ivar">@params</span> = <span class="ruby-identifier">params</span>
|
181
|
+
13: <span class="ruby-ivar">@parsed</span> = <span class="ruby-keyword kw">true</span>
|
182
|
+
14: <span class="ruby-identifier">loop</span> <span class="ruby-keyword kw">do</span>
|
183
|
+
15: <span class="ruby-ivar">@source</span>.<span class="ruby-identifier">next</span> <span class="ruby-keyword kw">while</span> <span class="ruby-ivar">@source</span>.<span class="ruby-identifier">current</span> <span class="ruby-operator">&&</span> <span class="ruby-ivar">@source</span>.<span class="ruby-identifier">current</span> <span class="ruby-operator">=~</span> <span class="ruby-identifier">comment</span>
|
184
|
+
16: <span class="ruby-keyword kw">return</span> <span class="ruby-keyword kw">self</span> <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@source</span>.<span class="ruby-identifier">eos?</span>
|
185
|
+
17: <span class="ruby-identifier">key</span>, <span class="ruby-identifier">value</span> = <span class="ruby-ivar">@source</span>.<span class="ruby-identifier">current</span>.<span class="ruby-identifier">split</span> <span class="ruby-identifier">separator_rgx</span>, <span class="ruby-value">2</span>
|
186
|
+
18: <span class="ruby-identifier">raise</span> <span class="ruby-constant">SyntaxError</span>, <span class="ruby-node">"No = found in line \"#{key}\""</span> <span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">value</span>
|
187
|
+
19: <span class="ruby-ivar">@config</span>[<span class="ruby-identifier">key</span>.<span class="ruby-identifier">strip</span>] = <span class="ruby-identifier">parse_value</span> <span class="ruby-identifier">value</span>, <span class="ruby-identifier">params</span>
|
188
|
+
20: <span class="ruby-ivar">@source</span>.<span class="ruby-identifier">next</span>
|
189
|
+
21: <span class="ruby-keyword kw">end</span>
|
190
|
+
22: <span class="ruby-keyword kw">end</span></pre>
|
191
|
+
</div>
|
192
|
+
|
193
|
+
</div>
|
194
|
+
|
195
|
+
|
196
|
+
|
197
|
+
|
198
|
+
</div>
|
199
|
+
|
200
|
+
|
201
|
+
</div>
|
202
|
+
|
203
|
+
<div id="private-instance-method-details" class="method-section section">
|
204
|
+
<h3 class="section-header">Private Instance Methods</h3>
|
205
|
+
|
206
|
+
|
207
|
+
<div id="check-source-setup-method" class="method-detail ">
|
208
|
+
<a name="M000006"></a>
|
209
|
+
|
210
|
+
<div class="method-heading">
|
211
|
+
|
212
|
+
<span class="method-name">check_source_setup</span><span
|
213
|
+
class="method-args">()</span>
|
214
|
+
<span class="method-click-advice">click to toggle source</span>
|
215
|
+
|
216
|
+
</div>
|
217
|
+
|
218
|
+
<div class="method-description">
|
219
|
+
|
220
|
+
|
221
|
+
|
222
|
+
|
223
|
+
|
224
|
+
<div class="method-source-code"
|
225
|
+
id="check-source-setup-source">
|
226
|
+
<pre>
|
227
|
+
<span class="ruby-comment cmt"># File lab419/config/parser.rb, line 76</span>
|
228
|
+
76: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">check_source_setup</span>
|
229
|
+
77: <span class="ruby-identifier">raise</span> <span class="ruby-constant">Lab419</span><span class="ruby-operator">::</span><span class="ruby-constant">Config</span><span class="ruby-operator">::</span><span class="ruby-constant">IllegalMonitorState</span>, <span class="ruby-value str">"source not set up, either call new with a string source or set the source up with
|
230
|
+
78: one of the with_* methods"</span> <span class="ruby-keyword kw">unless</span> <span class="ruby-ivar">@source</span>
|
231
|
+
79:
|
232
|
+
80: <span class="ruby-keyword kw">end</span></pre>
|
233
|
+
</div>
|
234
|
+
|
235
|
+
</div>
|
236
|
+
|
237
|
+
|
238
|
+
|
239
|
+
|
240
|
+
</div>
|
241
|
+
|
242
|
+
|
243
|
+
<div id="default-handler-method" class="method-detail ">
|
244
|
+
<a name="M000001"></a>
|
245
|
+
|
246
|
+
<div class="method-heading">
|
247
|
+
|
248
|
+
<span class="method-name">default_handler</span><span
|
249
|
+
class="method-args">(value)</span>
|
250
|
+
<span class="method-click-advice">click to toggle source</span>
|
251
|
+
|
252
|
+
</div>
|
253
|
+
|
254
|
+
<div class="method-description">
|
255
|
+
|
256
|
+
|
257
|
+
|
258
|
+
|
259
|
+
|
260
|
+
<div class="method-source-code"
|
261
|
+
id="default-handler-source">
|
262
|
+
<pre>
|
263
|
+
<span class="ruby-comment cmt"># File lab419/config/parser.rb, line 25</span>
|
264
|
+
25: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">default_handler</span> <span class="ruby-identifier">value</span>
|
265
|
+
26: <span class="ruby-keyword kw">case</span> <span class="ruby-identifier">value</span>
|
266
|
+
27: <span class="ruby-keyword kw">when</span> <span class="ruby-regexp re">/\A\s*"/</span>
|
267
|
+
28: <span class="ruby-comment cmt"># TODO: Implement a real string parser</span>
|
268
|
+
29: <span class="ruby-identifier">value</span>.<span class="ruby-identifier">sub</span>(<span class="ruby-regexp re">/.*?"/</span>,<span class="ruby-value str">""</span>).<span class="ruby-identifier">reverse</span>.<span class="ruby-identifier">sub</span>(<span class="ruby-regexp re">/\s*"/</span>,<span class="ruby-value str">""</span>).<span class="ruby-identifier">reverse</span>
|
269
|
+
30: <span class="ruby-keyword kw">when</span> <span class="ruby-regexp re">/\A\s*\[\s*(.*)/</span>
|
270
|
+
31: <span class="ruby-identifier">parse_array</span> <span class="ruby-node">$1</span>
|
271
|
+
32: <span class="ruby-keyword kw">when</span> <span class="ruby-regexp re">/\A\s*\{\s*(.*)/</span>
|
272
|
+
33: <span class="ruby-identifier">parse_hash</span> <span class="ruby-node">$1</span>
|
273
|
+
34: <span class="ruby-keyword kw">else</span>
|
274
|
+
35: <span class="ruby-identifier">value</span>.<span class="ruby-identifier">strip</span>
|
275
|
+
36: <span class="ruby-keyword kw">end</span>
|
276
|
+
37: <span class="ruby-keyword kw">end</span></pre>
|
277
|
+
</div>
|
278
|
+
|
279
|
+
</div>
|
280
|
+
|
281
|
+
|
282
|
+
|
283
|
+
|
284
|
+
</div>
|
285
|
+
|
286
|
+
|
287
|
+
<div id="invocation-method" class="method-detail ">
|
288
|
+
<a name="M000002"></a>
|
289
|
+
|
290
|
+
<div class="method-heading">
|
291
|
+
|
292
|
+
<span class="method-name">invocation</span><span
|
293
|
+
class="method-args">(handler)</span>
|
294
|
+
<span class="method-click-advice">click to toggle source</span>
|
295
|
+
|
296
|
+
</div>
|
297
|
+
|
298
|
+
<div class="method-description">
|
299
|
+
|
300
|
+
<p>
|
301
|
+
HMMM: This might be overkill?
|
302
|
+
</p>
|
303
|
+
|
304
|
+
|
305
|
+
|
306
|
+
<div class="method-source-code"
|
307
|
+
id="invocation-source">
|
308
|
+
<pre>
|
309
|
+
<span class="ruby-comment cmt"># File lab419/config/parser.rb, line 39</span>
|
310
|
+
39: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">invocation</span> <span class="ruby-identifier">handler</span>
|
311
|
+
40: <span class="ruby-keyword kw">case</span> <span class="ruby-identifier">handler</span>
|
312
|
+
41: <span class="ruby-keyword kw">when</span> <span class="ruby-constant">Symbol</span>
|
313
|
+
42: <span class="ruby-identifier">send</span> <span class="ruby-identifier">handler</span>
|
314
|
+
43: <span class="ruby-keyword kw">when</span> <span class="ruby-constant">Array</span>
|
315
|
+
44: <span class="ruby-identifier">handler</span>.<span class="ruby-identifier">next</span>.<span class="ruby-identifier">send</span>( <span class="ruby-ivar">@source</span>, *<span class="ruby-identifier">handler</span> )
|
316
|
+
45: <span class="ruby-keyword kw">when</span> <span class="ruby-constant">Proc</span>
|
317
|
+
46: <span class="ruby-identifier">handler</span>[ <span class="ruby-ivar">@source</span> ]
|
318
|
+
47: <span class="ruby-keyword kw">else</span>
|
319
|
+
48: <span class="ruby-identifier">raise</span> <span class="ruby-constant">IllegalHandlerSpec</span>, <span class="ruby-node">"#{handler} is neither a sym, array or proc"</span>
|
320
|
+
49: <span class="ruby-keyword kw">end</span>
|
321
|
+
50: <span class="ruby-keyword kw">end</span></pre>
|
322
|
+
</div>
|
323
|
+
|
324
|
+
</div>
|
325
|
+
|
326
|
+
|
327
|
+
|
328
|
+
|
329
|
+
</div>
|
330
|
+
|
331
|
+
|
332
|
+
<div id="parse-array-method" class="method-detail ">
|
333
|
+
<a name="M000003"></a>
|
334
|
+
|
335
|
+
<div class="method-heading">
|
336
|
+
|
337
|
+
<span class="method-name">parse_array</span><span
|
338
|
+
class="method-args">(current_element)</span>
|
339
|
+
<span class="method-click-advice">click to toggle source</span>
|
340
|
+
|
341
|
+
</div>
|
342
|
+
|
343
|
+
<div class="method-description">
|
344
|
+
|
345
|
+
|
346
|
+
|
347
|
+
|
348
|
+
|
349
|
+
<div class="method-source-code"
|
350
|
+
id="parse-array-source">
|
351
|
+
<pre>
|
352
|
+
<span class="ruby-comment cmt"># File lab419/config/parser.rb, line 51</span>
|
353
|
+
51: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">parse_array</span> <span class="ruby-identifier">current_element</span>
|
354
|
+
52: <span class="ruby-identifier">result</span> = <span class="ruby-identifier">current_element</span>.<span class="ruby-identifier">strip</span>.<span class="ruby-identifier">empty?</span> <span class="ruby-operator">?</span> [] <span class="ruby-operator">:</span> [ <span class="ruby-identifier">parse_value</span>( <span class="ruby-identifier">current_element</span> ) ]
|
355
|
+
53: <span class="ruby-keyword kw">while</span> <span class="ruby-identifier">line</span> = <span class="ruby-ivar">@source</span>.<span class="ruby-identifier">next</span> <span class="ruby-keyword kw">do</span>
|
356
|
+
54: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">line</span> <span class="ruby-operator">=~</span> <span class="ruby-regexp re">/\A\s*\]/</span> <span class="ruby-keyword kw">then</span>
|
357
|
+
55: <span class="ruby-ivar">@source</span>.<span class="ruby-identifier">next</span>
|
358
|
+
56: <span class="ruby-identifier">p</span> [<span class="ruby-identifier">result</span>, <span class="ruby-ivar">@source</span>.<span class="ruby-identifier">to_debug</span>]
|
359
|
+
57: <span class="ruby-keyword kw">return</span> <span class="ruby-identifier">result</span>
|
360
|
+
58: <span class="ruby-keyword kw">end</span>
|
361
|
+
59: <span class="ruby-identifier">result</span> <span class="ruby-operator"><<</span> <span class="ruby-identifier">parse_value</span>( <span class="ruby-identifier">line</span> )
|
362
|
+
60: <span class="ruby-keyword kw">end</span>
|
363
|
+
61: <span class="ruby-identifier">raise</span> <span class="ruby-constant">SyntaxError</span>, <span class="ruby-value str">"missing ]"</span>
|
364
|
+
62: <span class="ruby-keyword kw">end</span></pre>
|
365
|
+
</div>
|
366
|
+
|
367
|
+
</div>
|
368
|
+
|
369
|
+
|
370
|
+
|
371
|
+
|
372
|
+
</div>
|
373
|
+
|
374
|
+
|
375
|
+
<div id="parse-hash-method" class="method-detail ">
|
376
|
+
<a name="M000004"></a>
|
377
|
+
|
378
|
+
<div class="method-heading">
|
379
|
+
|
380
|
+
<span class="method-name">parse_hash</span><span
|
381
|
+
class="method-args">(current_pair)</span>
|
382
|
+
<span class="method-click-advice">click to toggle source</span>
|
383
|
+
|
384
|
+
</div>
|
385
|
+
|
386
|
+
<div class="method-description">
|
387
|
+
|
388
|
+
|
389
|
+
|
390
|
+
|
391
|
+
|
392
|
+
<div class="method-source-code"
|
393
|
+
id="parse-hash-source">
|
394
|
+
<pre>
|
395
|
+
<span class="ruby-comment cmt"># File lab419/config/parser.rb, line 63</span>
|
396
|
+
63: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">parse_hash</span> <span class="ruby-identifier">current_pair</span>
|
397
|
+
64: <span class="ruby-identifier">raise</span> <span class="ruby-constant">SyntaxError</span>, <span class="ruby-value str">"not yet implemented"</span>
|
398
|
+
65: <span class="ruby-keyword kw">end</span></pre>
|
399
|
+
</div>
|
400
|
+
|
401
|
+
</div>
|
402
|
+
|
403
|
+
|
404
|
+
|
405
|
+
|
406
|
+
</div>
|
407
|
+
|
408
|
+
|
409
|
+
<div id="parse-value-method" class="method-detail ">
|
410
|
+
<a name="M000005"></a>
|
411
|
+
|
412
|
+
<div class="method-heading">
|
413
|
+
|
414
|
+
<span class="method-name">parse_value</span><span
|
415
|
+
class="method-args">(value, params={})</span>
|
416
|
+
<span class="method-click-advice">click to toggle source</span>
|
417
|
+
|
418
|
+
</div>
|
419
|
+
|
420
|
+
<div class="method-description">
|
421
|
+
|
422
|
+
|
423
|
+
|
424
|
+
|
425
|
+
|
426
|
+
<div class="method-source-code"
|
427
|
+
id="parse-value-source">
|
428
|
+
<pre>
|
429
|
+
<span class="ruby-comment cmt"># File lab419/config/parser.rb, line 66</span>
|
430
|
+
66: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">parse_value</span> <span class="ruby-identifier">value</span>, <span class="ruby-identifier">params</span>={}
|
431
|
+
67: <span class="ruby-ivar">@handlers</span>.<span class="ruby-identifier">update</span>( <span class="ruby-identifier">params</span>.<span class="ruby-identifier">fetch</span>( <span class="ruby-value">:handlers</span>, {} ) ).
|
432
|
+
68: <span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span> <span class="ruby-identifier">trigger_rgx</span>, <span class="ruby-identifier">handler</span> <span class="ruby-operator">|</span>
|
433
|
+
69: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">value</span> <span class="ruby-operator">=~</span> <span class="ruby-identifier">trigger_rgx</span> <span class="ruby-keyword kw">then</span>
|
434
|
+
70: <span class="ruby-keyword kw">return</span> <span class="ruby-identifier">invocation</span>( <span class="ruby-identifier">handler</span> )
|
435
|
+
71: <span class="ruby-keyword kw">end</span>
|
436
|
+
72: <span class="ruby-keyword kw">end</span>
|
437
|
+
73: <span class="ruby-keyword kw">return</span> <span class="ruby-identifier">default_handler</span>( <span class="ruby-identifier">value</span> )
|
438
|
+
74: <span class="ruby-keyword kw">end</span></pre>
|
439
|
+
</div>
|
440
|
+
|
441
|
+
</div>
|
442
|
+
|
443
|
+
|
444
|
+
|
445
|
+
|
446
|
+
</div>
|
447
|
+
|
448
|
+
|
449
|
+
</div>
|
450
|
+
|
451
|
+
|
452
|
+
</div>
|
453
|
+
|
454
|
+
|
455
|
+
<div id="rdoc-debugging-section-dump" class="debugging-section">
|
456
|
+
|
457
|
+
<p>Disabled; run with --debug to generate this.</p>
|
458
|
+
|
459
|
+
</div>
|
460
|
+
|
461
|
+
<div id="validator-badges">
|
462
|
+
<p><small><a href="http://validator.w3.org/check/referer">[Validate]</a></small></p>
|
463
|
+
<p><small>Generated with the <a href="http://deveiate.org/projects/Darkfish-Rdoc/">Darkfish
|
464
|
+
Rdoc Generator</a> 1.1.6</small>.</p>
|
465
|
+
</div>
|
466
|
+
|
467
|
+
</body>
|
468
|
+
</html>
|
469
|
+
|