term_utils 0.1.1 → 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/AUTHORS +1 -0
- data/CHANGELOG.md +51 -0
- data/COPYING +674 -0
- data/README.md +99 -0
- data/Rakefile +55 -0
- data/doc/TermUtils.html +138 -0
- data/doc/TermUtils/AP.html +394 -0
- data/doc/TermUtils/AP/Article.html +993 -0
- data/doc/TermUtils/AP/ArticleResult.html +584 -0
- data/doc/TermUtils/AP/Flag.html +756 -0
- data/doc/TermUtils/AP/NoSuchValueError.html +217 -0
- data/doc/TermUtils/AP/Parameter.html +1592 -0
- data/doc/TermUtils/AP/ParameterResult.html +980 -0
- data/doc/TermUtils/AP/ParameterWalkerHooks.html +409 -0
- data/doc/TermUtils/AP/ParseError.html +217 -0
- data/doc/TermUtils/AP/Parser.html +604 -0
- data/doc/TermUtils/AP/Result.html +837 -0
- data/doc/TermUtils/AP/Syntax.html +761 -0
- data/doc/TermUtils/AP/SyntaxError.html +217 -0
- data/doc/TermUtils/AP/Walker.html +686 -0
- data/doc/TermUtils/FF.html +128 -0
- data/doc/TermUtils/FF/Config.html +774 -0
- data/doc/TermUtils/FF/Context.html +585 -0
- data/doc/TermUtils/FF/Entry.html +626 -0
- data/doc/TermUtils/FF/Query.html +1085 -0
- data/doc/TermUtils/PropertyTreeNode.html +2113 -0
- data/doc/TermUtils/Tab.html +1486 -0
- data/doc/TermUtils/Tab/Column.html +1263 -0
- data/doc/TermUtils/Tab/Header.html +536 -0
- data/doc/TermUtils/Tab/Holder.html +1210 -0
- data/doc/TermUtils/Tab/Printer.html +967 -0
- data/doc/TermUtils/Tab/Table.html +1966 -0
- data/doc/TermUtils/Tab/TableError.html +217 -0
- data/doc/_index.html +387 -0
- data/doc/class_list.html +51 -0
- data/doc/css/common.css +1 -0
- data/doc/css/full_list.css +58 -0
- data/doc/css/style.css +496 -0
- data/doc/file.README.html +170 -0
- data/doc/file_list.html +56 -0
- data/doc/frames.html +17 -0
- data/doc/index.html +170 -0
- data/doc/js/app.js +314 -0
- data/doc/js/full_list.js +216 -0
- data/doc/js/jquery.js +4 -0
- data/doc/method_list.html +1539 -0
- data/doc/top-level-namespace.html +110 -0
- data/lib/term_utils.rb +11 -0
- data/lib/term_utils/ap.rb +70 -0
- data/lib/term_utils/ap/article.rb +74 -0
- data/lib/term_utils/ap/flag.rb +65 -0
- data/lib/term_utils/ap/parameter.rb +144 -0
- data/lib/term_utils/ap/parser.rb +211 -0
- data/lib/term_utils/ap/result.rb +244 -0
- data/lib/term_utils/ap/syntax.rb +96 -0
- data/lib/term_utils/ff.rb +27 -0
- data/lib/term_utils/ff/config.rb +55 -0
- data/lib/term_utils/ff/entry.rb +45 -0
- data/lib/term_utils/ff/query.rb +145 -0
- data/lib/term_utils/property_tree_node.rb +228 -0
- data/lib/term_utils/tab.rb +338 -88
- data/term_utils.gemspec +16 -0
- metadata +69 -7
@@ -0,0 +1,2113 @@
|
|
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: TermUtils::PropertyTreeNode
|
8
|
+
|
9
|
+
— Documentation by YARD 0.9.25
|
10
|
+
|
11
|
+
</title>
|
12
|
+
|
13
|
+
<link rel="stylesheet" href="../css/style.css" type="text/css" />
|
14
|
+
|
15
|
+
<link rel="stylesheet" href="../css/common.css" type="text/css" />
|
16
|
+
|
17
|
+
<script type="text/javascript">
|
18
|
+
pathId = "TermUtils::PropertyTreeNode";
|
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="../TermUtils.html" title="TermUtils (module)">TermUtils</a></span></span>
|
41
|
+
»
|
42
|
+
<span class="title">PropertyTreeNode</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: TermUtils::PropertyTreeNode
|
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">TermUtils::PropertyTreeNode</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/term_utils/property_tree_node.rb</dd>
|
98
|
+
</dl>
|
99
|
+
|
100
|
+
</div>
|
101
|
+
|
102
|
+
<h2>Overview</h2><div class="docstring">
|
103
|
+
<div class="discussion">
|
104
|
+
|
105
|
+
<p>Represents a general-purpose tree node that holds a key-value pair.</p>
|
106
|
+
|
107
|
+
|
108
|
+
</div>
|
109
|
+
</div>
|
110
|
+
<div class="tags">
|
111
|
+
|
112
|
+
|
113
|
+
</div>
|
114
|
+
|
115
|
+
|
116
|
+
|
117
|
+
<h2>Instance Attribute Summary <small><a href="#" class="summary_toggle">collapse</a></small></h2>
|
118
|
+
<ul class="summary">
|
119
|
+
|
120
|
+
<li class="public ">
|
121
|
+
<span class="summary_signature">
|
122
|
+
|
123
|
+
<a href="#child_nodes-instance_method" title="#child_nodes (instance method)">#<strong>child_nodes</strong> ⇒ Array<PropertyTreeNode> </a>
|
124
|
+
|
125
|
+
|
126
|
+
|
127
|
+
</span>
|
128
|
+
|
129
|
+
|
130
|
+
|
131
|
+
|
132
|
+
|
133
|
+
|
134
|
+
|
135
|
+
|
136
|
+
|
137
|
+
|
138
|
+
|
139
|
+
|
140
|
+
<span class="summary_desc"><div class='inline'></div></span>
|
141
|
+
|
142
|
+
</li>
|
143
|
+
|
144
|
+
|
145
|
+
<li class="public ">
|
146
|
+
<span class="summary_signature">
|
147
|
+
|
148
|
+
<a href="#key-instance_method" title="#key (instance method)">#<strong>key</strong> ⇒ Object </a>
|
149
|
+
|
150
|
+
|
151
|
+
|
152
|
+
</span>
|
153
|
+
|
154
|
+
|
155
|
+
|
156
|
+
|
157
|
+
|
158
|
+
|
159
|
+
|
160
|
+
|
161
|
+
|
162
|
+
|
163
|
+
|
164
|
+
|
165
|
+
<span class="summary_desc"><div class='inline'></div></span>
|
166
|
+
|
167
|
+
</li>
|
168
|
+
|
169
|
+
|
170
|
+
<li class="public ">
|
171
|
+
<span class="summary_signature">
|
172
|
+
|
173
|
+
<a href="#parent_node-instance_method" title="#parent_node (instance method)">#<strong>parent_node</strong> ⇒ PropertyTreeNode </a>
|
174
|
+
|
175
|
+
|
176
|
+
|
177
|
+
</span>
|
178
|
+
|
179
|
+
|
180
|
+
|
181
|
+
|
182
|
+
|
183
|
+
|
184
|
+
|
185
|
+
|
186
|
+
|
187
|
+
|
188
|
+
|
189
|
+
|
190
|
+
<span class="summary_desc"><div class='inline'></div></span>
|
191
|
+
|
192
|
+
</li>
|
193
|
+
|
194
|
+
|
195
|
+
<li class="public ">
|
196
|
+
<span class="summary_signature">
|
197
|
+
|
198
|
+
<a href="#value-instance_method" title="#value (instance method)">#<strong>value</strong> ⇒ Object </a>
|
199
|
+
|
200
|
+
|
201
|
+
|
202
|
+
</span>
|
203
|
+
|
204
|
+
|
205
|
+
|
206
|
+
|
207
|
+
|
208
|
+
|
209
|
+
|
210
|
+
|
211
|
+
|
212
|
+
|
213
|
+
|
214
|
+
|
215
|
+
<span class="summary_desc"><div class='inline'></div></span>
|
216
|
+
|
217
|
+
</li>
|
218
|
+
|
219
|
+
|
220
|
+
</ul>
|
221
|
+
|
222
|
+
|
223
|
+
|
224
|
+
|
225
|
+
|
226
|
+
<h2>
|
227
|
+
Instance Method Summary
|
228
|
+
<small><a href="#" class="summary_toggle">collapse</a></small>
|
229
|
+
</h2>
|
230
|
+
|
231
|
+
<ul class="summary">
|
232
|
+
|
233
|
+
<li class="public ">
|
234
|
+
<span class="summary_signature">
|
235
|
+
|
236
|
+
<a href="#child_node-instance_method" title="#child_node (instance method)">#<strong>child_node</strong>(key) ⇒ PropertyTreeNode<sup>?</sup> </a>
|
237
|
+
|
238
|
+
|
239
|
+
|
240
|
+
</span>
|
241
|
+
|
242
|
+
|
243
|
+
|
244
|
+
|
245
|
+
|
246
|
+
|
247
|
+
|
248
|
+
|
249
|
+
|
250
|
+
<span class="summary_desc"><div class='inline'>
|
251
|
+
<p>Returns the child node identified by a given key.</p>
|
252
|
+
</div></span>
|
253
|
+
|
254
|
+
</li>
|
255
|
+
|
256
|
+
|
257
|
+
<li class="public ">
|
258
|
+
<span class="summary_signature">
|
259
|
+
|
260
|
+
<a href="#collect_nodes-instance_method" title="#collect_nodes (instance method)">#<strong>collect_nodes</strong>(opts = {}) ⇒ Array<PropertyTreeNode> </a>
|
261
|
+
|
262
|
+
|
263
|
+
|
264
|
+
</span>
|
265
|
+
|
266
|
+
|
267
|
+
|
268
|
+
|
269
|
+
|
270
|
+
|
271
|
+
|
272
|
+
|
273
|
+
|
274
|
+
<span class="summary_desc"><div class='inline'>
|
275
|
+
<p>Collects nodes.</p>
|
276
|
+
</div></span>
|
277
|
+
|
278
|
+
</li>
|
279
|
+
|
280
|
+
|
281
|
+
<li class="public ">
|
282
|
+
<span class="summary_signature">
|
283
|
+
|
284
|
+
<a href="#collect_paths-instance_method" title="#collect_paths (instance method)">#<strong>collect_paths</strong>(opts = {}) ⇒ Array<Array<Object>> </a>
|
285
|
+
|
286
|
+
|
287
|
+
|
288
|
+
</span>
|
289
|
+
|
290
|
+
|
291
|
+
|
292
|
+
|
293
|
+
|
294
|
+
|
295
|
+
|
296
|
+
|
297
|
+
|
298
|
+
<span class="summary_desc"><div class='inline'>
|
299
|
+
<p>Collects node paths.</p>
|
300
|
+
</div></span>
|
301
|
+
|
302
|
+
</li>
|
303
|
+
|
304
|
+
|
305
|
+
<li class="public ">
|
306
|
+
<span class="summary_signature">
|
307
|
+
|
308
|
+
<a href="#collect_values-instance_method" title="#collect_values (instance method)">#<strong>collect_values</strong>(opts = {}) ⇒ Array<Object> </a>
|
309
|
+
|
310
|
+
|
311
|
+
|
312
|
+
</span>
|
313
|
+
|
314
|
+
|
315
|
+
|
316
|
+
|
317
|
+
|
318
|
+
|
319
|
+
|
320
|
+
|
321
|
+
|
322
|
+
<span class="summary_desc"><div class='inline'>
|
323
|
+
<p>Collect node values.</p>
|
324
|
+
</div></span>
|
325
|
+
|
326
|
+
</li>
|
327
|
+
|
328
|
+
|
329
|
+
<li class="public ">
|
330
|
+
<span class="summary_signature">
|
331
|
+
|
332
|
+
<a href="#define_node-instance_method" title="#define_node (instance method)">#<strong>define_node</strong>(opts = {}, &block) ⇒ PropertyTreeNode </a>
|
333
|
+
|
334
|
+
|
335
|
+
|
336
|
+
</span>
|
337
|
+
|
338
|
+
|
339
|
+
|
340
|
+
|
341
|
+
|
342
|
+
|
343
|
+
|
344
|
+
|
345
|
+
|
346
|
+
<span class="summary_desc"><div class='inline'>
|
347
|
+
<p>Creates a new node and adds it as a child.</p>
|
348
|
+
</div></span>
|
349
|
+
|
350
|
+
</li>
|
351
|
+
|
352
|
+
|
353
|
+
<li class="public ">
|
354
|
+
<span class="summary_signature">
|
355
|
+
|
356
|
+
<a href="#each_node-instance_method" title="#each_node (instance method)">#<strong>each_node</strong>(opts = {}, &block) ⇒ nil </a>
|
357
|
+
|
358
|
+
|
359
|
+
|
360
|
+
</span>
|
361
|
+
|
362
|
+
|
363
|
+
|
364
|
+
|
365
|
+
|
366
|
+
|
367
|
+
|
368
|
+
|
369
|
+
|
370
|
+
<span class="summary_desc"><div class='inline'>
|
371
|
+
<p>Iterates over every node.</p>
|
372
|
+
</div></span>
|
373
|
+
|
374
|
+
</li>
|
375
|
+
|
376
|
+
|
377
|
+
<li class="public ">
|
378
|
+
<span class="summary_signature">
|
379
|
+
|
380
|
+
<a href="#eval_child_count-instance_method" title="#eval_child_count (instance method)">#<strong>eval_child_count</strong>(path) ⇒ Integer </a>
|
381
|
+
|
382
|
+
|
383
|
+
|
384
|
+
</span>
|
385
|
+
|
386
|
+
|
387
|
+
|
388
|
+
|
389
|
+
|
390
|
+
|
391
|
+
|
392
|
+
|
393
|
+
|
394
|
+
<span class="summary_desc"><div class='inline'>
|
395
|
+
<p>Evaluates the total number of nodes in the tree represented by this one.</p>
|
396
|
+
</div></span>
|
397
|
+
|
398
|
+
</li>
|
399
|
+
|
400
|
+
|
401
|
+
<li class="public ">
|
402
|
+
<span class="summary_signature">
|
403
|
+
|
404
|
+
<a href="#find_node-instance_method" title="#find_node (instance method)">#<strong>find_node</strong>(path) ⇒ PropertyTreeNode </a>
|
405
|
+
|
406
|
+
|
407
|
+
|
408
|
+
</span>
|
409
|
+
|
410
|
+
|
411
|
+
|
412
|
+
|
413
|
+
|
414
|
+
|
415
|
+
|
416
|
+
|
417
|
+
|
418
|
+
<span class="summary_desc"><div class='inline'>
|
419
|
+
<p>Finds the node identified by a given path of keys.</p>
|
420
|
+
</div></span>
|
421
|
+
|
422
|
+
</li>
|
423
|
+
|
424
|
+
|
425
|
+
<li class="public ">
|
426
|
+
<span class="summary_signature">
|
427
|
+
|
428
|
+
<a href="#find_node_value-instance_method" title="#find_node_value (instance method)">#<strong>find_node_value</strong>(path) ⇒ Object </a>
|
429
|
+
|
430
|
+
|
431
|
+
|
432
|
+
</span>
|
433
|
+
|
434
|
+
|
435
|
+
|
436
|
+
|
437
|
+
|
438
|
+
|
439
|
+
|
440
|
+
|
441
|
+
|
442
|
+
<span class="summary_desc"><div class='inline'>
|
443
|
+
<p>Finds the node identified by a given path of keys and returns its value.</p>
|
444
|
+
</div></span>
|
445
|
+
|
446
|
+
</li>
|
447
|
+
|
448
|
+
|
449
|
+
<li class="public ">
|
450
|
+
<span class="summary_signature">
|
451
|
+
|
452
|
+
<a href="#head%3F-instance_method" title="#head? (instance method)">#<strong>head?</strong> ⇒ Boolean </a>
|
453
|
+
|
454
|
+
|
455
|
+
|
456
|
+
</span>
|
457
|
+
|
458
|
+
|
459
|
+
|
460
|
+
|
461
|
+
|
462
|
+
|
463
|
+
|
464
|
+
|
465
|
+
|
466
|
+
<span class="summary_desc"><div class='inline'>
|
467
|
+
<p>Tests whether this one is the head of the tree (i.e. has no parent).</p>
|
468
|
+
</div></span>
|
469
|
+
|
470
|
+
</li>
|
471
|
+
|
472
|
+
|
473
|
+
<li class="public ">
|
474
|
+
<span class="summary_signature">
|
475
|
+
|
476
|
+
<a href="#initialize-instance_method" title="#initialize (instance method)">#<strong>initialize</strong>(opts = {}, &block) ⇒ PropertyTreeNode </a>
|
477
|
+
|
478
|
+
|
479
|
+
|
480
|
+
</span>
|
481
|
+
|
482
|
+
|
483
|
+
<span class="note title constructor">constructor</span>
|
484
|
+
|
485
|
+
|
486
|
+
|
487
|
+
|
488
|
+
|
489
|
+
|
490
|
+
|
491
|
+
|
492
|
+
<span class="summary_desc"><div class='inline'>
|
493
|
+
<p>Creates a new PropertyTreeNode.</p>
|
494
|
+
</div></span>
|
495
|
+
|
496
|
+
</li>
|
497
|
+
|
498
|
+
|
499
|
+
<li class="public ">
|
500
|
+
<span class="summary_signature">
|
501
|
+
|
502
|
+
<a href="#initialize_dup-instance_method" title="#initialize_dup (instance method)">#<strong>initialize_dup</strong>(other) ⇒ Object </a>
|
503
|
+
|
504
|
+
|
505
|
+
|
506
|
+
</span>
|
507
|
+
|
508
|
+
|
509
|
+
|
510
|
+
|
511
|
+
|
512
|
+
|
513
|
+
|
514
|
+
|
515
|
+
|
516
|
+
<span class="summary_desc"><div class='inline'>
|
517
|
+
<p>For dup method.</p>
|
518
|
+
</div></span>
|
519
|
+
|
520
|
+
</li>
|
521
|
+
|
522
|
+
|
523
|
+
<li class="public ">
|
524
|
+
<span class="summary_signature">
|
525
|
+
|
526
|
+
<a href="#leaf%3F-instance_method" title="#leaf? (instance method)">#<strong>leaf?</strong> ⇒ Boolean </a>
|
527
|
+
|
528
|
+
|
529
|
+
|
530
|
+
</span>
|
531
|
+
|
532
|
+
|
533
|
+
|
534
|
+
|
535
|
+
|
536
|
+
|
537
|
+
|
538
|
+
|
539
|
+
|
540
|
+
<span class="summary_desc"><div class='inline'>
|
541
|
+
<p>Tests whether this one is a leaf of the tree (i.e. has no child).</p>
|
542
|
+
</div></span>
|
543
|
+
|
544
|
+
</li>
|
545
|
+
|
546
|
+
|
547
|
+
<li class="public ">
|
548
|
+
<span class="summary_signature">
|
549
|
+
|
550
|
+
<a href="#node_exists%3F-instance_method" title="#node_exists? (instance method)">#<strong>node_exists?</strong>(path) ⇒ Boolean </a>
|
551
|
+
|
552
|
+
|
553
|
+
|
554
|
+
</span>
|
555
|
+
|
556
|
+
|
557
|
+
|
558
|
+
|
559
|
+
|
560
|
+
|
561
|
+
|
562
|
+
|
563
|
+
|
564
|
+
<span class="summary_desc"><div class='inline'>
|
565
|
+
<p>Tests whether the node identified by a given path of keys exists.</p>
|
566
|
+
</div></span>
|
567
|
+
|
568
|
+
</li>
|
569
|
+
|
570
|
+
|
571
|
+
<li class="public ">
|
572
|
+
<span class="summary_signature">
|
573
|
+
|
574
|
+
<a href="#path-instance_method" title="#path (instance method)">#<strong>path</strong> ⇒ Array<Object> </a>
|
575
|
+
|
576
|
+
|
577
|
+
|
578
|
+
</span>
|
579
|
+
|
580
|
+
|
581
|
+
|
582
|
+
|
583
|
+
|
584
|
+
|
585
|
+
|
586
|
+
|
587
|
+
|
588
|
+
<span class="summary_desc"><div class='inline'>
|
589
|
+
<p>Builds the path of keys.</p>
|
590
|
+
</div></span>
|
591
|
+
|
592
|
+
</li>
|
593
|
+
|
594
|
+
|
595
|
+
</ul>
|
596
|
+
|
597
|
+
|
598
|
+
<div id="constructor_details" class="method_details_list">
|
599
|
+
<h2>Constructor Details</h2>
|
600
|
+
|
601
|
+
<div class="method_details first">
|
602
|
+
<h3 class="signature first" id="initialize-instance_method">
|
603
|
+
|
604
|
+
#<strong>initialize</strong>(opts = {}, &block) ⇒ <tt><span class='object_link'><a href="" title="TermUtils::PropertyTreeNode (class)">PropertyTreeNode</a></span></tt>
|
605
|
+
|
606
|
+
|
607
|
+
|
608
|
+
|
609
|
+
|
610
|
+
</h3><div class="docstring">
|
611
|
+
<div class="discussion">
|
612
|
+
|
613
|
+
<p>Creates a new PropertyTreeNode. option opts [Object] :key option opts [Object] :value</p>
|
614
|
+
|
615
|
+
|
616
|
+
</div>
|
617
|
+
</div>
|
618
|
+
<div class="tags">
|
619
|
+
<p class="tag_title">Parameters:</p>
|
620
|
+
<ul class="param">
|
621
|
+
|
622
|
+
<li>
|
623
|
+
|
624
|
+
<span class='name'>opts</span>
|
625
|
+
|
626
|
+
|
627
|
+
<span class='type'>(<tt>Hash</tt>)</span>
|
628
|
+
|
629
|
+
|
630
|
+
<em class="default">(defaults to: <tt>{}</tt>)</em>
|
631
|
+
|
632
|
+
|
633
|
+
</li>
|
634
|
+
|
635
|
+
</ul>
|
636
|
+
|
637
|
+
|
638
|
+
</div><table class="source_code">
|
639
|
+
<tr>
|
640
|
+
<td>
|
641
|
+
<pre class="lines">
|
642
|
+
|
643
|
+
|
644
|
+
35
|
645
|
+
36
|
646
|
+
37
|
647
|
+
38
|
648
|
+
39
|
649
|
+
40
|
650
|
+
41</pre>
|
651
|
+
</td>
|
652
|
+
<td>
|
653
|
+
<pre class="code"><span class="info file"># File 'lib/term_utils/property_tree_node.rb', line 35</span>
|
654
|
+
|
655
|
+
<span class='kw'>def</span> <span class='id identifier rubyid_initialize'>initialize</span><span class='lparen'>(</span><span class='id identifier rubyid_opts'>opts</span> <span class='op'>=</span> <span class='lbrace'>{</span><span class='rbrace'>}</span><span class='comma'>,</span> <span class='op'>&</span><span class='id identifier rubyid_block'>block</span><span class='rparen'>)</span>
|
656
|
+
<span class='ivar'>@parent_node</span> <span class='op'>=</span> <span class='kw'>nil</span>
|
657
|
+
<span class='ivar'>@child_nodes</span> <span class='op'>=</span> <span class='kw'>nil</span>
|
658
|
+
<span class='ivar'>@key</span> <span class='op'>=</span> <span class='id identifier rubyid_opts'>opts</span><span class='period'>.</span><span class='id identifier rubyid_fetch'>fetch</span><span class='lparen'>(</span><span class='symbol'>:key</span><span class='comma'>,</span> <span class='kw'>nil</span><span class='rparen'>)</span>
|
659
|
+
<span class='ivar'>@value</span> <span class='op'>=</span> <span class='id identifier rubyid_opts'>opts</span><span class='period'>.</span><span class='id identifier rubyid_fetch'>fetch</span><span class='lparen'>(</span><span class='symbol'>:value</span><span class='comma'>,</span> <span class='kw'>nil</span><span class='rparen'>)</span>
|
660
|
+
<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='kw'>self</span><span class='rparen'>)</span> <span class='kw'>if</span> <span class='id identifier rubyid_block'>block</span>
|
661
|
+
<span class='kw'>end</span></pre>
|
662
|
+
</td>
|
663
|
+
</tr>
|
664
|
+
</table>
|
665
|
+
</div>
|
666
|
+
|
667
|
+
</div>
|
668
|
+
|
669
|
+
<div id="instance_attr_details" class="attr_details">
|
670
|
+
<h2>Instance Attribute Details</h2>
|
671
|
+
|
672
|
+
|
673
|
+
<span id="child_nodes=-instance_method"></span>
|
674
|
+
<div class="method_details first">
|
675
|
+
<h3 class="signature first" id="child_nodes-instance_method">
|
676
|
+
|
677
|
+
#<strong>child_nodes</strong> ⇒ <tt>Array<<span class='object_link'><a href="" title="TermUtils::PropertyTreeNode (class)">PropertyTreeNode</a></span>></tt>
|
678
|
+
|
679
|
+
|
680
|
+
|
681
|
+
|
682
|
+
|
683
|
+
</h3><div class="docstring">
|
684
|
+
<div class="discussion">
|
685
|
+
|
686
|
+
|
687
|
+
</div>
|
688
|
+
</div>
|
689
|
+
<div class="tags">
|
690
|
+
|
691
|
+
<p class="tag_title">Returns:</p>
|
692
|
+
<ul class="return">
|
693
|
+
|
694
|
+
<li>
|
695
|
+
|
696
|
+
|
697
|
+
<span class='type'>(<tt>Array<<span class='object_link'><a href="" title="TermUtils::PropertyTreeNode (class)">PropertyTreeNode</a></span>></tt>)</span>
|
698
|
+
|
699
|
+
|
700
|
+
|
701
|
+
</li>
|
702
|
+
|
703
|
+
</ul>
|
704
|
+
|
705
|
+
</div><table class="source_code">
|
706
|
+
<tr>
|
707
|
+
<td>
|
708
|
+
<pre class="lines">
|
709
|
+
|
710
|
+
|
711
|
+
25
|
712
|
+
26
|
713
|
+
27</pre>
|
714
|
+
</td>
|
715
|
+
<td>
|
716
|
+
<pre class="code"><span class="info file"># File 'lib/term_utils/property_tree_node.rb', line 25</span>
|
717
|
+
|
718
|
+
<span class='kw'>def</span> <span class='id identifier rubyid_child_nodes'>child_nodes</span>
|
719
|
+
<span class='ivar'>@child_nodes</span>
|
720
|
+
<span class='kw'>end</span></pre>
|
721
|
+
</td>
|
722
|
+
</tr>
|
723
|
+
</table>
|
724
|
+
</div>
|
725
|
+
|
726
|
+
|
727
|
+
<span id="key=-instance_method"></span>
|
728
|
+
<div class="method_details ">
|
729
|
+
<h3 class="signature " id="key-instance_method">
|
730
|
+
|
731
|
+
#<strong>key</strong> ⇒ <tt>Object</tt>
|
732
|
+
|
733
|
+
|
734
|
+
|
735
|
+
|
736
|
+
|
737
|
+
</h3><div class="docstring">
|
738
|
+
<div class="discussion">
|
739
|
+
|
740
|
+
|
741
|
+
</div>
|
742
|
+
</div>
|
743
|
+
<div class="tags">
|
744
|
+
|
745
|
+
<p class="tag_title">Returns:</p>
|
746
|
+
<ul class="return">
|
747
|
+
|
748
|
+
<li>
|
749
|
+
|
750
|
+
|
751
|
+
<span class='type'>(<tt>Object</tt>)</span>
|
752
|
+
|
753
|
+
|
754
|
+
|
755
|
+
</li>
|
756
|
+
|
757
|
+
</ul>
|
758
|
+
|
759
|
+
</div><table class="source_code">
|
760
|
+
<tr>
|
761
|
+
<td>
|
762
|
+
<pre class="lines">
|
763
|
+
|
764
|
+
|
765
|
+
27
|
766
|
+
28
|
767
|
+
29</pre>
|
768
|
+
</td>
|
769
|
+
<td>
|
770
|
+
<pre class="code"><span class="info file"># File 'lib/term_utils/property_tree_node.rb', line 27</span>
|
771
|
+
|
772
|
+
<span class='kw'>def</span> <span class='id identifier rubyid_key'>key</span>
|
773
|
+
<span class='ivar'>@key</span>
|
774
|
+
<span class='kw'>end</span></pre>
|
775
|
+
</td>
|
776
|
+
</tr>
|
777
|
+
</table>
|
778
|
+
</div>
|
779
|
+
|
780
|
+
|
781
|
+
<span id="parent_node=-instance_method"></span>
|
782
|
+
<div class="method_details ">
|
783
|
+
<h3 class="signature " id="parent_node-instance_method">
|
784
|
+
|
785
|
+
#<strong>parent_node</strong> ⇒ <tt><span class='object_link'><a href="" title="TermUtils::PropertyTreeNode (class)">PropertyTreeNode</a></span></tt>
|
786
|
+
|
787
|
+
|
788
|
+
|
789
|
+
|
790
|
+
|
791
|
+
</h3><div class="docstring">
|
792
|
+
<div class="discussion">
|
793
|
+
|
794
|
+
|
795
|
+
</div>
|
796
|
+
</div>
|
797
|
+
<div class="tags">
|
798
|
+
|
799
|
+
<p class="tag_title">Returns:</p>
|
800
|
+
<ul class="return">
|
801
|
+
|
802
|
+
<li>
|
803
|
+
|
804
|
+
|
805
|
+
<span class='type'>(<tt><span class='object_link'><a href="" title="TermUtils::PropertyTreeNode (class)">PropertyTreeNode</a></span></tt>)</span>
|
806
|
+
|
807
|
+
|
808
|
+
|
809
|
+
</li>
|
810
|
+
|
811
|
+
</ul>
|
812
|
+
|
813
|
+
</div><table class="source_code">
|
814
|
+
<tr>
|
815
|
+
<td>
|
816
|
+
<pre class="lines">
|
817
|
+
|
818
|
+
|
819
|
+
23
|
820
|
+
24
|
821
|
+
25</pre>
|
822
|
+
</td>
|
823
|
+
<td>
|
824
|
+
<pre class="code"><span class="info file"># File 'lib/term_utils/property_tree_node.rb', line 23</span>
|
825
|
+
|
826
|
+
<span class='kw'>def</span> <span class='id identifier rubyid_parent_node'>parent_node</span>
|
827
|
+
<span class='ivar'>@parent_node</span>
|
828
|
+
<span class='kw'>end</span></pre>
|
829
|
+
</td>
|
830
|
+
</tr>
|
831
|
+
</table>
|
832
|
+
</div>
|
833
|
+
|
834
|
+
|
835
|
+
<span id="value=-instance_method"></span>
|
836
|
+
<div class="method_details ">
|
837
|
+
<h3 class="signature " id="value-instance_method">
|
838
|
+
|
839
|
+
#<strong>value</strong> ⇒ <tt>Object</tt>
|
840
|
+
|
841
|
+
|
842
|
+
|
843
|
+
|
844
|
+
|
845
|
+
</h3><div class="docstring">
|
846
|
+
<div class="discussion">
|
847
|
+
|
848
|
+
|
849
|
+
</div>
|
850
|
+
</div>
|
851
|
+
<div class="tags">
|
852
|
+
|
853
|
+
<p class="tag_title">Returns:</p>
|
854
|
+
<ul class="return">
|
855
|
+
|
856
|
+
<li>
|
857
|
+
|
858
|
+
|
859
|
+
<span class='type'>(<tt>Object</tt>)</span>
|
860
|
+
|
861
|
+
|
862
|
+
|
863
|
+
</li>
|
864
|
+
|
865
|
+
</ul>
|
866
|
+
|
867
|
+
</div><table class="source_code">
|
868
|
+
<tr>
|
869
|
+
<td>
|
870
|
+
<pre class="lines">
|
871
|
+
|
872
|
+
|
873
|
+
29
|
874
|
+
30
|
875
|
+
31</pre>
|
876
|
+
</td>
|
877
|
+
<td>
|
878
|
+
<pre class="code"><span class="info file"># File 'lib/term_utils/property_tree_node.rb', line 29</span>
|
879
|
+
|
880
|
+
<span class='kw'>def</span> <span class='id identifier rubyid_value'>value</span>
|
881
|
+
<span class='ivar'>@value</span>
|
882
|
+
<span class='kw'>end</span></pre>
|
883
|
+
</td>
|
884
|
+
</tr>
|
885
|
+
</table>
|
886
|
+
</div>
|
887
|
+
|
888
|
+
</div>
|
889
|
+
|
890
|
+
|
891
|
+
<div id="instance_method_details" class="method_details_list">
|
892
|
+
<h2>Instance Method Details</h2>
|
893
|
+
|
894
|
+
|
895
|
+
<div class="method_details first">
|
896
|
+
<h3 class="signature first" id="child_node-instance_method">
|
897
|
+
|
898
|
+
#<strong>child_node</strong>(key) ⇒ <tt><span class='object_link'><a href="" title="TermUtils::PropertyTreeNode (class)">PropertyTreeNode</a></span></tt><sup>?</sup>
|
899
|
+
|
900
|
+
|
901
|
+
|
902
|
+
|
903
|
+
|
904
|
+
</h3><div class="docstring">
|
905
|
+
<div class="discussion">
|
906
|
+
|
907
|
+
<p>Returns the child node identified by a given key.</p>
|
908
|
+
|
909
|
+
|
910
|
+
</div>
|
911
|
+
</div>
|
912
|
+
<div class="tags">
|
913
|
+
<p class="tag_title">Parameters:</p>
|
914
|
+
<ul class="param">
|
915
|
+
|
916
|
+
<li>
|
917
|
+
|
918
|
+
<span class='name'>key</span>
|
919
|
+
|
920
|
+
|
921
|
+
<span class='type'>(<tt>Object</tt>)</span>
|
922
|
+
|
923
|
+
|
924
|
+
|
925
|
+
</li>
|
926
|
+
|
927
|
+
</ul>
|
928
|
+
|
929
|
+
<p class="tag_title">Returns:</p>
|
930
|
+
<ul class="return">
|
931
|
+
|
932
|
+
<li>
|
933
|
+
|
934
|
+
|
935
|
+
<span class='type'>(<tt><span class='object_link'><a href="" title="TermUtils::PropertyTreeNode (class)">PropertyTreeNode</a></span></tt>, <tt>nil</tt>)</span>
|
936
|
+
|
937
|
+
|
938
|
+
|
939
|
+
</li>
|
940
|
+
|
941
|
+
</ul>
|
942
|
+
|
943
|
+
</div><table class="source_code">
|
944
|
+
<tr>
|
945
|
+
<td>
|
946
|
+
<pre class="lines">
|
947
|
+
|
948
|
+
|
949
|
+
72
|
950
|
+
73
|
951
|
+
74
|
952
|
+
75
|
953
|
+
76</pre>
|
954
|
+
</td>
|
955
|
+
<td>
|
956
|
+
<pre class="code"><span class="info file"># File 'lib/term_utils/property_tree_node.rb', line 72</span>
|
957
|
+
|
958
|
+
<span class='kw'>def</span> <span class='id identifier rubyid_child_node'>child_node</span><span class='lparen'>(</span><span class='id identifier rubyid_key'>key</span><span class='rparen'>)</span>
|
959
|
+
<span class='kw'>if</span> <span class='ivar'>@child_nodes</span>
|
960
|
+
<span class='ivar'>@child_nodes</span><span class='period'>.</span><span class='id identifier rubyid_find'>find</span> <span class='lbrace'>{</span> <span class='op'>|</span><span class='id identifier rubyid_n'>n</span><span class='op'>|</span> <span class='id identifier rubyid_n'>n</span><span class='period'>.</span><span class='id identifier rubyid_key'>key</span> <span class='op'>==</span> <span class='id identifier rubyid_key'>key</span> <span class='rbrace'>}</span>
|
961
|
+
<span class='kw'>end</span>
|
962
|
+
<span class='kw'>end</span></pre>
|
963
|
+
</td>
|
964
|
+
</tr>
|
965
|
+
</table>
|
966
|
+
</div>
|
967
|
+
|
968
|
+
<div class="method_details ">
|
969
|
+
<h3 class="signature " id="collect_nodes-instance_method">
|
970
|
+
|
971
|
+
#<strong>collect_nodes</strong>(opts = {}) ⇒ <tt>Array<<span class='object_link'><a href="" title="TermUtils::PropertyTreeNode (class)">PropertyTreeNode</a></span>></tt>
|
972
|
+
|
973
|
+
|
974
|
+
|
975
|
+
|
976
|
+
|
977
|
+
</h3><div class="docstring">
|
978
|
+
<div class="discussion">
|
979
|
+
|
980
|
+
<p>Collects nodes.</p>
|
981
|
+
|
982
|
+
|
983
|
+
</div>
|
984
|
+
</div>
|
985
|
+
<div class="tags">
|
986
|
+
<p class="tag_title">Parameters:</p>
|
987
|
+
<ul class="param">
|
988
|
+
|
989
|
+
<li>
|
990
|
+
|
991
|
+
<span class='name'>opts</span>
|
992
|
+
|
993
|
+
|
994
|
+
<span class='type'>(<tt>Hash</tt>)</span>
|
995
|
+
|
996
|
+
|
997
|
+
<em class="default">(defaults to: <tt>{}</tt>)</em>
|
998
|
+
|
999
|
+
|
1000
|
+
</li>
|
1001
|
+
|
1002
|
+
</ul>
|
1003
|
+
|
1004
|
+
|
1005
|
+
|
1006
|
+
|
1007
|
+
<p class="tag_title">Options Hash (<tt>opts</tt>):</p>
|
1008
|
+
<ul class="option">
|
1009
|
+
|
1010
|
+
<li>
|
1011
|
+
<span class="name">:path</span>
|
1012
|
+
<span class="type">(<tt>Array</tt>)</span>
|
1013
|
+
<span class="default">
|
1014
|
+
|
1015
|
+
</span>
|
1016
|
+
|
1017
|
+
</li>
|
1018
|
+
|
1019
|
+
<li>
|
1020
|
+
<span class="name">:leaf_only</span>
|
1021
|
+
<span class="type">(<tt>Boolean</tt>)</span>
|
1022
|
+
<span class="default">
|
1023
|
+
|
1024
|
+
</span>
|
1025
|
+
|
1026
|
+
</li>
|
1027
|
+
|
1028
|
+
</ul>
|
1029
|
+
|
1030
|
+
|
1031
|
+
<p class="tag_title">Returns:</p>
|
1032
|
+
<ul class="return">
|
1033
|
+
|
1034
|
+
<li>
|
1035
|
+
|
1036
|
+
|
1037
|
+
<span class='type'>(<tt>Array<<span class='object_link'><a href="" title="TermUtils::PropertyTreeNode (class)">PropertyTreeNode</a></span>></tt>)</span>
|
1038
|
+
|
1039
|
+
|
1040
|
+
|
1041
|
+
</li>
|
1042
|
+
|
1043
|
+
</ul>
|
1044
|
+
|
1045
|
+
</div><table class="source_code">
|
1046
|
+
<tr>
|
1047
|
+
<td>
|
1048
|
+
<pre class="lines">
|
1049
|
+
|
1050
|
+
|
1051
|
+
155
|
1052
|
+
156
|
1053
|
+
157
|
1054
|
+
158
|
1055
|
+
159
|
1056
|
+
160
|
1057
|
+
161</pre>
|
1058
|
+
</td>
|
1059
|
+
<td>
|
1060
|
+
<pre class="code"><span class="info file"># File 'lib/term_utils/property_tree_node.rb', line 155</span>
|
1061
|
+
|
1062
|
+
<span class='kw'>def</span> <span class='id identifier rubyid_collect_nodes'>collect_nodes</span><span class='lparen'>(</span><span class='id identifier rubyid_opts'>opts</span> <span class='op'>=</span> <span class='lbrace'>{</span><span class='rbrace'>}</span><span class='rparen'>)</span>
|
1063
|
+
<span class='id identifier rubyid_nodes'>nodes</span> <span class='op'>=</span> <span class='lbracket'>[</span><span class='rbracket'>]</span>
|
1064
|
+
<span class='id identifier rubyid_each_node'>each_node</span><span class='lparen'>(</span><span class='id identifier rubyid_opts'>opts</span><span class='rparen'>)</span> <span class='kw'>do</span> <span class='op'>|</span><span class='id identifier rubyid_n'>n</span><span class='op'>|</span>
|
1065
|
+
<span class='id identifier rubyid_nodes'>nodes</span> <span class='op'><<</span> <span class='id identifier rubyid_n'>n</span>
|
1066
|
+
<span class='kw'>end</span>
|
1067
|
+
<span class='id identifier rubyid_nodes'>nodes</span>
|
1068
|
+
<span class='kw'>end</span></pre>
|
1069
|
+
</td>
|
1070
|
+
</tr>
|
1071
|
+
</table>
|
1072
|
+
</div>
|
1073
|
+
|
1074
|
+
<div class="method_details ">
|
1075
|
+
<h3 class="signature " id="collect_paths-instance_method">
|
1076
|
+
|
1077
|
+
#<strong>collect_paths</strong>(opts = {}) ⇒ <tt>Array<Array<Object>></tt>
|
1078
|
+
|
1079
|
+
|
1080
|
+
|
1081
|
+
|
1082
|
+
|
1083
|
+
</h3><div class="docstring">
|
1084
|
+
<div class="discussion">
|
1085
|
+
|
1086
|
+
<p>Collects node paths.</p>
|
1087
|
+
|
1088
|
+
|
1089
|
+
</div>
|
1090
|
+
</div>
|
1091
|
+
<div class="tags">
|
1092
|
+
<p class="tag_title">Parameters:</p>
|
1093
|
+
<ul class="param">
|
1094
|
+
|
1095
|
+
<li>
|
1096
|
+
|
1097
|
+
<span class='name'>opts</span>
|
1098
|
+
|
1099
|
+
|
1100
|
+
<span class='type'>(<tt>Hash</tt>)</span>
|
1101
|
+
|
1102
|
+
|
1103
|
+
<em class="default">(defaults to: <tt>{}</tt>)</em>
|
1104
|
+
|
1105
|
+
|
1106
|
+
</li>
|
1107
|
+
|
1108
|
+
</ul>
|
1109
|
+
|
1110
|
+
|
1111
|
+
|
1112
|
+
|
1113
|
+
<p class="tag_title">Options Hash (<tt>opts</tt>):</p>
|
1114
|
+
<ul class="option">
|
1115
|
+
|
1116
|
+
<li>
|
1117
|
+
<span class="name">:path</span>
|
1118
|
+
<span class="type">(<tt>Array</tt>)</span>
|
1119
|
+
<span class="default">
|
1120
|
+
|
1121
|
+
</span>
|
1122
|
+
|
1123
|
+
</li>
|
1124
|
+
|
1125
|
+
<li>
|
1126
|
+
<span class="name">:leaf_only</span>
|
1127
|
+
<span class="type">(<tt>Boolean</tt>)</span>
|
1128
|
+
<span class="default">
|
1129
|
+
|
1130
|
+
</span>
|
1131
|
+
|
1132
|
+
</li>
|
1133
|
+
|
1134
|
+
</ul>
|
1135
|
+
|
1136
|
+
|
1137
|
+
<p class="tag_title">Returns:</p>
|
1138
|
+
<ul class="return">
|
1139
|
+
|
1140
|
+
<li>
|
1141
|
+
|
1142
|
+
|
1143
|
+
<span class='type'>(<tt>Array<Array<Object>></tt>)</span>
|
1144
|
+
|
1145
|
+
|
1146
|
+
|
1147
|
+
</li>
|
1148
|
+
|
1149
|
+
</ul>
|
1150
|
+
|
1151
|
+
</div><table class="source_code">
|
1152
|
+
<tr>
|
1153
|
+
<td>
|
1154
|
+
<pre class="lines">
|
1155
|
+
|
1156
|
+
|
1157
|
+
168
|
1158
|
+
169
|
1159
|
+
170
|
1160
|
+
171
|
1161
|
+
172
|
1162
|
+
173
|
1163
|
+
174</pre>
|
1164
|
+
</td>
|
1165
|
+
<td>
|
1166
|
+
<pre class="code"><span class="info file"># File 'lib/term_utils/property_tree_node.rb', line 168</span>
|
1167
|
+
|
1168
|
+
<span class='kw'>def</span> <span class='id identifier rubyid_collect_paths'>collect_paths</span><span class='lparen'>(</span><span class='id identifier rubyid_opts'>opts</span> <span class='op'>=</span> <span class='lbrace'>{</span><span class='rbrace'>}</span><span class='rparen'>)</span>
|
1169
|
+
<span class='id identifier rubyid_paths'>paths</span> <span class='op'>=</span> <span class='lbracket'>[</span><span class='rbracket'>]</span>
|
1170
|
+
<span class='id identifier rubyid_each_node'>each_node</span><span class='lparen'>(</span><span class='id identifier rubyid_opts'>opts</span><span class='rparen'>)</span> <span class='kw'>do</span> <span class='op'>|</span><span class='id identifier rubyid_n'>n</span><span class='op'>|</span>
|
1171
|
+
<span class='id identifier rubyid_paths'>paths</span> <span class='op'><<</span> <span class='id identifier rubyid_n'>n</span><span class='period'>.</span><span class='id identifier rubyid_path'>path</span>
|
1172
|
+
<span class='kw'>end</span>
|
1173
|
+
<span class='id identifier rubyid_paths'>paths</span>
|
1174
|
+
<span class='kw'>end</span></pre>
|
1175
|
+
</td>
|
1176
|
+
</tr>
|
1177
|
+
</table>
|
1178
|
+
</div>
|
1179
|
+
|
1180
|
+
<div class="method_details ">
|
1181
|
+
<h3 class="signature " id="collect_values-instance_method">
|
1182
|
+
|
1183
|
+
#<strong>collect_values</strong>(opts = {}) ⇒ <tt>Array<Object></tt>
|
1184
|
+
|
1185
|
+
|
1186
|
+
|
1187
|
+
|
1188
|
+
|
1189
|
+
</h3><div class="docstring">
|
1190
|
+
<div class="discussion">
|
1191
|
+
|
1192
|
+
<p>Collect node values.</p>
|
1193
|
+
|
1194
|
+
|
1195
|
+
</div>
|
1196
|
+
</div>
|
1197
|
+
<div class="tags">
|
1198
|
+
<p class="tag_title">Parameters:</p>
|
1199
|
+
<ul class="param">
|
1200
|
+
|
1201
|
+
<li>
|
1202
|
+
|
1203
|
+
<span class='name'>opts</span>
|
1204
|
+
|
1205
|
+
|
1206
|
+
<span class='type'>(<tt>Hash</tt>)</span>
|
1207
|
+
|
1208
|
+
|
1209
|
+
<em class="default">(defaults to: <tt>{}</tt>)</em>
|
1210
|
+
|
1211
|
+
|
1212
|
+
</li>
|
1213
|
+
|
1214
|
+
</ul>
|
1215
|
+
|
1216
|
+
|
1217
|
+
|
1218
|
+
|
1219
|
+
<p class="tag_title">Options Hash (<tt>opts</tt>):</p>
|
1220
|
+
<ul class="option">
|
1221
|
+
|
1222
|
+
<li>
|
1223
|
+
<span class="name">:path</span>
|
1224
|
+
<span class="type">(<tt>Array</tt>)</span>
|
1225
|
+
<span class="default">
|
1226
|
+
|
1227
|
+
</span>
|
1228
|
+
|
1229
|
+
</li>
|
1230
|
+
|
1231
|
+
<li>
|
1232
|
+
<span class="name">:leaf_only</span>
|
1233
|
+
<span class="type">(<tt>Boolean</tt>)</span>
|
1234
|
+
<span class="default">
|
1235
|
+
|
1236
|
+
</span>
|
1237
|
+
|
1238
|
+
</li>
|
1239
|
+
|
1240
|
+
</ul>
|
1241
|
+
|
1242
|
+
|
1243
|
+
<p class="tag_title">Returns:</p>
|
1244
|
+
<ul class="return">
|
1245
|
+
|
1246
|
+
<li>
|
1247
|
+
|
1248
|
+
|
1249
|
+
<span class='type'>(<tt>Array<Object></tt>)</span>
|
1250
|
+
|
1251
|
+
|
1252
|
+
|
1253
|
+
</li>
|
1254
|
+
|
1255
|
+
</ul>
|
1256
|
+
|
1257
|
+
</div><table class="source_code">
|
1258
|
+
<tr>
|
1259
|
+
<td>
|
1260
|
+
<pre class="lines">
|
1261
|
+
|
1262
|
+
|
1263
|
+
181
|
1264
|
+
182
|
1265
|
+
183
|
1266
|
+
184
|
1267
|
+
185
|
1268
|
+
186
|
1269
|
+
187</pre>
|
1270
|
+
</td>
|
1271
|
+
<td>
|
1272
|
+
<pre class="code"><span class="info file"># File 'lib/term_utils/property_tree_node.rb', line 181</span>
|
1273
|
+
|
1274
|
+
<span class='kw'>def</span> <span class='id identifier rubyid_collect_values'>collect_values</span><span class='lparen'>(</span><span class='id identifier rubyid_opts'>opts</span> <span class='op'>=</span> <span class='lbrace'>{</span><span class='rbrace'>}</span><span class='rparen'>)</span>
|
1275
|
+
<span class='id identifier rubyid_vals'>vals</span> <span class='op'>=</span> <span class='lbracket'>[</span><span class='rbracket'>]</span>
|
1276
|
+
<span class='id identifier rubyid_each_node'>each_node</span><span class='lparen'>(</span><span class='id identifier rubyid_opts'>opts</span><span class='rparen'>)</span> <span class='kw'>do</span> <span class='op'>|</span><span class='id identifier rubyid_n'>n</span><span class='op'>|</span>
|
1277
|
+
<span class='id identifier rubyid_vals'>vals</span> <span class='op'><<</span> <span class='id identifier rubyid_n'>n</span><span class='period'>.</span><span class='id identifier rubyid_value'>value</span> <span class='kw'>if</span> <span class='id identifier rubyid_n'>n</span><span class='period'>.</span><span class='id identifier rubyid_value'>value</span>
|
1278
|
+
<span class='kw'>end</span>
|
1279
|
+
<span class='id identifier rubyid_vals'>vals</span>
|
1280
|
+
<span class='kw'>end</span></pre>
|
1281
|
+
</td>
|
1282
|
+
</tr>
|
1283
|
+
</table>
|
1284
|
+
</div>
|
1285
|
+
|
1286
|
+
<div class="method_details ">
|
1287
|
+
<h3 class="signature " id="define_node-instance_method">
|
1288
|
+
|
1289
|
+
#<strong>define_node</strong>(opts = {}, &block) ⇒ <tt><span class='object_link'><a href="" title="TermUtils::PropertyTreeNode (class)">PropertyTreeNode</a></span></tt>
|
1290
|
+
|
1291
|
+
|
1292
|
+
|
1293
|
+
|
1294
|
+
|
1295
|
+
</h3><div class="docstring">
|
1296
|
+
<div class="discussion">
|
1297
|
+
|
1298
|
+
<p>Creates a new node and adds it as a child.</p>
|
1299
|
+
|
1300
|
+
|
1301
|
+
</div>
|
1302
|
+
</div>
|
1303
|
+
<div class="tags">
|
1304
|
+
<p class="tag_title">Parameters:</p>
|
1305
|
+
<ul class="param">
|
1306
|
+
|
1307
|
+
<li>
|
1308
|
+
|
1309
|
+
<span class='name'>opts</span>
|
1310
|
+
|
1311
|
+
|
1312
|
+
<span class='type'>(<tt>Hash</tt>)</span>
|
1313
|
+
|
1314
|
+
|
1315
|
+
<em class="default">(defaults to: <tt>{}</tt>)</em>
|
1316
|
+
|
1317
|
+
|
1318
|
+
</li>
|
1319
|
+
|
1320
|
+
</ul>
|
1321
|
+
|
1322
|
+
|
1323
|
+
|
1324
|
+
|
1325
|
+
<p class="tag_title">Options Hash (<tt>opts</tt>):</p>
|
1326
|
+
<ul class="option">
|
1327
|
+
|
1328
|
+
<li>
|
1329
|
+
<span class="name">:key</span>
|
1330
|
+
<span class="type">(<tt>Object</tt>)</span>
|
1331
|
+
<span class="default">
|
1332
|
+
|
1333
|
+
</span>
|
1334
|
+
|
1335
|
+
</li>
|
1336
|
+
|
1337
|
+
<li>
|
1338
|
+
<span class="name">:value</span>
|
1339
|
+
<span class="type">(<tt>Object</tt>)</span>
|
1340
|
+
<span class="default">
|
1341
|
+
|
1342
|
+
</span>
|
1343
|
+
|
1344
|
+
</li>
|
1345
|
+
|
1346
|
+
</ul>
|
1347
|
+
|
1348
|
+
|
1349
|
+
|
1350
|
+
|
1351
|
+
<p class="tag_title">Returns:</p>
|
1352
|
+
<ul class="return">
|
1353
|
+
|
1354
|
+
<li>
|
1355
|
+
|
1356
|
+
|
1357
|
+
<span class='type'>(<tt><span class='object_link'><a href="" title="TermUtils::PropertyTreeNode (class)">PropertyTreeNode</a></span></tt>)</span>
|
1358
|
+
|
1359
|
+
|
1360
|
+
|
1361
|
+
</li>
|
1362
|
+
|
1363
|
+
</ul>
|
1364
|
+
|
1365
|
+
</div><table class="source_code">
|
1366
|
+
<tr>
|
1367
|
+
<td>
|
1368
|
+
<pre class="lines">
|
1369
|
+
|
1370
|
+
|
1371
|
+
83
|
1372
|
+
84
|
1373
|
+
85
|
1374
|
+
86
|
1375
|
+
87
|
1376
|
+
88
|
1377
|
+
89
|
1378
|
+
90</pre>
|
1379
|
+
</td>
|
1380
|
+
<td>
|
1381
|
+
<pre class="code"><span class="info file"># File 'lib/term_utils/property_tree_node.rb', line 83</span>
|
1382
|
+
|
1383
|
+
<span class='kw'>def</span> <span class='id identifier rubyid_define_node'>define_node</span><span class='lparen'>(</span><span class='id identifier rubyid_opts'>opts</span> <span class='op'>=</span> <span class='lbrace'>{</span><span class='rbrace'>}</span><span class='comma'>,</span> <span class='op'>&</span><span class='id identifier rubyid_block'>block</span><span class='rparen'>)</span>
|
1384
|
+
<span class='id identifier rubyid_new_node'>new_node</span> <span class='op'>=</span> <span class='const'><span class='object_link'><a href="../TermUtils.html" title="TermUtils (module)">TermUtils</a></span></span><span class='op'>::</span><span class='const'><span class='object_link'><a href="" title="TermUtils::PropertyTreeNode (class)">PropertyTreeNode</a></span></span><span class='period'>.</span><span class='id identifier rubyid_new'><span class='object_link'><a href="#initialize-instance_method" title="TermUtils::PropertyTreeNode#initialize (method)">new</a></span></span><span class='lparen'>(</span><span class='id identifier rubyid_opts'>opts</span><span class='rparen'>)</span>
|
1385
|
+
<span class='id identifier rubyid_new_node'>new_node</span><span class='period'>.</span><span class='id identifier rubyid_parent_node'>parent_node</span> <span class='op'>=</span> <span class='kw'>self</span>
|
1386
|
+
<span class='ivar'>@child_nodes</span> <span class='op'>=</span> <span class='lbracket'>[</span><span class='rbracket'>]</span> <span class='kw'>unless</span> <span class='ivar'>@child_nodes</span>
|
1387
|
+
<span class='ivar'>@child_nodes</span> <span class='op'><<</span> <span class='id identifier rubyid_new_node'>new_node</span>
|
1388
|
+
<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='id identifier rubyid_new_node'>new_node</span><span class='rparen'>)</span> <span class='kw'>if</span> <span class='id identifier rubyid_block'>block</span>
|
1389
|
+
<span class='id identifier rubyid_new_node'>new_node</span>
|
1390
|
+
<span class='kw'>end</span></pre>
|
1391
|
+
</td>
|
1392
|
+
</tr>
|
1393
|
+
</table>
|
1394
|
+
</div>
|
1395
|
+
|
1396
|
+
<div class="method_details ">
|
1397
|
+
<h3 class="signature " id="each_node-instance_method">
|
1398
|
+
|
1399
|
+
#<strong>each_node</strong>(opts = {}, &block) ⇒ <tt>nil</tt>
|
1400
|
+
|
1401
|
+
|
1402
|
+
|
1403
|
+
|
1404
|
+
|
1405
|
+
</h3><div class="docstring">
|
1406
|
+
<div class="discussion">
|
1407
|
+
|
1408
|
+
<p>Iterates over every node.</p>
|
1409
|
+
|
1410
|
+
|
1411
|
+
</div>
|
1412
|
+
</div>
|
1413
|
+
<div class="tags">
|
1414
|
+
<p class="tag_title">Parameters:</p>
|
1415
|
+
<ul class="param">
|
1416
|
+
|
1417
|
+
<li>
|
1418
|
+
|
1419
|
+
<span class='name'>opts</span>
|
1420
|
+
|
1421
|
+
|
1422
|
+
<span class='type'>(<tt>Hash</tt>)</span>
|
1423
|
+
|
1424
|
+
|
1425
|
+
<em class="default">(defaults to: <tt>{}</tt>)</em>
|
1426
|
+
|
1427
|
+
|
1428
|
+
</li>
|
1429
|
+
|
1430
|
+
</ul>
|
1431
|
+
|
1432
|
+
|
1433
|
+
|
1434
|
+
|
1435
|
+
<p class="tag_title">Options Hash (<tt>opts</tt>):</p>
|
1436
|
+
<ul class="option">
|
1437
|
+
|
1438
|
+
<li>
|
1439
|
+
<span class="name">:path</span>
|
1440
|
+
<span class="type">(<tt>Array</tt>)</span>
|
1441
|
+
<span class="default">
|
1442
|
+
|
1443
|
+
</span>
|
1444
|
+
|
1445
|
+
</li>
|
1446
|
+
|
1447
|
+
<li>
|
1448
|
+
<span class="name">:leaf_only</span>
|
1449
|
+
<span class="type">(<tt>Boolean</tt>)</span>
|
1450
|
+
<span class="default">
|
1451
|
+
|
1452
|
+
</span>
|
1453
|
+
|
1454
|
+
</li>
|
1455
|
+
|
1456
|
+
</ul>
|
1457
|
+
|
1458
|
+
|
1459
|
+
|
1460
|
+
|
1461
|
+
<p class="tag_title">Returns:</p>
|
1462
|
+
<ul class="return">
|
1463
|
+
|
1464
|
+
<li>
|
1465
|
+
|
1466
|
+
|
1467
|
+
<span class='type'>(<tt>nil</tt>)</span>
|
1468
|
+
|
1469
|
+
|
1470
|
+
|
1471
|
+
</li>
|
1472
|
+
|
1473
|
+
</ul>
|
1474
|
+
|
1475
|
+
</div><table class="source_code">
|
1476
|
+
<tr>
|
1477
|
+
<td>
|
1478
|
+
<pre class="lines">
|
1479
|
+
|
1480
|
+
|
1481
|
+
105
|
1482
|
+
106
|
1483
|
+
107
|
1484
|
+
108
|
1485
|
+
109
|
1486
|
+
110
|
1487
|
+
111
|
1488
|
+
112
|
1489
|
+
113
|
1490
|
+
114
|
1491
|
+
115
|
1492
|
+
116
|
1493
|
+
117
|
1494
|
+
118
|
1495
|
+
119
|
1496
|
+
120
|
1497
|
+
121
|
1498
|
+
122
|
1499
|
+
123
|
1500
|
+
124
|
1501
|
+
125
|
1502
|
+
126
|
1503
|
+
127
|
1504
|
+
128
|
1505
|
+
129
|
1506
|
+
130
|
1507
|
+
131
|
1508
|
+
132
|
1509
|
+
133
|
1510
|
+
134
|
1511
|
+
135
|
1512
|
+
136
|
1513
|
+
137
|
1514
|
+
138
|
1515
|
+
139
|
1516
|
+
140
|
1517
|
+
141
|
1518
|
+
142
|
1519
|
+
143
|
1520
|
+
144
|
1521
|
+
145
|
1522
|
+
146
|
1523
|
+
147
|
1524
|
+
148</pre>
|
1525
|
+
</td>
|
1526
|
+
<td>
|
1527
|
+
<pre class="code"><span class="info file"># File 'lib/term_utils/property_tree_node.rb', line 105</span>
|
1528
|
+
|
1529
|
+
<span class='kw'>def</span> <span class='id identifier rubyid_each_node'>each_node</span><span class='lparen'>(</span><span class='id identifier rubyid_opts'>opts</span> <span class='op'>=</span> <span class='lbrace'>{</span><span class='rbrace'>}</span><span class='comma'>,</span> <span class='op'>&</span><span class='id identifier rubyid_block'>block</span><span class='rparen'>)</span>
|
1530
|
+
<span class='id identifier rubyid_rpath'>rpath</span> <span class='op'>=</span> <span class='kw'>nil</span>
|
1531
|
+
<span class='kw'>if</span> <span class='id identifier rubyid_opts'>opts</span><span class='period'>.</span><span class='id identifier rubyid_key?'>key?</span> <span class='symbol'>:path</span>
|
1532
|
+
<span class='id identifier rubyid_rpath'>rpath</span> <span class='op'>=</span> <span class='id identifier rubyid_opts'>opts</span><span class='lbracket'>[</span><span class='symbol'>:path</span><span class='rbracket'>]</span><span class='period'>.</span><span class='id identifier rubyid_dup'>dup</span>
|
1533
|
+
<span class='kw'>end</span>
|
1534
|
+
<span class='id identifier rubyid_dive'>dive</span> <span class='op'>=</span> <span class='kw'>true</span>
|
1535
|
+
<span class='kw'>if</span> <span class='ivar'>@key</span>
|
1536
|
+
<span class='id identifier rubyid_hide'>hide</span> <span class='op'>=</span> <span class='kw'>false</span>
|
1537
|
+
<span class='kw'>if</span> <span class='id identifier rubyid_rpath'>rpath</span>
|
1538
|
+
<span class='kw'>if</span> <span class='id identifier rubyid_rpath'>rpath</span><span class='period'>.</span><span class='id identifier rubyid_shift'>shift</span> <span class='op'>==</span> <span class='ivar'>@key</span>
|
1539
|
+
<span class='kw'>unless</span> <span class='id identifier rubyid_rpath'>rpath</span><span class='period'>.</span><span class='id identifier rubyid_empty?'>empty?</span>
|
1540
|
+
<span class='id identifier rubyid_hide'>hide</span> <span class='op'>=</span> <span class='kw'>true</span>
|
1541
|
+
<span class='kw'>end</span>
|
1542
|
+
<span class='kw'>else</span>
|
1543
|
+
<span class='id identifier rubyid_dive'>dive</span> <span class='op'>=</span> <span class='kw'>false</span>
|
1544
|
+
<span class='id identifier rubyid_hide'>hide</span> <span class='op'>=</span> <span class='kw'>true</span>
|
1545
|
+
<span class='kw'>end</span>
|
1546
|
+
<span class='kw'>end</span>
|
1547
|
+
<span class='kw'>unless</span> <span class='id identifier rubyid_hide'>hide</span> <span class='op'>||</span> <span class='lparen'>(</span><span class='id identifier rubyid_opts'>opts</span><span class='lbracket'>[</span><span class='symbol'>:leaf_only</span><span class='rbracket'>]</span> <span class='op'>&&</span> <span class='ivar'>@child_nodes</span><span class='rparen'>)</span>
|
1548
|
+
<span class='kw'>if</span> <span class='id identifier rubyid_opts'>opts</span><span class='period'>.</span><span class='id identifier rubyid_key?'>key?</span> <span class='symbol'>:block</span>
|
1549
|
+
<span class='id identifier rubyid_opts'>opts</span><span class='lbracket'>[</span><span class='symbol'>:block</span><span class='rbracket'>]</span><span class='period'>.</span><span class='id identifier rubyid_call'>call</span><span class='lparen'>(</span><span class='kw'>self</span><span class='rparen'>)</span>
|
1550
|
+
<span class='kw'>elsif</span> <span class='id identifier rubyid_block'>block</span>
|
1551
|
+
<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='kw'>self</span><span class='rparen'>)</span>
|
1552
|
+
<span class='kw'>end</span>
|
1553
|
+
<span class='kw'>end</span>
|
1554
|
+
<span class='kw'>end</span> <span class='comment'># if @key
|
1555
|
+
</span> <span class='kw'>if</span> <span class='id identifier rubyid_dive'>dive</span> <span class='op'>&&</span> <span class='ivar'>@child_nodes</span>
|
1556
|
+
<span class='id identifier rubyid_ropts'>ropts</span> <span class='op'>=</span> <span class='id identifier rubyid_opts'>opts</span><span class='period'>.</span><span class='id identifier rubyid_dup'>dup</span>
|
1557
|
+
<span class='kw'>if</span> <span class='id identifier rubyid_rpath'>rpath</span>
|
1558
|
+
<span class='kw'>if</span> <span class='id identifier rubyid_rpath'>rpath</span><span class='period'>.</span><span class='id identifier rubyid_empty?'>empty?</span>
|
1559
|
+
<span class='id identifier rubyid_ropts'>ropts</span><span class='period'>.</span><span class='id identifier rubyid_delete'>delete</span> <span class='symbol'>:path</span>
|
1560
|
+
<span class='kw'>else</span>
|
1561
|
+
<span class='id identifier rubyid_ropts'>ropts</span><span class='lbracket'>[</span><span class='symbol'>:path</span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='id identifier rubyid_rpath'>rpath</span>
|
1562
|
+
<span class='kw'>end</span>
|
1563
|
+
<span class='kw'>end</span>
|
1564
|
+
<span class='kw'>if</span> <span class='id identifier rubyid_block'>block</span>
|
1565
|
+
<span class='id identifier rubyid_ropts'>ropts</span><span class='lbracket'>[</span><span class='symbol'>:block</span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='id identifier rubyid_block'>block</span>
|
1566
|
+
<span class='kw'>end</span>
|
1567
|
+
<span class='ivar'>@child_nodes</span><span class='period'>.</span><span class='id identifier rubyid_each'>each</span> <span class='kw'>do</span> <span class='op'>|</span><span class='id identifier rubyid_n'>n</span><span class='op'>|</span>
|
1568
|
+
<span class='id identifier rubyid_n'>n</span><span class='period'>.</span><span class='id identifier rubyid_each_node'>each_node</span><span class='lparen'>(</span><span class='id identifier rubyid_ropts'>ropts</span><span class='rparen'>)</span>
|
1569
|
+
<span class='kw'>end</span>
|
1570
|
+
<span class='kw'>end</span>
|
1571
|
+
<span class='kw'>nil</span>
|
1572
|
+
<span class='kw'>end</span></pre>
|
1573
|
+
</td>
|
1574
|
+
</tr>
|
1575
|
+
</table>
|
1576
|
+
</div>
|
1577
|
+
|
1578
|
+
<div class="method_details ">
|
1579
|
+
<h3 class="signature " id="eval_child_count-instance_method">
|
1580
|
+
|
1581
|
+
#<strong>eval_child_count</strong>(path) ⇒ <tt>Integer</tt>
|
1582
|
+
|
1583
|
+
|
1584
|
+
|
1585
|
+
|
1586
|
+
|
1587
|
+
</h3><div class="docstring">
|
1588
|
+
<div class="discussion">
|
1589
|
+
|
1590
|
+
<p>Evaluates the total number of nodes in the tree represented by this one.</p>
|
1591
|
+
|
1592
|
+
|
1593
|
+
</div>
|
1594
|
+
</div>
|
1595
|
+
<div class="tags">
|
1596
|
+
<p class="tag_title">Parameters:</p>
|
1597
|
+
<ul class="param">
|
1598
|
+
|
1599
|
+
<li>
|
1600
|
+
|
1601
|
+
<span class='name'>path</span>
|
1602
|
+
|
1603
|
+
|
1604
|
+
<span class='type'>(<tt>Array<Object></tt>)</span>
|
1605
|
+
|
1606
|
+
|
1607
|
+
|
1608
|
+
</li>
|
1609
|
+
|
1610
|
+
</ul>
|
1611
|
+
|
1612
|
+
<p class="tag_title">Returns:</p>
|
1613
|
+
<ul class="return">
|
1614
|
+
|
1615
|
+
<li>
|
1616
|
+
|
1617
|
+
|
1618
|
+
<span class='type'>(<tt>Integer</tt>)</span>
|
1619
|
+
|
1620
|
+
|
1621
|
+
|
1622
|
+
</li>
|
1623
|
+
|
1624
|
+
</ul>
|
1625
|
+
|
1626
|
+
</div><table class="source_code">
|
1627
|
+
<tr>
|
1628
|
+
<td>
|
1629
|
+
<pre class="lines">
|
1630
|
+
|
1631
|
+
|
1632
|
+
211
|
1633
|
+
212
|
1634
|
+
213
|
1635
|
+
214
|
1636
|
+
215
|
1637
|
+
216</pre>
|
1638
|
+
</td>
|
1639
|
+
<td>
|
1640
|
+
<pre class="code"><span class="info file"># File 'lib/term_utils/property_tree_node.rb', line 211</span>
|
1641
|
+
|
1642
|
+
<span class='kw'>def</span> <span class='id identifier rubyid_eval_child_count'>eval_child_count</span><span class='lparen'>(</span><span class='id identifier rubyid_path'>path</span><span class='rparen'>)</span>
|
1643
|
+
<span class='id identifier rubyid_node'>node</span> <span class='op'>=</span> <span class='id identifier rubyid_find_node'>find_node</span><span class='lparen'>(</span><span class='id identifier rubyid_path'>path</span><span class='rparen'>)</span>
|
1644
|
+
<span class='kw'>if</span> <span class='id identifier rubyid_node'>node</span>
|
1645
|
+
<span class='id identifier rubyid_node'>node</span><span class='period'>.</span><span class='id identifier rubyid_child_nodes'>child_nodes</span> <span class='op'>?</span> <span class='id identifier rubyid_node'>node</span><span class='period'>.</span><span class='id identifier rubyid_child_nodes'>child_nodes</span><span class='period'>.</span><span class='id identifier rubyid_length'>length</span> <span class='op'>:</span> <span class='int'>0</span>
|
1646
|
+
<span class='kw'>end</span>
|
1647
|
+
<span class='kw'>end</span></pre>
|
1648
|
+
</td>
|
1649
|
+
</tr>
|
1650
|
+
</table>
|
1651
|
+
</div>
|
1652
|
+
|
1653
|
+
<div class="method_details ">
|
1654
|
+
<h3 class="signature " id="find_node-instance_method">
|
1655
|
+
|
1656
|
+
#<strong>find_node</strong>(path) ⇒ <tt><span class='object_link'><a href="" title="TermUtils::PropertyTreeNode (class)">PropertyTreeNode</a></span></tt>
|
1657
|
+
|
1658
|
+
|
1659
|
+
|
1660
|
+
|
1661
|
+
|
1662
|
+
</h3><div class="docstring">
|
1663
|
+
<div class="discussion">
|
1664
|
+
|
1665
|
+
<p>Finds the node identified by a given path of keys.</p>
|
1666
|
+
|
1667
|
+
|
1668
|
+
</div>
|
1669
|
+
</div>
|
1670
|
+
<div class="tags">
|
1671
|
+
<p class="tag_title">Parameters:</p>
|
1672
|
+
<ul class="param">
|
1673
|
+
|
1674
|
+
<li>
|
1675
|
+
|
1676
|
+
<span class='name'>path</span>
|
1677
|
+
|
1678
|
+
|
1679
|
+
<span class='type'>(<tt>Array<Object></tt>)</span>
|
1680
|
+
|
1681
|
+
|
1682
|
+
|
1683
|
+
</li>
|
1684
|
+
|
1685
|
+
</ul>
|
1686
|
+
|
1687
|
+
<p class="tag_title">Returns:</p>
|
1688
|
+
<ul class="return">
|
1689
|
+
|
1690
|
+
<li>
|
1691
|
+
|
1692
|
+
|
1693
|
+
<span class='type'>(<tt><span class='object_link'><a href="" title="TermUtils::PropertyTreeNode (class)">PropertyTreeNode</a></span></tt>)</span>
|
1694
|
+
|
1695
|
+
|
1696
|
+
|
1697
|
+
</li>
|
1698
|
+
|
1699
|
+
</ul>
|
1700
|
+
|
1701
|
+
</div><table class="source_code">
|
1702
|
+
<tr>
|
1703
|
+
<td>
|
1704
|
+
<pre class="lines">
|
1705
|
+
|
1706
|
+
|
1707
|
+
192
|
1708
|
+
193
|
1709
|
+
194
|
1710
|
+
195
|
1711
|
+
196
|
1712
|
+
197
|
1713
|
+
198
|
1714
|
+
199</pre>
|
1715
|
+
</td>
|
1716
|
+
<td>
|
1717
|
+
<pre class="code"><span class="info file"># File 'lib/term_utils/property_tree_node.rb', line 192</span>
|
1718
|
+
|
1719
|
+
<span class='kw'>def</span> <span class='id identifier rubyid_find_node'>find_node</span><span class='lparen'>(</span><span class='id identifier rubyid_path'>path</span><span class='rparen'>)</span>
|
1720
|
+
<span class='id identifier rubyid_catch'>catch</span> <span class='symbol'>:found</span> <span class='kw'>do</span>
|
1721
|
+
<span class='id identifier rubyid_each_node'>each_node</span><span class='lparen'>(</span><span class='label'>path:</span> <span class='id identifier rubyid_path'>path</span><span class='rparen'>)</span> <span class='kw'>do</span> <span class='op'>|</span><span class='id identifier rubyid_n'>n</span><span class='op'>|</span>
|
1722
|
+
<span class='id identifier rubyid_throw'>throw</span> <span class='symbol'>:found</span><span class='comma'>,</span> <span class='id identifier rubyid_n'>n</span>
|
1723
|
+
<span class='kw'>end</span>
|
1724
|
+
<span class='kw'>nil</span>
|
1725
|
+
<span class='kw'>end</span>
|
1726
|
+
<span class='kw'>end</span></pre>
|
1727
|
+
</td>
|
1728
|
+
</tr>
|
1729
|
+
</table>
|
1730
|
+
</div>
|
1731
|
+
|
1732
|
+
<div class="method_details ">
|
1733
|
+
<h3 class="signature " id="find_node_value-instance_method">
|
1734
|
+
|
1735
|
+
#<strong>find_node_value</strong>(path) ⇒ <tt>Object</tt>
|
1736
|
+
|
1737
|
+
|
1738
|
+
|
1739
|
+
|
1740
|
+
|
1741
|
+
</h3><div class="docstring">
|
1742
|
+
<div class="discussion">
|
1743
|
+
|
1744
|
+
<p>Finds the node identified by a given path of keys and returns its value.</p>
|
1745
|
+
|
1746
|
+
|
1747
|
+
</div>
|
1748
|
+
</div>
|
1749
|
+
<div class="tags">
|
1750
|
+
<p class="tag_title">Parameters:</p>
|
1751
|
+
<ul class="param">
|
1752
|
+
|
1753
|
+
<li>
|
1754
|
+
|
1755
|
+
<span class='name'>path</span>
|
1756
|
+
|
1757
|
+
|
1758
|
+
<span class='type'>(<tt>Array<Object></tt>)</span>
|
1759
|
+
|
1760
|
+
|
1761
|
+
|
1762
|
+
</li>
|
1763
|
+
|
1764
|
+
</ul>
|
1765
|
+
|
1766
|
+
<p class="tag_title">Returns:</p>
|
1767
|
+
<ul class="return">
|
1768
|
+
|
1769
|
+
<li>
|
1770
|
+
|
1771
|
+
|
1772
|
+
<span class='type'>(<tt>Object</tt>)</span>
|
1773
|
+
|
1774
|
+
|
1775
|
+
|
1776
|
+
</li>
|
1777
|
+
|
1778
|
+
</ul>
|
1779
|
+
|
1780
|
+
</div><table class="source_code">
|
1781
|
+
<tr>
|
1782
|
+
<td>
|
1783
|
+
<pre class="lines">
|
1784
|
+
|
1785
|
+
|
1786
|
+
221
|
1787
|
+
222
|
1788
|
+
223
|
1789
|
+
224
|
1790
|
+
225
|
1791
|
+
226</pre>
|
1792
|
+
</td>
|
1793
|
+
<td>
|
1794
|
+
<pre class="code"><span class="info file"># File 'lib/term_utils/property_tree_node.rb', line 221</span>
|
1795
|
+
|
1796
|
+
<span class='kw'>def</span> <span class='id identifier rubyid_find_node_value'>find_node_value</span><span class='lparen'>(</span><span class='id identifier rubyid_path'>path</span><span class='rparen'>)</span>
|
1797
|
+
<span class='id identifier rubyid_node'>node</span> <span class='op'>=</span> <span class='id identifier rubyid_find_node'>find_node</span><span class='lparen'>(</span><span class='id identifier rubyid_path'>path</span><span class='rparen'>)</span>
|
1798
|
+
<span class='kw'>if</span> <span class='id identifier rubyid_node'>node</span>
|
1799
|
+
<span class='id identifier rubyid_node'>node</span><span class='period'>.</span><span class='id identifier rubyid_value'>value</span>
|
1800
|
+
<span class='kw'>end</span>
|
1801
|
+
<span class='kw'>end</span></pre>
|
1802
|
+
</td>
|
1803
|
+
</tr>
|
1804
|
+
</table>
|
1805
|
+
</div>
|
1806
|
+
|
1807
|
+
<div class="method_details ">
|
1808
|
+
<h3 class="signature " id="head?-instance_method">
|
1809
|
+
|
1810
|
+
#<strong>head?</strong> ⇒ <tt>Boolean</tt>
|
1811
|
+
|
1812
|
+
|
1813
|
+
|
1814
|
+
|
1815
|
+
|
1816
|
+
</h3><div class="docstring">
|
1817
|
+
<div class="discussion">
|
1818
|
+
|
1819
|
+
<p>Tests whether this one is the head of the tree (i.e. has no parent).</p>
|
1820
|
+
|
1821
|
+
|
1822
|
+
</div>
|
1823
|
+
</div>
|
1824
|
+
<div class="tags">
|
1825
|
+
|
1826
|
+
<p class="tag_title">Returns:</p>
|
1827
|
+
<ul class="return">
|
1828
|
+
|
1829
|
+
<li>
|
1830
|
+
|
1831
|
+
|
1832
|
+
<span class='type'>(<tt>Boolean</tt>)</span>
|
1833
|
+
|
1834
|
+
|
1835
|
+
|
1836
|
+
</li>
|
1837
|
+
|
1838
|
+
</ul>
|
1839
|
+
|
1840
|
+
</div><table class="source_code">
|
1841
|
+
<tr>
|
1842
|
+
<td>
|
1843
|
+
<pre class="lines">
|
1844
|
+
|
1845
|
+
|
1846
|
+
59
|
1847
|
+
60
|
1848
|
+
61</pre>
|
1849
|
+
</td>
|
1850
|
+
<td>
|
1851
|
+
<pre class="code"><span class="info file"># File 'lib/term_utils/property_tree_node.rb', line 59</span>
|
1852
|
+
|
1853
|
+
<span class='kw'>def</span> <span class='id identifier rubyid_head?'>head?</span>
|
1854
|
+
<span class='ivar'>@parent_node</span> <span class='op'>==</span> <span class='kw'>nil</span>
|
1855
|
+
<span class='kw'>end</span></pre>
|
1856
|
+
</td>
|
1857
|
+
</tr>
|
1858
|
+
</table>
|
1859
|
+
</div>
|
1860
|
+
|
1861
|
+
<div class="method_details ">
|
1862
|
+
<h3 class="signature " id="initialize_dup-instance_method">
|
1863
|
+
|
1864
|
+
#<strong>initialize_dup</strong>(other) ⇒ <tt>Object</tt>
|
1865
|
+
|
1866
|
+
|
1867
|
+
|
1868
|
+
|
1869
|
+
|
1870
|
+
</h3><div class="docstring">
|
1871
|
+
<div class="discussion">
|
1872
|
+
|
1873
|
+
<p>For dup method.</p>
|
1874
|
+
|
1875
|
+
|
1876
|
+
</div>
|
1877
|
+
</div>
|
1878
|
+
<div class="tags">
|
1879
|
+
|
1880
|
+
|
1881
|
+
</div><table class="source_code">
|
1882
|
+
<tr>
|
1883
|
+
<td>
|
1884
|
+
<pre class="lines">
|
1885
|
+
|
1886
|
+
|
1887
|
+
44
|
1888
|
+
45
|
1889
|
+
46
|
1890
|
+
47
|
1891
|
+
48
|
1892
|
+
49
|
1893
|
+
50
|
1894
|
+
51
|
1895
|
+
52
|
1896
|
+
53
|
1897
|
+
54
|
1898
|
+
55</pre>
|
1899
|
+
</td>
|
1900
|
+
<td>
|
1901
|
+
<pre class="code"><span class="info file"># File 'lib/term_utils/property_tree_node.rb', line 44</span>
|
1902
|
+
|
1903
|
+
<span class='kw'>def</span> <span class='id identifier rubyid_initialize_dup'>initialize_dup</span><span class='lparen'>(</span><span class='id identifier rubyid_other'>other</span><span class='rparen'>)</span>
|
1904
|
+
<span class='ivar'>@parent_node</span> <span class='op'>=</span> <span class='kw'>nil</span>
|
1905
|
+
<span class='kw'>if</span> <span class='id identifier rubyid_other'>other</span><span class='period'>.</span><span class='id identifier rubyid_child_nodes'>child_nodes</span>
|
1906
|
+
<span class='ivar'>@child_nodes</span> <span class='op'>=</span> <span class='lbracket'>[</span><span class='rbracket'>]</span>
|
1907
|
+
<span class='id identifier rubyid_other'>other</span><span class='period'>.</span><span class='id identifier rubyid_child_nodes'>child_nodes</span><span class='period'>.</span><span class='id identifier rubyid_each'>each</span> <span class='kw'>do</span> <span class='op'>|</span><span class='id identifier rubyid_n'>n</span><span class='op'>|</span>
|
1908
|
+
<span class='id identifier rubyid_new_node'>new_node</span> <span class='op'>=</span> <span class='id identifier rubyid_n'>n</span><span class='period'>.</span><span class='id identifier rubyid_dup'>dup</span>
|
1909
|
+
<span class='id identifier rubyid_new_node'>new_node</span><span class='period'>.</span><span class='id identifier rubyid_parent_node'>parent_node</span> <span class='op'>=</span> <span class='kw'>self</span>
|
1910
|
+
<span class='ivar'>@child_nodes</span> <span class='op'><<</span> <span class='id identifier rubyid_new_node'>new_node</span>
|
1911
|
+
<span class='kw'>end</span>
|
1912
|
+
<span class='kw'>end</span>
|
1913
|
+
<span class='kw'>super</span>
|
1914
|
+
<span class='kw'>end</span></pre>
|
1915
|
+
</td>
|
1916
|
+
</tr>
|
1917
|
+
</table>
|
1918
|
+
</div>
|
1919
|
+
|
1920
|
+
<div class="method_details ">
|
1921
|
+
<h3 class="signature " id="leaf?-instance_method">
|
1922
|
+
|
1923
|
+
#<strong>leaf?</strong> ⇒ <tt>Boolean</tt>
|
1924
|
+
|
1925
|
+
|
1926
|
+
|
1927
|
+
|
1928
|
+
|
1929
|
+
</h3><div class="docstring">
|
1930
|
+
<div class="discussion">
|
1931
|
+
|
1932
|
+
<p>Tests whether this one is a leaf of the tree (i.e. has no child).</p>
|
1933
|
+
|
1934
|
+
|
1935
|
+
</div>
|
1936
|
+
</div>
|
1937
|
+
<div class="tags">
|
1938
|
+
|
1939
|
+
<p class="tag_title">Returns:</p>
|
1940
|
+
<ul class="return">
|
1941
|
+
|
1942
|
+
<li>
|
1943
|
+
|
1944
|
+
|
1945
|
+
<span class='type'>(<tt>Boolean</tt>)</span>
|
1946
|
+
|
1947
|
+
|
1948
|
+
|
1949
|
+
</li>
|
1950
|
+
|
1951
|
+
</ul>
|
1952
|
+
|
1953
|
+
</div><table class="source_code">
|
1954
|
+
<tr>
|
1955
|
+
<td>
|
1956
|
+
<pre class="lines">
|
1957
|
+
|
1958
|
+
|
1959
|
+
65
|
1960
|
+
66
|
1961
|
+
67</pre>
|
1962
|
+
</td>
|
1963
|
+
<td>
|
1964
|
+
<pre class="code"><span class="info file"># File 'lib/term_utils/property_tree_node.rb', line 65</span>
|
1965
|
+
|
1966
|
+
<span class='kw'>def</span> <span class='id identifier rubyid_leaf?'>leaf?</span>
|
1967
|
+
<span class='ivar'>@child_nodes</span> <span class='op'>==</span> <span class='kw'>nil</span>
|
1968
|
+
<span class='kw'>end</span></pre>
|
1969
|
+
</td>
|
1970
|
+
</tr>
|
1971
|
+
</table>
|
1972
|
+
</div>
|
1973
|
+
|
1974
|
+
<div class="method_details ">
|
1975
|
+
<h3 class="signature " id="node_exists?-instance_method">
|
1976
|
+
|
1977
|
+
#<strong>node_exists?</strong>(path) ⇒ <tt>Boolean</tt>
|
1978
|
+
|
1979
|
+
|
1980
|
+
|
1981
|
+
|
1982
|
+
|
1983
|
+
</h3><div class="docstring">
|
1984
|
+
<div class="discussion">
|
1985
|
+
|
1986
|
+
<p>Tests whether the node identified by a given path of keys exists.</p>
|
1987
|
+
|
1988
|
+
|
1989
|
+
</div>
|
1990
|
+
</div>
|
1991
|
+
<div class="tags">
|
1992
|
+
<p class="tag_title">Parameters:</p>
|
1993
|
+
<ul class="param">
|
1994
|
+
|
1995
|
+
<li>
|
1996
|
+
|
1997
|
+
<span class='name'>path</span>
|
1998
|
+
|
1999
|
+
|
2000
|
+
<span class='type'>(<tt>Array<Object></tt>)</span>
|
2001
|
+
|
2002
|
+
|
2003
|
+
|
2004
|
+
</li>
|
2005
|
+
|
2006
|
+
</ul>
|
2007
|
+
|
2008
|
+
<p class="tag_title">Returns:</p>
|
2009
|
+
<ul class="return">
|
2010
|
+
|
2011
|
+
<li>
|
2012
|
+
|
2013
|
+
|
2014
|
+
<span class='type'>(<tt>Boolean</tt>)</span>
|
2015
|
+
|
2016
|
+
|
2017
|
+
|
2018
|
+
</li>
|
2019
|
+
|
2020
|
+
</ul>
|
2021
|
+
|
2022
|
+
</div><table class="source_code">
|
2023
|
+
<tr>
|
2024
|
+
<td>
|
2025
|
+
<pre class="lines">
|
2026
|
+
|
2027
|
+
|
2028
|
+
204
|
2029
|
+
205
|
2030
|
+
206</pre>
|
2031
|
+
</td>
|
2032
|
+
<td>
|
2033
|
+
<pre class="code"><span class="info file"># File 'lib/term_utils/property_tree_node.rb', line 204</span>
|
2034
|
+
|
2035
|
+
<span class='kw'>def</span> <span class='id identifier rubyid_node_exists?'>node_exists?</span><span class='lparen'>(</span><span class='id identifier rubyid_path'>path</span><span class='rparen'>)</span>
|
2036
|
+
<span class='id identifier rubyid_find_node'>find_node</span><span class='lparen'>(</span><span class='id identifier rubyid_path'>path</span><span class='rparen'>)</span> <span class='op'>!=</span> <span class='kw'>nil</span>
|
2037
|
+
<span class='kw'>end</span></pre>
|
2038
|
+
</td>
|
2039
|
+
</tr>
|
2040
|
+
</table>
|
2041
|
+
</div>
|
2042
|
+
|
2043
|
+
<div class="method_details ">
|
2044
|
+
<h3 class="signature " id="path-instance_method">
|
2045
|
+
|
2046
|
+
#<strong>path</strong> ⇒ <tt>Array<Object></tt>
|
2047
|
+
|
2048
|
+
|
2049
|
+
|
2050
|
+
|
2051
|
+
|
2052
|
+
</h3><div class="docstring">
|
2053
|
+
<div class="discussion">
|
2054
|
+
|
2055
|
+
<p>Builds the path of keys.</p>
|
2056
|
+
|
2057
|
+
|
2058
|
+
</div>
|
2059
|
+
</div>
|
2060
|
+
<div class="tags">
|
2061
|
+
|
2062
|
+
<p class="tag_title">Returns:</p>
|
2063
|
+
<ul class="return">
|
2064
|
+
|
2065
|
+
<li>
|
2066
|
+
|
2067
|
+
|
2068
|
+
<span class='type'>(<tt>Array<Object></tt>)</span>
|
2069
|
+
|
2070
|
+
|
2071
|
+
|
2072
|
+
</li>
|
2073
|
+
|
2074
|
+
</ul>
|
2075
|
+
|
2076
|
+
</div><table class="source_code">
|
2077
|
+
<tr>
|
2078
|
+
<td>
|
2079
|
+
<pre class="lines">
|
2080
|
+
|
2081
|
+
|
2082
|
+
94
|
2083
|
+
95
|
2084
|
+
96
|
2085
|
+
97
|
2086
|
+
98</pre>
|
2087
|
+
</td>
|
2088
|
+
<td>
|
2089
|
+
<pre class="code"><span class="info file"># File 'lib/term_utils/property_tree_node.rb', line 94</span>
|
2090
|
+
|
2091
|
+
<span class='kw'>def</span> <span class='id identifier rubyid_path'>path</span>
|
2092
|
+
<span class='id identifier rubyid_p'>p</span> <span class='op'>=</span> <span class='ivar'>@parent_node</span> <span class='op'>?</span> <span class='ivar'>@parent_node</span><span class='period'>.</span><span class='id identifier rubyid_path'>path</span> <span class='op'>:</span> <span class='lbracket'>[</span><span class='rbracket'>]</span>
|
2093
|
+
<span class='id identifier rubyid_p'>p</span> <span class='op'><<</span> <span class='ivar'>@key</span> <span class='kw'>if</span> <span class='ivar'>@key</span>
|
2094
|
+
<span class='id identifier rubyid_p'>p</span>
|
2095
|
+
<span class='kw'>end</span></pre>
|
2096
|
+
</td>
|
2097
|
+
</tr>
|
2098
|
+
</table>
|
2099
|
+
</div>
|
2100
|
+
|
2101
|
+
</div>
|
2102
|
+
|
2103
|
+
</div>
|
2104
|
+
|
2105
|
+
<div id="footer">
|
2106
|
+
Generated on Sun Aug 2 18:35:10 2020 by
|
2107
|
+
<a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
|
2108
|
+
0.9.25 (ruby-2.6.5).
|
2109
|
+
</div>
|
2110
|
+
|
2111
|
+
</div>
|
2112
|
+
</body>
|
2113
|
+
</html>
|