xjson 0.1

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