xjson 0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA256:
3
+ metadata.gz: d9be96a65a6e811b28601eceade054a524d5c1e65f0d5afbe65186e29e3915aa
4
+ data.tar.gz: da2e88f23ded6359547730eb704855bd388c6bbd46d0cc4b6c6426de436ba68b
5
+ SHA512:
6
+ metadata.gz: 5bdf536a5789d49d10c0647781e7bd4479c49d348fcbc0b456f16a6484706d8a7e21495c7083aa68af10b03d039675783d9d39f75530cd5c4fe25f2f1322f624
7
+ data.tar.gz: 2d20c7ce94ce6b301d6f10a3fce1b055f7ded592ba40efd0f4ea5c84fc5bab857002a66e93acd1ec2564e190542ce7fbd85718ff54b6b8ec4216fd41b002043b
data/CHANGELOG.rdoc ADDED
@@ -0,0 +1,3 @@
1
+ = Version history
2
+
3
+ [0.0.1] Initial version.
data/LICENSE ADDED
@@ -0,0 +1,20 @@
1
+ Copyright (c) 2021 tero.isannainen@gmail.com
2
+
3
+ Permission is hereby granted, free of charge, to any person obtaining
4
+ a copy of this software and associated documentation files (the
5
+ "Software"), to deal in the Software without restriction, including
6
+ without limitation the rights to use, copy, modify, merge, publish,
7
+ distribute, sublicense, and/or sell copies of the Software, and to
8
+ permit persons to whom the Software is furnished to do so, subject to
9
+ the following conditions:
10
+
11
+ The above copyright notice and this permission notice shall be
12
+ included in all copies or substantial portions of the Software.
13
+
14
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
15
+ EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
16
+ MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
17
+ NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
18
+ LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
19
+ OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
20
+ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
data/README.rdoc ADDED
@@ -0,0 +1,3 @@
1
+ = XJSON
2
+
3
+ {Xjson} is described in "markdown/README.md".
data/doc/Xjson.html ADDED
@@ -0,0 +1,1577 @@
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: Xjson
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 = "Xjson";
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 (X)</a> &raquo;
40
+
41
+
42
+ <span class="title">Xjson</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: Xjson
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">Xjson</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/xjson.rb<span class="defines">,<br />
98
+ lib/version.rb</span>
99
+ </dd>
100
+ </dl>
101
+
102
+ </div>
103
+
104
+ <h2>Overview</h2><div class="docstring">
105
+ <div class="discussion">
106
+
107
+ <p>require &#39;byebug&#39;</p>
108
+
109
+
110
+ </div>
111
+ </div>
112
+ <div class="tags">
113
+
114
+
115
+ </div><h2>Defined Under Namespace</h2>
116
+ <p class="children">
117
+
118
+
119
+
120
+
121
+ <strong class="classes">Classes:</strong> <span class='object_link'><a href="Xjson/XjsonIncludeError.html" title="Xjson::XjsonIncludeError (class)">XjsonIncludeError</a></span>, <span class='object_link'><a href="Xjson/XjsonReferenceError.html" title="Xjson::XjsonReferenceError (class)">XjsonReferenceError</a></span>
122
+
123
+
124
+ </p>
125
+
126
+
127
+ <h2>
128
+ Constant Summary
129
+ <small><a href="#" class="constants_summary_toggle">collapse</a></small>
130
+ </h2>
131
+
132
+ <dl class="constants">
133
+
134
+ <dt id="VERSION-constant" class="">VERSION =
135
+
136
+ </dt>
137
+ <dd><pre class="code"><span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>0.0.1</span><span class='tstring_end'>&quot;</span></span></pre></dd>
138
+
139
+ </dl>
140
+
141
+
142
+
143
+
144
+
145
+ <h2>Instance Attribute Summary <small><a href="#" class="summary_toggle">collapse</a></small></h2>
146
+ <ul class="summary">
147
+
148
+ <li class="public ">
149
+ <span class="summary_signature">
150
+
151
+ <a href="#data-instance_method" title="#data (instance method)">#<strong>data</strong> &#x21d2; Object </a>
152
+
153
+
154
+
155
+ </span>
156
+
157
+
158
+
159
+
160
+ <span class="note title readonly">readonly</span>
161
+
162
+
163
+
164
+
165
+
166
+
167
+
168
+
169
+
170
+ <span class="summary_desc"><div class='inline'>
171
+ <p>Returns the value of attribute data.</p>
172
+ </div></span>
173
+
174
+ </li>
175
+
176
+
177
+ <li class="public ">
178
+ <span class="summary_signature">
179
+
180
+ <a href="#dir-instance_method" title="#dir (instance method)">#<strong>dir</strong> &#x21d2; Object </a>
181
+
182
+
183
+
184
+ </span>
185
+
186
+
187
+
188
+
189
+ <span class="note title readonly">readonly</span>
190
+
191
+
192
+
193
+
194
+
195
+
196
+
197
+
198
+
199
+ <span class="summary_desc"><div class='inline'>
200
+ <p>Returns the value of attribute dir.</p>
201
+ </div></span>
202
+
203
+ </li>
204
+
205
+
206
+ <li class="public ">
207
+ <span class="summary_signature">
208
+
209
+ <a href="#ext_data-instance_method" title="#ext_data (instance method)">#<strong>ext_data</strong> &#x21d2; Object </a>
210
+
211
+
212
+
213
+ </span>
214
+
215
+
216
+
217
+
218
+ <span class="note title readonly">readonly</span>
219
+
220
+
221
+
222
+
223
+
224
+
225
+
226
+
227
+
228
+ <span class="summary_desc"><div class='inline'>
229
+ <p>Returns the value of attribute ext_data.</p>
230
+ </div></span>
231
+
232
+ </li>
233
+
234
+
235
+ </ul>
236
+
237
+
238
+
239
+
240
+
241
+ <h2>
242
+ Class Method Summary
243
+ <small><a href="#" class="summary_toggle">collapse</a></small>
244
+ </h2>
245
+
246
+ <ul class="summary">
247
+
248
+ <li class="public ">
249
+ <span class="summary_signature">
250
+
251
+ <a href="#load-class_method" title="load (class method)">.<strong>load</strong>(filename) &#x21d2; Object </a>
252
+
253
+
254
+
255
+ </span>
256
+
257
+
258
+
259
+
260
+
261
+
262
+
263
+
264
+
265
+ <span class="summary_desc"><div class='inline'></div></span>
266
+
267
+ </li>
268
+
269
+
270
+ <li class="public ">
271
+ <span class="summary_signature">
272
+
273
+ <a href="#version-class_method" title="version (class method)">.<strong>version</strong> &#x21d2; Object </a>
274
+
275
+
276
+
277
+ </span>
278
+
279
+
280
+
281
+
282
+
283
+
284
+
285
+
286
+
287
+ <span class="summary_desc"><div class='inline'></div></span>
288
+
289
+ </li>
290
+
291
+
292
+ </ul>
293
+
294
+ <h2>
295
+ Instance Method Summary
296
+ <small><a href="#" class="summary_toggle">collapse</a></small>
297
+ </h2>
298
+
299
+ <ul class="summary">
300
+
301
+ <li class="public ">
302
+ <span class="summary_signature">
303
+
304
+ <a href="#dump-instance_method" title="#dump (instance method)">#<strong>dump</strong>(filename) &#x21d2; Object </a>
305
+
306
+
307
+
308
+ </span>
309
+
310
+
311
+
312
+
313
+
314
+
315
+
316
+
317
+
318
+ <span class="summary_desc"><div class='inline'></div></span>
319
+
320
+ </li>
321
+
322
+
323
+ <li class="public ">
324
+ <span class="summary_signature">
325
+
326
+ <a href="#expand-instance_method" title="#expand (instance method)">#<strong>expand</strong>(data) &#x21d2; Object </a>
327
+
328
+
329
+
330
+ </span>
331
+
332
+
333
+
334
+
335
+
336
+
337
+
338
+
339
+
340
+ <span class="summary_desc"><div class='inline'>
341
+ <p>Expand json recursively.</p>
342
+ </div></span>
343
+
344
+ </li>
345
+
346
+
347
+ <li class="public ">
348
+ <span class="summary_signature">
349
+
350
+ <a href="#find_in_array_of_hash-instance_method" title="#find_in_array_of_hash (instance method)">#<strong>find_in_array_of_hash</strong>(scope, key, value) &#x21d2; Object </a>
351
+
352
+
353
+
354
+ </span>
355
+
356
+
357
+
358
+
359
+
360
+
361
+
362
+
363
+
364
+ <span class="summary_desc"><div class='inline'></div></span>
365
+
366
+ </li>
367
+
368
+
369
+ <li class="public ">
370
+ <span class="summary_signature">
371
+
372
+ <a href="#flatten-instance_method" title="#flatten (instance method)">#<strong>flatten</strong>(data) &#x21d2; Object </a>
373
+
374
+
375
+
376
+ </span>
377
+
378
+
379
+
380
+
381
+
382
+
383
+
384
+
385
+
386
+ <span class="summary_desc"><div class='inline'>
387
+ <p>Flatten by one level within array.</p>
388
+ </div></span>
389
+
390
+ </li>
391
+
392
+
393
+ <li class="public ">
394
+ <span class="summary_signature">
395
+
396
+ <a href="#initialize-instance_method" title="#initialize (instance method)">#<strong>initialize</strong>(xjson_file) &#x21d2; Xjson </a>
397
+
398
+
399
+
400
+ </span>
401
+
402
+
403
+ <span class="note title constructor">constructor</span>
404
+
405
+
406
+
407
+
408
+
409
+
410
+
411
+
412
+ <span class="summary_desc"><div class='inline'>
413
+ <p>A new instance of Xjson.</p>
414
+ </div></span>
415
+
416
+ </li>
417
+
418
+
419
+ <li class="public ">
420
+ <span class="summary_signature">
421
+
422
+ <a href="#override-instance_method" title="#override (instance method)">#<strong>override</strong>(data, exp, overwrite = false) &#x21d2; Object </a>
423
+
424
+
425
+
426
+ </span>
427
+
428
+
429
+
430
+
431
+
432
+
433
+
434
+
435
+
436
+ <span class="summary_desc"><div class='inline'></div></span>
437
+
438
+ </li>
439
+
440
+
441
+ <li class="public ">
442
+ <span class="summary_signature">
443
+
444
+ <a href="#override_apply-instance_method" title="#override_apply (instance method)">#<strong>override_apply</strong>(desc, overwrite = false) &#x21d2; Object </a>
445
+
446
+
447
+
448
+ </span>
449
+
450
+
451
+
452
+
453
+
454
+
455
+
456
+
457
+
458
+ <span class="summary_desc"><div class='inline'></div></span>
459
+
460
+ </li>
461
+
462
+
463
+ <li class="public ">
464
+ <span class="summary_signature">
465
+
466
+ <a href="#override_desc-instance_method" title="#override_desc (instance method)">#<strong>override_desc</strong>(data, exp) &#x21d2; Object </a>
467
+
468
+
469
+
470
+ </span>
471
+
472
+
473
+
474
+
475
+
476
+
477
+
478
+
479
+
480
+ <span class="summary_desc"><div class='inline'></div></span>
481
+
482
+ </li>
483
+
484
+
485
+ <li class="public ">
486
+ <span class="summary_signature">
487
+
488
+ <a href="#read_json_file-instance_method" title="#read_json_file (instance method)">#<strong>read_json_file</strong>(xjson_file) &#x21d2; Object </a>
489
+
490
+
491
+
492
+ </span>
493
+
494
+
495
+
496
+
497
+
498
+
499
+
500
+
501
+
502
+ <span class="summary_desc"><div class='inline'></div></span>
503
+
504
+ </li>
505
+
506
+
507
+ <li class="public ">
508
+ <span class="summary_signature">
509
+
510
+ <a href="#reference-instance_method" title="#reference (instance method)">#<strong>reference</strong>(data, ref_desc) &#x21d2; Object </a>
511
+
512
+
513
+
514
+ </span>
515
+
516
+
517
+
518
+
519
+
520
+
521
+
522
+
523
+
524
+ <span class="summary_desc"><div class='inline'></div></span>
525
+
526
+ </li>
527
+
528
+
529
+ <li class="public ">
530
+ <span class="summary_signature">
531
+
532
+ <a href="#reference_handle-instance_method" title="#reference_handle (instance method)">#<strong>reference_handle</strong>(data, ref_desc) &#x21d2; Object </a>
533
+
534
+
535
+
536
+ </span>
537
+
538
+
539
+
540
+
541
+
542
+
543
+
544
+
545
+
546
+ <span class="summary_desc"><div class='inline'></div></span>
547
+
548
+ </li>
549
+
550
+
551
+ <li class="public ">
552
+ <span class="summary_signature">
553
+
554
+ <a href="#to_s-instance_method" title="#to_s (instance method)">#<strong>to_s</strong> &#x21d2; Object </a>
555
+
556
+
557
+
558
+ </span>
559
+
560
+
561
+
562
+
563
+
564
+
565
+
566
+
567
+
568
+ <span class="summary_desc"><div class='inline'></div></span>
569
+
570
+ </li>
571
+
572
+
573
+ </ul>
574
+
575
+
576
+ <div id="constructor_details" class="method_details_list">
577
+ <h2>Constructor Details</h2>
578
+
579
+ <div class="method_details first">
580
+ <h3 class="signature first" id="initialize-instance_method">
581
+
582
+ #<strong>initialize</strong>(xjson_file) &#x21d2; <tt><span class='object_link'><a href="" title="Xjson (class)">Xjson</a></span></tt>
583
+
584
+
585
+
586
+
587
+
588
+ </h3><div class="docstring">
589
+ <div class="discussion">
590
+
591
+ <p>Returns a new instance of Xjson.</p>
592
+
593
+
594
+ </div>
595
+ </div>
596
+ <div class="tags">
597
+
598
+
599
+ </div><table class="source_code">
600
+ <tr>
601
+ <td>
602
+ <pre class="lines">
603
+
604
+
605
+ 22
606
+ 23
607
+ 24
608
+ 25
609
+ 26
610
+ 27
611
+ 28</pre>
612
+ </td>
613
+ <td>
614
+ <pre class="code"><span class="info file"># File 'lib/xjson.rb', line 22</span>
615
+
616
+ <span class='kw'>def</span> <span class='id identifier rubyid_initialize'>initialize</span><span class='lparen'>(</span> <span class='id identifier rubyid_xjson_file'>xjson_file</span> <span class='rparen'>)</span>
617
+ <span class='ivar'>@cur_file</span> <span class='op'>=</span> <span class='lbracket'>[</span><span class='rbracket'>]</span>
618
+ <span class='ivar'>@cur_data</span> <span class='op'>=</span> <span class='lbracket'>[</span><span class='rbracket'>]</span>
619
+ <span class='ivar'>@ext_data</span> <span class='op'>=</span> <span class='lbrace'>{</span><span class='rbrace'>}</span>
620
+ <span class='ivar'>@ext_data</span> <span class='op'>=</span> <span class='id identifier rubyid_read_json_file'>read_json_file</span><span class='lparen'>(</span> <span class='id identifier rubyid_xjson_file'>xjson_file</span> <span class='rparen'>)</span>
621
+ <span class='ivar'>@data</span> <span class='op'>=</span> <span class='id identifier rubyid_expand'>expand</span><span class='lparen'>(</span> <span class='ivar'>@ext_data</span> <span class='rparen'>)</span>
622
+ <span class='kw'>end</span></pre>
623
+ </td>
624
+ </tr>
625
+ </table>
626
+ </div>
627
+
628
+ </div>
629
+
630
+ <div id="instance_attr_details" class="attr_details">
631
+ <h2>Instance Attribute Details</h2>
632
+
633
+
634
+ <span id=""></span>
635
+ <div class="method_details first">
636
+ <h3 class="signature first" id="data-instance_method">
637
+
638
+ #<strong>data</strong> &#x21d2; <tt>Object</tt> <span class="extras">(readonly)</span>
639
+
640
+
641
+
642
+
643
+
644
+ </h3><div class="docstring">
645
+ <div class="discussion">
646
+
647
+ <p>Returns the value of attribute data.</p>
648
+
649
+
650
+ </div>
651
+ </div>
652
+ <div class="tags">
653
+
654
+
655
+ </div><table class="source_code">
656
+ <tr>
657
+ <td>
658
+ <pre class="lines">
659
+
660
+
661
+ 19
662
+ 20
663
+ 21</pre>
664
+ </td>
665
+ <td>
666
+ <pre class="code"><span class="info file"># File 'lib/xjson.rb', line 19</span>
667
+
668
+ <span class='kw'>def</span> <span class='id identifier rubyid_data'>data</span>
669
+ <span class='ivar'>@data</span>
670
+ <span class='kw'>end</span></pre>
671
+ </td>
672
+ </tr>
673
+ </table>
674
+ </div>
675
+
676
+
677
+ <span id=""></span>
678
+ <div class="method_details ">
679
+ <h3 class="signature " id="dir-instance_method">
680
+
681
+ #<strong>dir</strong> &#x21d2; <tt>Object</tt> <span class="extras">(readonly)</span>
682
+
683
+
684
+
685
+
686
+
687
+ </h3><div class="docstring">
688
+ <div class="discussion">
689
+
690
+ <p>Returns the value of attribute dir.</p>
691
+
692
+
693
+ </div>
694
+ </div>
695
+ <div class="tags">
696
+
697
+
698
+ </div><table class="source_code">
699
+ <tr>
700
+ <td>
701
+ <pre class="lines">
702
+
703
+
704
+ 20
705
+ 21
706
+ 22</pre>
707
+ </td>
708
+ <td>
709
+ <pre class="code"><span class="info file"># File 'lib/xjson.rb', line 20</span>
710
+
711
+ <span class='kw'>def</span> <span class='id identifier rubyid_dir'>dir</span>
712
+ <span class='ivar'>@dir</span>
713
+ <span class='kw'>end</span></pre>
714
+ </td>
715
+ </tr>
716
+ </table>
717
+ </div>
718
+
719
+
720
+ <span id=""></span>
721
+ <div class="method_details ">
722
+ <h3 class="signature " id="ext_data-instance_method">
723
+
724
+ #<strong>ext_data</strong> &#x21d2; <tt>Object</tt> <span class="extras">(readonly)</span>
725
+
726
+
727
+
728
+
729
+
730
+ </h3><div class="docstring">
731
+ <div class="discussion">
732
+
733
+ <p>Returns the value of attribute ext_data.</p>
734
+
735
+
736
+ </div>
737
+ </div>
738
+ <div class="tags">
739
+
740
+
741
+ </div><table class="source_code">
742
+ <tr>
743
+ <td>
744
+ <pre class="lines">
745
+
746
+
747
+ 18
748
+ 19
749
+ 20</pre>
750
+ </td>
751
+ <td>
752
+ <pre class="code"><span class="info file"># File 'lib/xjson.rb', line 18</span>
753
+
754
+ <span class='kw'>def</span> <span class='id identifier rubyid_ext_data'>ext_data</span>
755
+ <span class='ivar'>@ext_data</span>
756
+ <span class='kw'>end</span></pre>
757
+ </td>
758
+ </tr>
759
+ </table>
760
+ </div>
761
+
762
+ </div>
763
+
764
+
765
+ <div id="class_method_details" class="method_details_list">
766
+ <h2>Class Method Details</h2>
767
+
768
+
769
+ <div class="method_details first">
770
+ <h3 class="signature first" id="load-class_method">
771
+
772
+ .<strong>load</strong>(filename) &#x21d2; <tt>Object</tt>
773
+
774
+
775
+
776
+
777
+
778
+ </h3><table class="source_code">
779
+ <tr>
780
+ <td>
781
+ <pre class="lines">
782
+
783
+
784
+ 14
785
+ 15
786
+ 16</pre>
787
+ </td>
788
+ <td>
789
+ <pre class="code"><span class="info file"># File 'lib/xjson.rb', line 14</span>
790
+
791
+ <span class='kw'>def</span> <span class='const'><span class='object_link'><a href="" title="Xjson (class)">Xjson</a></span></span><span class='period'>.</span><span class='id identifier rubyid_load'>load</span><span class='lparen'>(</span> <span class='id identifier rubyid_filename'>filename</span> <span class='rparen'>)</span>
792
+ <span class='const'>Marshal</span><span class='period'>.</span><span class='id identifier rubyid_load'>load</span><span class='lparen'>(</span> <span class='const'>File</span><span class='period'>.</span><span class='id identifier rubyid_read'>read</span><span class='lparen'>(</span> <span class='id identifier rubyid_filename'>filename</span> <span class='rparen'>)</span> <span class='rparen'>)</span>
793
+ <span class='kw'>end</span></pre>
794
+ </td>
795
+ </tr>
796
+ </table>
797
+ </div>
798
+
799
+ <div class="method_details ">
800
+ <h3 class="signature " id="version-class_method">
801
+
802
+ .<strong>version</strong> &#x21d2; <tt>Object</tt>
803
+
804
+
805
+
806
+
807
+
808
+ </h3><table class="source_code">
809
+ <tr>
810
+ <td>
811
+ <pre class="lines">
812
+
813
+
814
+ 3
815
+ 4
816
+ 5</pre>
817
+ </td>
818
+ <td>
819
+ <pre class="code"><span class="info file"># File 'lib/version.rb', line 3</span>
820
+
821
+ <span class='kw'>def</span> <span class='const'><span class='object_link'><a href="" title="Xjson (class)">Xjson</a></span></span><span class='period'>.</span><span class='id identifier rubyid_version'>version</span>
822
+ <span class='const'><span class='object_link'><a href="" title="Xjson (class)">Xjson</a></span></span><span class='op'>::</span><span class='const'><span class='object_link'><a href="#VERSION-constant" title="Xjson::VERSION (constant)">VERSION</a></span></span>
823
+ <span class='kw'>end</span></pre>
824
+ </td>
825
+ </tr>
826
+ </table>
827
+ </div>
828
+
829
+ </div>
830
+
831
+ <div id="instance_method_details" class="method_details_list">
832
+ <h2>Instance Method Details</h2>
833
+
834
+
835
+ <div class="method_details first">
836
+ <h3 class="signature first" id="dump-instance_method">
837
+
838
+ #<strong>dump</strong>(filename) &#x21d2; <tt>Object</tt>
839
+
840
+
841
+
842
+
843
+
844
+ </h3><table class="source_code">
845
+ <tr>
846
+ <td>
847
+ <pre class="lines">
848
+
849
+
850
+ 264
851
+ 265
852
+ 266</pre>
853
+ </td>
854
+ <td>
855
+ <pre class="code"><span class="info file"># File 'lib/xjson.rb', line 264</span>
856
+
857
+ <span class='kw'>def</span> <span class='id identifier rubyid_dump'>dump</span><span class='lparen'>(</span> <span class='id identifier rubyid_filename'>filename</span> <span class='rparen'>)</span>
858
+ <span class='const'>File</span><span class='period'>.</span><span class='id identifier rubyid_write'>write</span><span class='lparen'>(</span> <span class='id identifier rubyid_filename'>filename</span><span class='comma'>,</span> <span class='const'>Marshal</span><span class='period'>.</span><span class='id identifier rubyid_dump'>dump</span><span class='lparen'>(</span> <span class='ivar'>@data</span> <span class='rparen'>)</span> <span class='rparen'>)</span>
859
+ <span class='kw'>end</span></pre>
860
+ </td>
861
+ </tr>
862
+ </table>
863
+ </div>
864
+
865
+ <div class="method_details ">
866
+ <h3 class="signature " id="expand-instance_method">
867
+
868
+ #<strong>expand</strong>(data) &#x21d2; <tt>Object</tt>
869
+
870
+
871
+
872
+
873
+
874
+ </h3><div class="docstring">
875
+ <div class="discussion">
876
+
877
+ <p>Expand json recursively.</p>
878
+
879
+
880
+ </div>
881
+ </div>
882
+ <div class="tags">
883
+
884
+
885
+ </div><table class="source_code">
886
+ <tr>
887
+ <td>
888
+ <pre class="lines">
889
+
890
+
891
+ 153
892
+ 154
893
+ 155
894
+ 156
895
+ 157
896
+ 158
897
+ 159
898
+ 160
899
+ 161
900
+ 162
901
+ 163
902
+ 164
903
+ 165
904
+ 166
905
+ 167
906
+ 168
907
+ 169
908
+ 170
909
+ 171
910
+ 172
911
+ 173
912
+ 174
913
+ 175
914
+ 176
915
+ 177
916
+ 178
917
+ 179
918
+ 180
919
+ 181
920
+ 182
921
+ 183
922
+ 184
923
+ 185
924
+ 186
925
+ 187
926
+ 188
927
+ 189
928
+ 190
929
+ 191
930
+ 192
931
+ 193
932
+ 194
933
+ 195
934
+ 196
935
+ 197
936
+ 198
937
+ 199
938
+ 200
939
+ 201
940
+ 202
941
+ 203
942
+ 204
943
+ 205
944
+ 206
945
+ 207
946
+ 208
947
+ 209
948
+ 210
949
+ 211
950
+ 212
951
+ 213
952
+ 214
953
+ 215
954
+ 216
955
+ 217
956
+ 218
957
+ 219
958
+ 220
959
+ 221
960
+ 222
961
+ 223
962
+ 224
963
+ 225
964
+ 226
965
+ 227
966
+ 228
967
+ 229
968
+ 230
969
+ 231
970
+ 232
971
+ 233
972
+ 234
973
+ 235
974
+ 236
975
+ 237
976
+ 238
977
+ 239
978
+ 240
979
+ 241
980
+ 242
981
+ 243
982
+ 244
983
+ 245
984
+ 246
985
+ 247
986
+ 248
987
+ 249
988
+ 250
989
+ 251
990
+ 252
991
+ 253
992
+ 254
993
+ 255
994
+ 256
995
+ 257
996
+ 258</pre>
997
+ </td>
998
+ <td>
999
+ <pre class="code"><span class="info file"># File 'lib/xjson.rb', line 153</span>
1000
+
1001
+ <span class='kw'>def</span> <span class='id identifier rubyid_expand'>expand</span><span class='lparen'>(</span> <span class='id identifier rubyid_data'>data</span> <span class='rparen'>)</span>
1002
+
1003
+ <span class='kw'>case</span> <span class='id identifier rubyid_data'>data</span>
1004
+
1005
+ <span class='kw'>when</span> <span class='const'>TrueClass</span><span class='semicolon'>;</span> <span class='id identifier rubyid_data'>data</span>
1006
+
1007
+ <span class='kw'>when</span> <span class='const'>FalseClass</span><span class='semicolon'>;</span> <span class='id identifier rubyid_data'>data</span>
1008
+
1009
+ <span class='kw'>when</span> <span class='const'>Float</span><span class='semicolon'>;</span> <span class='id identifier rubyid_data'>data</span>
1010
+
1011
+ <span class='kw'>when</span> <span class='const'>Integer</span><span class='semicolon'>;</span> <span class='id identifier rubyid_data'>data</span>
1012
+
1013
+ <span class='kw'>when</span> <span class='const'>String</span><span class='semicolon'>;</span> <span class='id identifier rubyid_data'>data</span>
1014
+
1015
+ <span class='kw'>when</span> <span class='const'>Array</span><span class='semicolon'>;</span>
1016
+ <span class='id identifier rubyid_ret'>ret</span> <span class='op'>=</span> <span class='lbracket'>[</span><span class='rbracket'>]</span>
1017
+ <span class='ivar'>@cur_data</span><span class='period'>.</span><span class='id identifier rubyid_unshift'>unshift</span> <span class='id identifier rubyid_ret'>ret</span>
1018
+ <span class='id identifier rubyid_data'>data</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_v'>v</span><span class='op'>|</span>
1019
+ <span class='id identifier rubyid_value'>value</span> <span class='op'>=</span> <span class='id identifier rubyid_expand'>expand</span><span class='lparen'>(</span> <span class='id identifier rubyid_v'>v</span> <span class='rparen'>)</span>
1020
+ <span class='id identifier rubyid_ret'>ret</span><span class='period'>.</span><span class='id identifier rubyid_push'>push</span><span class='lparen'>(</span> <span class='id identifier rubyid_value'>value</span> <span class='rparen'>)</span> <span class='kw'>if</span> <span class='id identifier rubyid_value'>value</span>
1021
+ <span class='kw'>end</span>
1022
+ <span class='ivar'>@cur_data</span><span class='period'>.</span><span class='id identifier rubyid_shift'>shift</span>
1023
+ <span class='id identifier rubyid_ret'>ret</span>
1024
+
1025
+ <span class='kw'>when</span> <span class='const'>Hash</span>
1026
+
1027
+ <span class='kw'>if</span> <span class='id identifier rubyid_data'>data</span><span class='period'>.</span><span class='id identifier rubyid_size'>size</span> <span class='op'>==</span> <span class='int'>1</span>
1028
+
1029
+ <span class='comment'># Most possible extension.
1030
+ </span>
1031
+ <span class='id identifier rubyid_k'>k</span><span class='comma'>,</span> <span class='id identifier rubyid_v'>v</span> <span class='op'>=</span> <span class='id identifier rubyid_data'>data</span><span class='period'>.</span><span class='id identifier rubyid_first'>first</span>
1032
+
1033
+ <span class='kw'>case</span> <span class='id identifier rubyid_k'>k</span>
1034
+
1035
+ <span class='kw'>when</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>@eval</span><span class='tstring_end'>&quot;</span></span>
1036
+ <span class='backtick'>%x&quot;</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_expand'>expand</span><span class='lparen'>(</span><span class='id identifier rubyid_v'>v</span><span class='rparen'>)</span><span class='embexpr_end'>}</span><span class='tstring_end'>&quot;</span></span><span class='period'>.</span><span class='id identifier rubyid_split'>split</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>\n</span><span class='tstring_end'>&quot;</span></span><span class='rparen'>)</span>
1037
+
1038
+ <span class='kw'>when</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>@env</span><span class='tstring_end'>&quot;</span></span>
1039
+ <span class='const'>ENV</span><span class='lbracket'>[</span><span class='id identifier rubyid_expand'>expand</span><span class='lparen'>(</span><span class='id identifier rubyid_v'>v</span><span class='rparen'>)</span><span class='rbracket'>]</span>
1040
+
1041
+ <span class='kw'>when</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>@join</span><span class='tstring_end'>&quot;</span></span>
1042
+ <span class='id identifier rubyid_flatten'>flatten</span><span class='lparen'>(</span> <span class='id identifier rubyid_v'>v</span><span class='lbracket'>[</span><span class='int'>1</span><span class='op'>..</span><span class='op'>-</span><span class='int'>1</span><span class='rbracket'>]</span><span class='period'>.</span><span class='id identifier rubyid_map'>map</span><span class='lbrace'>{</span><span class='op'>|</span><span class='id identifier rubyid_i'>i</span><span class='op'>|</span> <span class='id identifier rubyid_expand'>expand</span><span class='lparen'>(</span> <span class='id identifier rubyid_i'>i</span> <span class='rparen'>)</span><span class='rbrace'>}</span> <span class='rparen'>)</span><span class='period'>.</span><span class='id identifier rubyid_join'>join</span><span class='lparen'>(</span> <span class='id identifier rubyid_v'>v</span><span class='lbracket'>[</span><span class='int'>0</span><span class='rbracket'>]</span> <span class='rparen'>)</span>
1043
+
1044
+ <span class='kw'>when</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>@flat</span><span class='tstring_end'>&quot;</span></span>
1045
+ <span class='id identifier rubyid_flatten'>flatten</span><span class='lparen'>(</span> <span class='id identifier rubyid_v'>v</span><span class='lbracket'>[</span><span class='int'>1</span><span class='op'>..</span><span class='op'>-</span><span class='int'>1</span><span class='rbracket'>]</span><span class='period'>.</span><span class='id identifier rubyid_map'>map</span><span class='lbrace'>{</span><span class='op'>|</span><span class='id identifier rubyid_i'>i</span><span class='op'>|</span> <span class='id identifier rubyid_expand'>expand</span><span class='lparen'>(</span> <span class='id identifier rubyid_i'>i</span> <span class='rparen'>)</span><span class='rbrace'>}</span> <span class='rparen'>)</span>
1046
+
1047
+ <span class='kw'>when</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>@self</span><span class='tstring_end'>&quot;</span></span>
1048
+ <span class='id identifier rubyid_reference'>reference</span><span class='lparen'>(</span> <span class='ivar'>@ext_data</span><span class='comma'>,</span> <span class='id identifier rubyid_expand'>expand</span><span class='lparen'>(</span><span class='id identifier rubyid_v'>v</span><span class='rparen'>)</span> <span class='rparen'>)</span>
1049
+
1050
+ <span class='kw'>when</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>@over</span><span class='tstring_end'>&quot;</span></span><span class='semicolon'>;</span>
1051
+ <span class='id identifier rubyid_override'>override</span><span class='lparen'>(</span> <span class='ivar'>@cur_data</span><span class='lbracket'>[</span><span class='int'>0</span><span class='rbracket'>]</span><span class='comma'>,</span> <span class='id identifier rubyid_expand'>expand</span><span class='lparen'>(</span><span class='id identifier rubyid_v'>v</span><span class='rparen'>)</span><span class='comma'>,</span> <span class='kw'>true</span> <span class='rparen'>)</span>
1052
+ <span class='kw'>nil</span>
1053
+
1054
+ <span class='kw'>when</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>@base</span><span class='tstring_end'>&quot;</span></span><span class='semicolon'>;</span>
1055
+ <span class='id identifier rubyid_override'>override</span><span class='lparen'>(</span> <span class='ivar'>@cur_data</span><span class='lbracket'>[</span><span class='int'>0</span><span class='rbracket'>]</span><span class='comma'>,</span> <span class='id identifier rubyid_expand'>expand</span><span class='lparen'>(</span><span class='id identifier rubyid_v'>v</span><span class='rparen'>)</span><span class='comma'>,</span> <span class='kw'>false</span> <span class='rparen'>)</span>
1056
+ <span class='kw'>nil</span>
1057
+
1058
+ <span class='kw'>when</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>@null</span><span class='tstring_end'>&quot;</span></span>
1059
+ <span class='kw'>nil</span>
1060
+
1061
+ <span class='kw'>when</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>@include</span><span class='tstring_end'>&quot;</span></span><span class='semicolon'>;</span>
1062
+ <span class='id identifier rubyid_jsonfile'>jsonfile</span> <span class='op'>=</span> <span class='id identifier rubyid_expand'>expand</span><span class='lparen'>(</span><span class='id identifier rubyid_v'>v</span><span class='rparen'>)</span>
1063
+ <span class='id identifier rubyid_subdata'>subdata</span> <span class='op'>=</span> <span class='id identifier rubyid_read_json_file'>read_json_file</span><span class='lparen'>(</span> <span class='id identifier rubyid_jsonfile'>jsonfile</span> <span class='rparen'>)</span>
1064
+ <span class='id identifier rubyid_expdata'>expdata</span> <span class='op'>=</span> <span class='id identifier rubyid_expand'>expand</span><span class='lparen'>(</span> <span class='id identifier rubyid_subdata'>subdata</span> <span class='rparen'>)</span>
1065
+ <span class='kw'>if</span> <span class='id identifier rubyid_expdata'>expdata</span><span class='period'>.</span><span class='id identifier rubyid_class'>class</span> <span class='op'>==</span> <span class='const'>Hash</span>
1066
+ <span class='kw'>if</span> <span class='ivar'>@cur_data</span><span class='lbracket'>[</span><span class='int'>0</span><span class='rbracket'>]</span><span class='period'>.</span><span class='id identifier rubyid_class'>class</span> <span class='op'>==</span> <span class='id identifier rubyid_expdata'>expdata</span><span class='period'>.</span><span class='id identifier rubyid_class'>class</span>
1067
+ <span class='id identifier rubyid_expdata'>expdata</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_ke'>ke</span><span class='comma'>,</span><span class='id identifier rubyid_ve'>ve</span><span class='op'>|</span>
1068
+ <span class='ivar'>@cur_data</span><span class='lbracket'>[</span><span class='int'>0</span><span class='rbracket'>]</span><span class='lbracket'>[</span> <span class='id identifier rubyid_ke'>ke</span> <span class='rbracket'>]</span> <span class='op'>=</span> <span class='id identifier rubyid_ve'>ve</span>
1069
+ <span class='kw'>end</span>
1070
+ <span class='kw'>else</span>
1071
+ <span class='id identifier rubyid_raise'>raise</span> <span class='const'><span class='object_link'><a href="Xjson/XjsonIncludeError.html" title="Xjson::XjsonIncludeError (class)">XjsonIncludeError</a></span></span><span class='comma'>,</span>
1072
+ <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>Included file (\&quot;</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_jsonfile'>jsonfile</span><span class='embexpr_end'>}</span><span class='tstring_content'>\&quot;) must contain a hash as top level</span><span class='tstring_end'>&quot;</span></span>
1073
+ <span class='kw'>end</span>
1074
+ <span class='kw'>elsif</span> <span class='id identifier rubyid_expdata'>expdata</span><span class='period'>.</span><span class='id identifier rubyid_class'>class</span> <span class='op'>==</span> <span class='const'>Array</span>
1075
+ <span class='id identifier rubyid_expdata'>expdata</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_ve'>ve</span><span class='op'>|</span>
1076
+ <span class='ivar'>@cur_data</span><span class='lbracket'>[</span><span class='int'>0</span><span class='rbracket'>]</span><span class='period'>.</span><span class='id identifier rubyid_push'>push</span> <span class='id identifier rubyid_ve'>ve</span>
1077
+ <span class='kw'>end</span>
1078
+ <span class='kw'>else</span>
1079
+ <span class='id identifier rubyid_raise'>raise</span> <span class='const'><span class='object_link'><a href="Xjson/XjsonIncludeError.html" title="Xjson::XjsonIncludeError (class)">XjsonIncludeError</a></span></span><span class='comma'>,</span>
1080
+ <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>Included file (\&quot;</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_jsonfile'>jsonfile</span><span class='embexpr_end'>}</span><span class='tstring_content'>\&quot;) must contain a hash or a an array as top level</span><span class='tstring_end'>&quot;</span></span>
1081
+ <span class='kw'>end</span>
1082
+ <span class='ivar'>@cur_file</span><span class='period'>.</span><span class='id identifier rubyid_shift'>shift</span>
1083
+ <span class='kw'>nil</span>
1084
+
1085
+ <span class='kw'>else</span>
1086
+ <span class='comment'># Non-extension.
1087
+ </span> <span class='lbrace'>{</span> <span class='id identifier rubyid_k'>k</span> <span class='op'>=&gt;</span> <span class='id identifier rubyid_expand'>expand</span><span class='lparen'>(</span> <span class='id identifier rubyid_v'>v</span> <span class='rparen'>)</span> <span class='rbrace'>}</span>
1088
+
1089
+ <span class='kw'>end</span>
1090
+
1091
+ <span class='kw'>else</span>
1092
+ <span class='id identifier rubyid_ret'>ret</span> <span class='op'>=</span> <span class='lbrace'>{</span><span class='rbrace'>}</span>
1093
+ <span class='ivar'>@cur_data</span><span class='period'>.</span><span class='id identifier rubyid_unshift'>unshift</span> <span class='id identifier rubyid_ret'>ret</span>
1094
+ <span class='id identifier rubyid_data'>data</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_k'>k</span><span class='comma'>,</span><span class='id identifier rubyid_v'>v</span><span class='op'>|</span>
1095
+ <span class='kw'>case</span> <span class='id identifier rubyid_k'>k</span>
1096
+ <span class='kw'>when</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>@null</span><span class='tstring_end'>&quot;</span></span><span class='semicolon'>;</span> <span class='kw'>nil</span>
1097
+ <span class='kw'>else</span>
1098
+ <span class='id identifier rubyid_value'>value</span> <span class='op'>=</span> <span class='id identifier rubyid_expand'>expand</span><span class='lparen'>(</span> <span class='id identifier rubyid_v'>v</span> <span class='rparen'>)</span>
1099
+ <span class='id identifier rubyid_ret'>ret</span><span class='lbracket'>[</span> <span class='id identifier rubyid_k'>k</span> <span class='rbracket'>]</span> <span class='op'>=</span> <span class='id identifier rubyid_value'>value</span> <span class='kw'>if</span> <span class='id identifier rubyid_value'>value</span>
1100
+ <span class='kw'>end</span>
1101
+ <span class='kw'>end</span>
1102
+ <span class='ivar'>@cur_data</span><span class='period'>.</span><span class='id identifier rubyid_shift'>shift</span>
1103
+ <span class='id identifier rubyid_ret'>ret</span>
1104
+ <span class='kw'>end</span>
1105
+ <span class='kw'>end</span>
1106
+ <span class='kw'>end</span></pre>
1107
+ </td>
1108
+ </tr>
1109
+ </table>
1110
+ </div>
1111
+
1112
+ <div class="method_details ">
1113
+ <h3 class="signature " id="find_in_array_of_hash-instance_method">
1114
+
1115
+ #<strong>find_in_array_of_hash</strong>(scope, key, value) &#x21d2; <tt>Object</tt>
1116
+
1117
+
1118
+
1119
+
1120
+
1121
+ </h3><table class="source_code">
1122
+ <tr>
1123
+ <td>
1124
+ <pre class="lines">
1125
+
1126
+
1127
+ 57
1128
+ 58
1129
+ 59
1130
+ 60
1131
+ 61
1132
+ 62
1133
+ 63
1134
+ 64
1135
+ 65
1136
+ 66</pre>
1137
+ </td>
1138
+ <td>
1139
+ <pre class="code"><span class="info file"># File 'lib/xjson.rb', line 57</span>
1140
+
1141
+ <span class='kw'>def</span> <span class='id identifier rubyid_find_in_array_of_hash'>find_in_array_of_hash</span><span class='lparen'>(</span> <span class='id identifier rubyid_scope'>scope</span><span class='comma'>,</span> <span class='id identifier rubyid_key'>key</span><span class='comma'>,</span> <span class='id identifier rubyid_value'>value</span> <span class='rparen'>)</span>
1142
+ <span class='id identifier rubyid_index'>index</span> <span class='op'>=</span> <span class='int'>0</span>
1143
+ <span class='kw'>while</span> <span class='id identifier rubyid_index'>index</span> <span class='op'>&lt;</span> <span class='id identifier rubyid_scope'>scope</span><span class='period'>.</span><span class='id identifier rubyid_length'>length</span>
1144
+ <span class='kw'>if</span> <span class='const'>Regexp</span><span class='period'>.</span><span class='id identifier rubyid_new'>new</span><span class='lparen'>(</span> <span class='id identifier rubyid_value'>value</span><span class='rparen'>)</span><span class='period'>.</span><span class='id identifier rubyid_match'>match</span><span class='lparen'>(</span> <span class='id identifier rubyid_scope'>scope</span><span class='lbracket'>[</span> <span class='id identifier rubyid_index'>index</span> <span class='rbracket'>]</span><span class='lbracket'>[</span> <span class='id identifier rubyid_key'>key</span> <span class='rbracket'>]</span> <span class='rparen'>)</span>
1145
+ <span class='kw'>return</span> <span class='id identifier rubyid_index'>index</span>
1146
+ <span class='kw'>end</span>
1147
+ <span class='id identifier rubyid_index'>index</span> <span class='op'>+=</span> <span class='int'>1</span>
1148
+ <span class='kw'>end</span>
1149
+ <span class='kw'>nil</span>
1150
+ <span class='kw'>end</span></pre>
1151
+ </td>
1152
+ </tr>
1153
+ </table>
1154
+ </div>
1155
+
1156
+ <div class="method_details ">
1157
+ <h3 class="signature " id="flatten-instance_method">
1158
+
1159
+ #<strong>flatten</strong>(data) &#x21d2; <tt>Object</tt>
1160
+
1161
+
1162
+
1163
+
1164
+
1165
+ </h3><div class="docstring">
1166
+ <div class="discussion">
1167
+
1168
+ <p>Flatten by one level within array.</p>
1169
+
1170
+
1171
+ </div>
1172
+ </div>
1173
+ <div class="tags">
1174
+
1175
+
1176
+ </div><table class="source_code">
1177
+ <tr>
1178
+ <td>
1179
+ <pre class="lines">
1180
+
1181
+
1182
+ 40
1183
+ 41
1184
+ 42
1185
+ 43
1186
+ 44
1187
+ 45
1188
+ 46
1189
+ 47
1190
+ 48
1191
+ 49
1192
+ 50
1193
+ 51
1194
+ 52
1195
+ 53
1196
+ 54
1197
+ 55</pre>
1198
+ </td>
1199
+ <td>
1200
+ <pre class="code"><span class="info file"># File 'lib/xjson.rb', line 40</span>
1201
+
1202
+ <span class='kw'>def</span> <span class='id identifier rubyid_flatten'>flatten</span><span class='lparen'>(</span> <span class='id identifier rubyid_data'>data</span> <span class='rparen'>)</span>
1203
+ <span class='kw'>case</span> <span class='id identifier rubyid_data'>data</span>
1204
+ <span class='kw'>when</span> <span class='const'>Array</span><span class='semicolon'>;</span>
1205
+ <span class='id identifier rubyid_res'>res</span> <span class='op'>=</span> <span class='lbracket'>[</span><span class='rbracket'>]</span>
1206
+ <span class='id identifier rubyid_data'>data</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_i'>i</span><span class='op'>|</span>
1207
+ <span class='kw'>if</span> <span class='id identifier rubyid_i'>i</span><span class='period'>.</span><span class='id identifier rubyid_class'>class</span> <span class='op'>==</span> <span class='const'>Array</span>
1208
+ <span class='id identifier rubyid_res'>res</span> <span class='op'>+=</span> <span class='id identifier rubyid_i'>i</span>
1209
+ <span class='kw'>else</span>
1210
+ <span class='id identifier rubyid_res'>res</span><span class='period'>.</span><span class='id identifier rubyid_push'>push</span> <span class='id identifier rubyid_i'>i</span>
1211
+ <span class='kw'>end</span>
1212
+ <span class='kw'>end</span>
1213
+ <span class='id identifier rubyid_res'>res</span>
1214
+ <span class='kw'>else</span>
1215
+ <span class='id identifier rubyid_data'>data</span>
1216
+ <span class='kw'>end</span>
1217
+ <span class='kw'>end</span></pre>
1218
+ </td>
1219
+ </tr>
1220
+ </table>
1221
+ </div>
1222
+
1223
+ <div class="method_details ">
1224
+ <h3 class="signature " id="override-instance_method">
1225
+
1226
+ #<strong>override</strong>(data, exp, overwrite = false) &#x21d2; <tt>Object</tt>
1227
+
1228
+
1229
+
1230
+
1231
+
1232
+ </h3><table class="source_code">
1233
+ <tr>
1234
+ <td>
1235
+ <pre class="lines">
1236
+
1237
+
1238
+ 146
1239
+ 147
1240
+ 148
1241
+ 149</pre>
1242
+ </td>
1243
+ <td>
1244
+ <pre class="code"><span class="info file"># File 'lib/xjson.rb', line 146</span>
1245
+
1246
+ <span class='kw'>def</span> <span class='id identifier rubyid_override'>override</span><span class='lparen'>(</span> <span class='id identifier rubyid_data'>data</span><span class='comma'>,</span> <span class='id identifier rubyid_exp'>exp</span><span class='comma'>,</span> <span class='id identifier rubyid_overwrite'>overwrite</span> <span class='op'>=</span> <span class='kw'>false</span> <span class='rparen'>)</span>
1247
+ <span class='id identifier rubyid_desc'>desc</span> <span class='op'>=</span> <span class='id identifier rubyid_override_desc'>override_desc</span><span class='lparen'>(</span> <span class='id identifier rubyid_data'>data</span><span class='comma'>,</span> <span class='id identifier rubyid_exp'>exp</span> <span class='rparen'>)</span>
1248
+ <span class='id identifier rubyid_override_apply'>override_apply</span><span class='lparen'>(</span> <span class='id identifier rubyid_desc'>desc</span><span class='comma'>,</span> <span class='id identifier rubyid_overwrite'>overwrite</span> <span class='rparen'>)</span>
1249
+ <span class='kw'>end</span></pre>
1250
+ </td>
1251
+ </tr>
1252
+ </table>
1253
+ </div>
1254
+
1255
+ <div class="method_details ">
1256
+ <h3 class="signature " id="override_apply-instance_method">
1257
+
1258
+ #<strong>override_apply</strong>(desc, overwrite = false) &#x21d2; <tt>Object</tt>
1259
+
1260
+
1261
+
1262
+
1263
+
1264
+ </h3><table class="source_code">
1265
+ <tr>
1266
+ <td>
1267
+ <pre class="lines">
1268
+
1269
+
1270
+ 131
1271
+ 132
1272
+ 133
1273
+ 134
1274
+ 135
1275
+ 136
1276
+ 137
1277
+ 138
1278
+ 139
1279
+ 140
1280
+ 141
1281
+ 142
1282
+ 143</pre>
1283
+ </td>
1284
+ <td>
1285
+ <pre class="code"><span class="info file"># File 'lib/xjson.rb', line 131</span>
1286
+
1287
+ <span class='kw'>def</span> <span class='id identifier rubyid_override_apply'>override_apply</span><span class='lparen'>(</span> <span class='id identifier rubyid_desc'>desc</span><span class='comma'>,</span> <span class='id identifier rubyid_overwrite'>overwrite</span> <span class='op'>=</span> <span class='kw'>false</span> <span class='rparen'>)</span>
1288
+ <span class='kw'>if</span> <span class='id identifier rubyid_desc'>desc</span><span class='lbracket'>[</span><span class='symbol'>:label</span><span class='rbracket'>]</span> <span class='op'>==</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>*</span><span class='tstring_end'>&quot;</span></span>
1289
+ <span class='id identifier rubyid_desc'>desc</span><span class='lbracket'>[</span><span class='symbol'>:path</span><span class='rbracket'>]</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_place'>place</span><span class='op'>|</span>
1290
+ <span class='kw'>if</span> <span class='kw'>not</span><span class='lparen'>(</span> <span class='id identifier rubyid_place'>place</span><span class='lbracket'>[</span> <span class='id identifier rubyid_desc'>desc</span><span class='lbracket'>[</span><span class='symbol'>:value</span><span class='rbracket'>]</span><span class='lbracket'>[</span><span class='int'>0</span><span class='rbracket'>]</span> <span class='rbracket'>]</span> <span class='rparen'>)</span> <span class='op'>||</span> <span class='id identifier rubyid_overwrite'>overwrite</span>
1291
+ <span class='id identifier rubyid_place'>place</span><span class='lbracket'>[</span> <span class='id identifier rubyid_desc'>desc</span><span class='lbracket'>[</span><span class='symbol'>:value</span><span class='rbracket'>]</span><span class='lbracket'>[</span><span class='int'>0</span><span class='rbracket'>]</span> <span class='rbracket'>]</span> <span class='op'>=</span> <span class='id identifier rubyid_desc'>desc</span><span class='lbracket'>[</span><span class='symbol'>:value</span><span class='rbracket'>]</span><span class='lbracket'>[</span><span class='int'>1</span><span class='rbracket'>]</span>
1292
+ <span class='kw'>end</span>
1293
+ <span class='kw'>end</span>
1294
+ <span class='kw'>else</span>
1295
+ <span class='kw'>if</span> <span class='kw'>not</span><span class='lparen'>(</span> <span class='id identifier rubyid_desc'>desc</span><span class='lbracket'>[</span><span class='symbol'>:path</span><span class='rbracket'>]</span><span class='lbracket'>[</span><span class='id identifier rubyid_desc'>desc</span><span class='lbracket'>[</span><span class='symbol'>:label</span><span class='rbracket'>]</span><span class='rbracket'>]</span> <span class='rparen'>)</span> <span class='op'>||</span> <span class='id identifier rubyid_overwrite'>overwrite</span>
1296
+ <span class='id identifier rubyid_desc'>desc</span><span class='lbracket'>[</span><span class='symbol'>:path</span><span class='rbracket'>]</span><span class='lbracket'>[</span><span class='id identifier rubyid_desc'>desc</span><span class='lbracket'>[</span><span class='symbol'>:label</span><span class='rbracket'>]</span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='id identifier rubyid_desc'>desc</span><span class='lbracket'>[</span><span class='symbol'>:value</span><span class='rbracket'>]</span>
1297
+ <span class='kw'>end</span>
1298
+ <span class='kw'>end</span>
1299
+ <span class='kw'>end</span></pre>
1300
+ </td>
1301
+ </tr>
1302
+ </table>
1303
+ </div>
1304
+
1305
+ <div class="method_details ">
1306
+ <h3 class="signature " id="override_desc-instance_method">
1307
+
1308
+ #<strong>override_desc</strong>(data, exp) &#x21d2; <tt>Object</tt>
1309
+
1310
+
1311
+
1312
+
1313
+
1314
+ </h3><table class="source_code">
1315
+ <tr>
1316
+ <td>
1317
+ <pre class="lines">
1318
+
1319
+
1320
+ 125
1321
+ 126
1322
+ 127
1323
+ 128</pre>
1324
+ </td>
1325
+ <td>
1326
+ <pre class="code"><span class="info file"># File 'lib/xjson.rb', line 125</span>
1327
+
1328
+ <span class='kw'>def</span> <span class='id identifier rubyid_override_desc'>override_desc</span><span class='lparen'>(</span> <span class='id identifier rubyid_data'>data</span><span class='comma'>,</span> <span class='id identifier rubyid_exp'>exp</span> <span class='rparen'>)</span>
1329
+ <span class='id identifier rubyid_path'>path</span><span class='comma'>,</span> <span class='id identifier rubyid_label'>label</span> <span class='op'>=</span> <span class='id identifier rubyid_reference_handle'>reference_handle</span><span class='lparen'>(</span> <span class='id identifier rubyid_data'>data</span><span class='comma'>,</span> <span class='id identifier rubyid_exp'>exp</span><span class='lbracket'>[</span><span class='int'>0</span><span class='rbracket'>]</span> <span class='rparen'>)</span>
1330
+ <span class='lbrace'>{</span> <span class='label'>path:</span> <span class='id identifier rubyid_path'>path</span><span class='comma'>,</span> <span class='label'>label:</span> <span class='id identifier rubyid_label'>label</span><span class='comma'>,</span> <span class='label'>value:</span> <span class='id identifier rubyid_exp'>exp</span><span class='lbracket'>[</span><span class='int'>1</span><span class='rbracket'>]</span> <span class='rbrace'>}</span>
1331
+ <span class='kw'>end</span></pre>
1332
+ </td>
1333
+ </tr>
1334
+ </table>
1335
+ </div>
1336
+
1337
+ <div class="method_details ">
1338
+ <h3 class="signature " id="read_json_file-instance_method">
1339
+
1340
+ #<strong>read_json_file</strong>(xjson_file) &#x21d2; <tt>Object</tt>
1341
+
1342
+
1343
+
1344
+
1345
+
1346
+ </h3><table class="source_code">
1347
+ <tr>
1348
+ <td>
1349
+ <pre class="lines">
1350
+
1351
+
1352
+ 30
1353
+ 31
1354
+ 32
1355
+ 33
1356
+ 34
1357
+ 35
1358
+ 36
1359
+ 37</pre>
1360
+ </td>
1361
+ <td>
1362
+ <pre class="code"><span class="info file"># File 'lib/xjson.rb', line 30</span>
1363
+
1364
+ <span class='kw'>def</span> <span class='id identifier rubyid_read_json_file'>read_json_file</span><span class='lparen'>(</span> <span class='id identifier rubyid_xjson_file'>xjson_file</span> <span class='rparen'>)</span>
1365
+ <span class='ivar'>@cur_file</span><span class='period'>.</span><span class='id identifier rubyid_unshift'>unshift</span> <span class='id identifier rubyid_xjson_file'>xjson_file</span>
1366
+ <span class='kw'>if</span> <span class='id identifier rubyid_xjson_file'>xjson_file</span><span class='lbracket'>[</span><span class='int'>0</span><span class='rbracket'>]</span> <span class='op'>!=</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>&lt;</span><span class='tstring_end'>&quot;</span></span>
1367
+ <span class='const'>JSON</span><span class='period'>.</span><span class='id identifier rubyid_parse'>parse</span><span class='lparen'>(</span> <span class='const'>File</span><span class='period'>.</span><span class='id identifier rubyid_read'>read</span><span class='lparen'>(</span> <span class='id identifier rubyid_xjson_file'>xjson_file</span> <span class='rparen'>)</span> <span class='rparen'>)</span>
1368
+ <span class='kw'>else</span>
1369
+ <span class='const'>JSON</span><span class='period'>.</span><span class='id identifier rubyid_parse'>parse</span><span class='lparen'>(</span> <span class='const'>STDIN</span><span class='period'>.</span><span class='id identifier rubyid_read'>read</span> <span class='rparen'>)</span>
1370
+ <span class='kw'>end</span>
1371
+ <span class='kw'>end</span></pre>
1372
+ </td>
1373
+ </tr>
1374
+ </table>
1375
+ </div>
1376
+
1377
+ <div class="method_details ">
1378
+ <h3 class="signature " id="reference-instance_method">
1379
+
1380
+ #<strong>reference</strong>(data, ref_desc) &#x21d2; <tt>Object</tt>
1381
+
1382
+
1383
+
1384
+
1385
+
1386
+ </h3><table class="source_code">
1387
+ <tr>
1388
+ <td>
1389
+ <pre class="lines">
1390
+
1391
+
1392
+ 108
1393
+ 109
1394
+ 110
1395
+ 111
1396
+ 112
1397
+ 113
1398
+ 114
1399
+ 115
1400
+ 116
1401
+ 117
1402
+ 118
1403
+ 119
1404
+ 120
1405
+ 121
1406
+ 122
1407
+ 123</pre>
1408
+ </td>
1409
+ <td>
1410
+ <pre class="code"><span class="info file"># File 'lib/xjson.rb', line 108</span>
1411
+
1412
+ <span class='kw'>def</span> <span class='id identifier rubyid_reference'>reference</span><span class='lparen'>(</span> <span class='id identifier rubyid_data'>data</span><span class='comma'>,</span> <span class='id identifier rubyid_ref_desc'>ref_desc</span> <span class='rparen'>)</span>
1413
+ <span class='id identifier rubyid_path'>path</span><span class='comma'>,</span> <span class='id identifier rubyid_label'>label</span> <span class='op'>=</span> <span class='id identifier rubyid_reference_handle'>reference_handle</span><span class='lparen'>(</span> <span class='id identifier rubyid_data'>data</span><span class='comma'>,</span> <span class='id identifier rubyid_ref_desc'>ref_desc</span> <span class='rparen'>)</span>
1414
+ <span class='kw'>begin</span>
1415
+ <span class='id identifier rubyid_index'>index</span> <span class='op'>=</span> <span class='const'>Integer</span><span class='lparen'>(</span> <span class='id identifier rubyid_label'>label</span> <span class='rparen'>)</span>
1416
+ <span class='id identifier rubyid_scope'>scope</span> <span class='op'>=</span> <span class='id identifier rubyid_path'>path</span><span class='lbracket'>[</span> <span class='id identifier rubyid_index'>index</span> <span class='rbracket'>]</span>
1417
+ <span class='kw'>rescue</span>
1418
+ <span class='comment'># scope = scope[ path[0] ]
1419
+ </span> <span class='id identifier rubyid_scope'>scope</span> <span class='op'>=</span> <span class='id identifier rubyid_path'>path</span><span class='lbracket'>[</span> <span class='id identifier rubyid_label'>label</span> <span class='rbracket'>]</span>
1420
+ <span class='kw'>end</span>
1421
+ <span class='comment'># scope = path[ label ]
1422
+ </span> <span class='comment'># if scope.class == String
1423
+ </span> <span class='id identifier rubyid_scope'>scope</span>
1424
+ <span class='comment'># else
1425
+ </span> <span class='comment'># scope.to_s
1426
+ </span> <span class='comment'># end
1427
+ </span><span class='kw'>end</span></pre>
1428
+ </td>
1429
+ </tr>
1430
+ </table>
1431
+ </div>
1432
+
1433
+ <div class="method_details ">
1434
+ <h3 class="signature " id="reference_handle-instance_method">
1435
+
1436
+ #<strong>reference_handle</strong>(data, ref_desc) &#x21d2; <tt>Object</tt>
1437
+
1438
+
1439
+
1440
+
1441
+
1442
+ </h3><table class="source_code">
1443
+ <tr>
1444
+ <td>
1445
+ <pre class="lines">
1446
+
1447
+
1448
+ 68
1449
+ 69
1450
+ 70
1451
+ 71
1452
+ 72
1453
+ 73
1454
+ 74
1455
+ 75
1456
+ 76
1457
+ 77
1458
+ 78
1459
+ 79
1460
+ 80
1461
+ 81
1462
+ 82
1463
+ 83
1464
+ 84
1465
+ 85
1466
+ 86
1467
+ 87
1468
+ 88
1469
+ 89
1470
+ 90
1471
+ 91
1472
+ 92
1473
+ 93
1474
+ 94
1475
+ 95
1476
+ 96
1477
+ 97
1478
+ 98
1479
+ 99
1480
+ 100
1481
+ 101
1482
+ 102
1483
+ 103
1484
+ 104
1485
+ 105
1486
+ 106</pre>
1487
+ </td>
1488
+ <td>
1489
+ <pre class="code"><span class="info file"># File 'lib/xjson.rb', line 68</span>
1490
+
1491
+ <span class='kw'>def</span> <span class='id identifier rubyid_reference_handle'>reference_handle</span><span class='lparen'>(</span> <span class='id identifier rubyid_data'>data</span><span class='comma'>,</span> <span class='id identifier rubyid_ref_desc'>ref_desc</span> <span class='rparen'>)</span>
1492
+ <span class='kw'>if</span> <span class='id identifier rubyid_ref_desc'>ref_desc</span><span class='lbracket'>[</span><span class='int'>0</span><span class='rbracket'>]</span> <span class='op'>!=</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>:</span><span class='tstring_end'>&quot;</span></span>
1493
+ <span class='comment'># [ data, ref_desc ]
1494
+ </span> <span class='id identifier rubyid_reference_handle'>reference_handle</span><span class='lparen'>(</span> <span class='id identifier rubyid_data'>data</span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>:</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_ref_desc'>ref_desc</span><span class='embexpr_end'>}</span><span class='tstring_end'>&quot;</span></span> <span class='rparen'>)</span>
1495
+ <span class='kw'>else</span>
1496
+ <span class='comment'># Relative reference from root.
1497
+ </span> <span class='id identifier rubyid_path'>path</span> <span class='op'>=</span> <span class='id identifier rubyid_ref_desc'>ref_desc</span><span class='period'>.</span><span class='id identifier rubyid_split'>split</span><span class='lparen'>(</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>:</span><span class='tstring_end'>&quot;</span></span> <span class='rparen'>)</span><span class='lbracket'>[</span><span class='int'>1</span><span class='op'>..</span><span class='op'>-</span><span class='int'>1</span><span class='rbracket'>]</span>
1498
+ <span class='id identifier rubyid_scope'>scope</span> <span class='op'>=</span> <span class='id identifier rubyid_data'>data</span>
1499
+ <span class='kw'>while</span> <span class='id identifier rubyid_path'>path</span><span class='lbracket'>[</span><span class='int'>0</span><span class='op'>..</span><span class='op'>-</span><span class='int'>2</span><span class='rbracket'>]</span><span class='period'>.</span><span class='id identifier rubyid_any?'>any?</span>
1500
+ <span class='kw'>if</span> <span class='id identifier rubyid_path'>path</span><span class='lbracket'>[</span><span class='int'>0</span><span class='rbracket'>]</span> <span class='op'>==</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>*</span><span class='tstring_end'>&quot;</span></span>
1501
+ <span class='comment'># Wildcard for array.
1502
+ </span> <span class='kw'>unless</span> <span class='id identifier rubyid_path'>path</span><span class='lbracket'>[</span><span class='int'>1</span><span class='rbracket'>]</span> <span class='op'>&amp;&amp;</span> <span class='id identifier rubyid_path'>path</span><span class='lbracket'>[</span><span class='int'>2</span><span class='rbracket'>]</span>
1503
+ <span class='id identifier rubyid_raise'>raise</span> <span class='const'><span class='object_link'><a href="Xjson/XjsonReferenceError.html" title="Xjson::XjsonReferenceError (class)">XjsonReferenceError</a></span></span><span class='comma'>,</span>
1504
+ <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>Invalid reference: \&quot;</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_ref_desc'>ref_desc</span><span class='embexpr_end'>}</span><span class='tstring_content'>\&quot; in \&quot;</span><span class='embexpr_beg'>#{</span><span class='ivar'>@cur_file</span><span class='lbracket'>[</span><span class='int'>0</span><span class='rbracket'>]</span><span class='embexpr_end'>}</span><span class='tstring_content'>\&quot;, missing match key and value ...</span><span class='tstring_end'>&quot;</span></span>
1505
+ <span class='kw'>end</span>
1506
+ <span class='id identifier rubyid_index'>index</span> <span class='op'>=</span> <span class='id identifier rubyid_find_in_array_of_hash'>find_in_array_of_hash</span><span class='lparen'>(</span> <span class='id identifier rubyid_scope'>scope</span><span class='comma'>,</span> <span class='id identifier rubyid_path'>path</span><span class='lbracket'>[</span><span class='int'>1</span><span class='rbracket'>]</span><span class='comma'>,</span> <span class='id identifier rubyid_path'>path</span><span class='lbracket'>[</span><span class='int'>2</span><span class='rbracket'>]</span> <span class='rparen'>)</span>
1507
+ <span class='kw'>unless</span> <span class='id identifier rubyid_index'>index</span>
1508
+ <span class='id identifier rubyid_raise'>raise</span> <span class='const'><span class='object_link'><a href="Xjson/XjsonReferenceError.html" title="Xjson::XjsonReferenceError (class)">XjsonReferenceError</a></span></span><span class='comma'>,</span>
1509
+ <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>Invalid reference: \&quot;</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_ref_desc'>ref_desc</span><span class='embexpr_end'>}</span><span class='tstring_content'>\&quot; in \&quot;</span><span class='embexpr_beg'>#{</span><span class='ivar'>@cur_file</span><span class='lbracket'>[</span><span class='int'>0</span><span class='rbracket'>]</span><span class='embexpr_end'>}</span><span class='tstring_content'>\&quot;, key and value not matched ...</span><span class='tstring_end'>&quot;</span></span>
1510
+ <span class='kw'>end</span>
1511
+ <span class='id identifier rubyid_scope'>scope</span> <span class='op'>=</span> <span class='id identifier rubyid_scope'>scope</span><span class='lbracket'>[</span> <span class='id identifier rubyid_index'>index</span> <span class='rbracket'>]</span>
1512
+ <span class='id identifier rubyid_path'>path</span><span class='period'>.</span><span class='id identifier rubyid_shift'>shift</span><span class='lparen'>(</span> <span class='int'>2</span> <span class='rparen'>)</span>
1513
+ <span class='kw'>else</span>
1514
+ <span class='kw'>begin</span>
1515
+ <span class='id identifier rubyid_index'>index</span> <span class='op'>=</span> <span class='const'>Integer</span><span class='lparen'>(</span> <span class='id identifier rubyid_path'>path</span><span class='lbracket'>[</span><span class='int'>0</span><span class='rbracket'>]</span> <span class='rparen'>)</span>
1516
+ <span class='id identifier rubyid_scope'>scope</span> <span class='op'>=</span> <span class='id identifier rubyid_scope'>scope</span><span class='lbracket'>[</span> <span class='id identifier rubyid_index'>index</span> <span class='rbracket'>]</span>
1517
+ <span class='kw'>rescue</span>
1518
+ <span class='id identifier rubyid_scope'>scope</span> <span class='op'>=</span> <span class='id identifier rubyid_scope'>scope</span><span class='lbracket'>[</span> <span class='id identifier rubyid_path'>path</span><span class='lbracket'>[</span><span class='int'>0</span><span class='rbracket'>]</span> <span class='rbracket'>]</span>
1519
+ <span class='kw'>end</span>
1520
+ <span class='kw'>end</span>
1521
+ <span class='id identifier rubyid_path'>path</span><span class='period'>.</span><span class='id identifier rubyid_shift'>shift</span>
1522
+ <span class='kw'>unless</span> <span class='id identifier rubyid_scope'>scope</span>
1523
+ <span class='id identifier rubyid_raise'>raise</span> <span class='const'><span class='object_link'><a href="Xjson/XjsonReferenceError.html" title="Xjson::XjsonReferenceError (class)">XjsonReferenceError</a></span></span><span class='comma'>,</span>
1524
+ <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>Invalid reference: \&quot;</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_ref_desc'>ref_desc</span><span class='embexpr_end'>}</span><span class='tstring_content'>\&quot; in \&quot;</span><span class='embexpr_beg'>#{</span><span class='ivar'>@cur_file</span><span class='lbracket'>[</span><span class='int'>0</span><span class='rbracket'>]</span><span class='embexpr_end'>}</span><span class='tstring_content'>\&quot;...</span><span class='tstring_end'>&quot;</span></span>
1525
+ <span class='kw'>end</span>
1526
+ <span class='kw'>end</span>
1527
+ <span class='lbracket'>[</span> <span class='id identifier rubyid_scope'>scope</span><span class='comma'>,</span> <span class='id identifier rubyid_path'>path</span><span class='lbracket'>[</span><span class='op'>-</span><span class='int'>1</span><span class='rbracket'>]</span> <span class='rbracket'>]</span>
1528
+ <span class='kw'>end</span>
1529
+ <span class='kw'>end</span></pre>
1530
+ </td>
1531
+ </tr>
1532
+ </table>
1533
+ </div>
1534
+
1535
+ <div class="method_details ">
1536
+ <h3 class="signature " id="to_s-instance_method">
1537
+
1538
+ #<strong>to_s</strong> &#x21d2; <tt>Object</tt>
1539
+
1540
+
1541
+
1542
+
1543
+
1544
+ </h3><table class="source_code">
1545
+ <tr>
1546
+ <td>
1547
+ <pre class="lines">
1548
+
1549
+
1550
+ 260
1551
+ 261
1552
+ 262</pre>
1553
+ </td>
1554
+ <td>
1555
+ <pre class="code"><span class="info file"># File 'lib/xjson.rb', line 260</span>
1556
+
1557
+ <span class='kw'>def</span> <span class='id identifier rubyid_to_s'>to_s</span>
1558
+ <span class='const'>JSON</span><span class='period'>.</span><span class='id identifier rubyid_pretty_generate'>pretty_generate</span><span class='lparen'>(</span> <span class='ivar'>@data</span> <span class='rparen'>)</span>
1559
+ <span class='kw'>end</span></pre>
1560
+ </td>
1561
+ </tr>
1562
+ </table>
1563
+ </div>
1564
+
1565
+ </div>
1566
+
1567
+ </div>
1568
+
1569
+ <div id="footer">
1570
+ Generated on Thu Jul 8 19:56:40 2021 by
1571
+ <a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
1572
+ 0.9.25 (ruby-2.7.2).
1573
+ </div>
1574
+
1575
+ </div>
1576
+ </body>
1577
+ </html>