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.
Files changed (64) hide show
  1. checksums.yaml +4 -4
  2. data/AUTHORS +1 -0
  3. data/CHANGELOG.md +51 -0
  4. data/COPYING +674 -0
  5. data/README.md +99 -0
  6. data/Rakefile +55 -0
  7. data/doc/TermUtils.html +138 -0
  8. data/doc/TermUtils/AP.html +394 -0
  9. data/doc/TermUtils/AP/Article.html +993 -0
  10. data/doc/TermUtils/AP/ArticleResult.html +584 -0
  11. data/doc/TermUtils/AP/Flag.html +756 -0
  12. data/doc/TermUtils/AP/NoSuchValueError.html +217 -0
  13. data/doc/TermUtils/AP/Parameter.html +1592 -0
  14. data/doc/TermUtils/AP/ParameterResult.html +980 -0
  15. data/doc/TermUtils/AP/ParameterWalkerHooks.html +409 -0
  16. data/doc/TermUtils/AP/ParseError.html +217 -0
  17. data/doc/TermUtils/AP/Parser.html +604 -0
  18. data/doc/TermUtils/AP/Result.html +837 -0
  19. data/doc/TermUtils/AP/Syntax.html +761 -0
  20. data/doc/TermUtils/AP/SyntaxError.html +217 -0
  21. data/doc/TermUtils/AP/Walker.html +686 -0
  22. data/doc/TermUtils/FF.html +128 -0
  23. data/doc/TermUtils/FF/Config.html +774 -0
  24. data/doc/TermUtils/FF/Context.html +585 -0
  25. data/doc/TermUtils/FF/Entry.html +626 -0
  26. data/doc/TermUtils/FF/Query.html +1085 -0
  27. data/doc/TermUtils/PropertyTreeNode.html +2113 -0
  28. data/doc/TermUtils/Tab.html +1486 -0
  29. data/doc/TermUtils/Tab/Column.html +1263 -0
  30. data/doc/TermUtils/Tab/Header.html +536 -0
  31. data/doc/TermUtils/Tab/Holder.html +1210 -0
  32. data/doc/TermUtils/Tab/Printer.html +967 -0
  33. data/doc/TermUtils/Tab/Table.html +1966 -0
  34. data/doc/TermUtils/Tab/TableError.html +217 -0
  35. data/doc/_index.html +387 -0
  36. data/doc/class_list.html +51 -0
  37. data/doc/css/common.css +1 -0
  38. data/doc/css/full_list.css +58 -0
  39. data/doc/css/style.css +496 -0
  40. data/doc/file.README.html +170 -0
  41. data/doc/file_list.html +56 -0
  42. data/doc/frames.html +17 -0
  43. data/doc/index.html +170 -0
  44. data/doc/js/app.js +314 -0
  45. data/doc/js/full_list.js +216 -0
  46. data/doc/js/jquery.js +4 -0
  47. data/doc/method_list.html +1539 -0
  48. data/doc/top-level-namespace.html +110 -0
  49. data/lib/term_utils.rb +11 -0
  50. data/lib/term_utils/ap.rb +70 -0
  51. data/lib/term_utils/ap/article.rb +74 -0
  52. data/lib/term_utils/ap/flag.rb +65 -0
  53. data/lib/term_utils/ap/parameter.rb +144 -0
  54. data/lib/term_utils/ap/parser.rb +211 -0
  55. data/lib/term_utils/ap/result.rb +244 -0
  56. data/lib/term_utils/ap/syntax.rb +96 -0
  57. data/lib/term_utils/ff.rb +27 -0
  58. data/lib/term_utils/ff/config.rb +55 -0
  59. data/lib/term_utils/ff/entry.rb +45 -0
  60. data/lib/term_utils/ff/query.rb +145 -0
  61. data/lib/term_utils/property_tree_node.rb +228 -0
  62. data/lib/term_utils/tab.rb +338 -88
  63. data/term_utils.gemspec +16 -0
  64. 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
+ &mdash; 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> &raquo;
40
+ <span class='title'><span class='object_link'><a href="../TermUtils.html" title="TermUtils (module)">TermUtils</a></span></span>
41
+ &raquo;
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> &#x21d2; Array&lt;PropertyTreeNode&gt; </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> &#x21d2; 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> &#x21d2; 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> &#x21d2; 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) &#x21d2; 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 = {}) &#x21d2; Array&lt;PropertyTreeNode&gt; </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 = {}) &#x21d2; Array&lt;Array&lt;Object&gt;&gt; </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 = {}) &#x21d2; Array&lt;Object&gt; </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 = {}, &amp;block) &#x21d2; 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 = {}, &amp;block) &#x21d2; 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) &#x21d2; 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) &#x21d2; 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) &#x21d2; 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> &#x21d2; 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 = {}, &amp;block) &#x21d2; 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) &#x21d2; 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> &#x21d2; 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) &#x21d2; 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> &#x21d2; Array&lt;Object&gt; </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 = {}, &amp;block) &#x21d2; <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'>&amp;</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> &#x21d2; <tt>Array&lt;<span class='object_link'><a href="" title="TermUtils::PropertyTreeNode (class)">PropertyTreeNode</a></span>&gt;</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&lt;<span class='object_link'><a href="" title="TermUtils::PropertyTreeNode (class)">PropertyTreeNode</a></span>&gt;</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> &#x21d2; <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> &#x21d2; <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> &#x21d2; <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) &#x21d2; <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 = {}) &#x21d2; <tt>Array&lt;<span class='object_link'><a href="" title="TermUtils::PropertyTreeNode (class)">PropertyTreeNode</a></span>&gt;</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&lt;<span class='object_link'><a href="" title="TermUtils::PropertyTreeNode (class)">PropertyTreeNode</a></span>&gt;</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'>&lt;&lt;</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 = {}) &#x21d2; <tt>Array&lt;Array&lt;Object&gt;&gt;</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&lt;Array&lt;Object&gt;&gt;</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'>&lt;&lt;</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 = {}) &#x21d2; <tt>Array&lt;Object&gt;</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&lt;Object&gt;</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'>&lt;&lt;</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 = {}, &amp;block) &#x21d2; <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'>&amp;</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'>&lt;&lt;</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 = {}, &amp;block) &#x21d2; <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'>&amp;</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'>&amp;&amp;</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'>&amp;&amp;</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) &#x21d2; <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&lt;Object&gt;</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) &#x21d2; <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&lt;Object&gt;</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) &#x21d2; <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&lt;Object&gt;</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> &#x21d2; <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) &#x21d2; <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'>&lt;&lt;</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> &#x21d2; <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) &#x21d2; <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&lt;Object&gt;</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> &#x21d2; <tt>Array&lt;Object&gt;</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&lt;Object&gt;</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'>&lt;&lt;</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>