term_utils 0.1.1 → 0.4.0

Sign up to get free protection for your applications and to get access to all the features.
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>