jini 0.0.8 → 0.0.9

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 8dc491b839227a8d3ecf1afcea674feddc9cf1a4512325d047b6bb6cf54215a9
4
- data.tar.gz: bb54eda7497a78f4b2189f2528db6813d32a14ab77d7ea273a64b83443e68578
3
+ metadata.gz: ff07fd6583401569bff9987836b1fb42d7f0e2f63be76c57341bcaf8d7687ce5
4
+ data.tar.gz: 12936604512f8e880e9b18d48eeb5abb92d6d94fbb73847a508915bccf16ddf4
5
5
  SHA512:
6
- metadata.gz: 7869fb6e85d21e627b7c84330227b0f45d9a530e271579f37dc40c5fa8ec8fffb047a1ca0894a0ac9da2026630a816148fab93264bf65a9911cfb1794f4daf0e
7
- data.tar.gz: '0193542647b5a7539c9d2de3caa8f6fb8d29625c14c4d921fbabbc5909a2d65184aba96bdeeb156337f71c9903665ce96827a766d28fd2ea36c8efb2c824a7e0'
6
+ metadata.gz: 9d45fd8e0d6ea6f14aa029070ef1222359fa206a0253e23860582680208f1d4c317fa130d7c0326259b598761688a699a76b44ff37422d6dbed52ff6bb682551
7
+ data.tar.gz: 9137f564168c1f51d6a2ce33a92aa85cc8577492bdbf06eb76025a0acca4dbb63c7f982eb86644c4152538737989cd12a7bfa26a667161d9027771318efa0830
data/.yardoc/checksums CHANGED
@@ -1 +1 @@
1
- lib/jini.rb bfab717057651e3d062c07ed9b3c6d8d619a6936
1
+ lib/jini.rb a9106f03f3b7d09ee47b0bc5ae7bce709b21c1b5
data/.yardoc/object_types CHANGED
Binary file
Binary file
data/README.md CHANGED
@@ -2,7 +2,7 @@
2
2
 
3
3
  [![Gem Version](https://badge.fury.io/rb/jini.svg)](https://badge.fury.io/rb/jini)
4
4
 
5
- The class [`Jini`](https://www.rubydoc.info/gems/jini/0.0.7/Jini) helps you build a XPATH.
5
+ The class [`Jini`](https://www.rubydoc.info/gems/jini/0.0.8/Jini) helps you build a XPATH.
6
6
 
7
7
  ```ruby
8
8
  require 'jini'
@@ -16,7 +16,7 @@ xpath = Jini
16
16
  puts(xpath) # -> xpath: /parent[@key="value"]
17
17
  ```
18
18
 
19
- The full list of methods is [here](https://www.rubydoc.info/gems/jini/0.0.7).
19
+ The full list of methods is [here](https://www.rubydoc.info/gems/jini/0.0.8).
20
20
 
21
21
  Install it:
22
22
 
@@ -125,7 +125,7 @@
125
125
  </div>
126
126
 
127
127
  <div id="footer">
128
- Generated on Fri Sep 16 16:54:43 2022 by
128
+ Generated on Sat Sep 17 07:51:31 2022 by
129
129
  <a href="https://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
130
130
  0.9.28 (ruby-3.0.0).
131
131
  </div>
data/doc/Jini.html CHANGED
@@ -106,9 +106,9 @@
106
106
 
107
107
  <p>require ‘jini’ xpath = Jini.new(‘parent’)</p>
108
108
 
109
- <pre class="code ruby"><code class="ruby">.add_path(node: &#39;child&#39;)
110
- .add_path(node: &#39;toy&#39;)
111
- .to_s // body/child/toy
109
+ <pre class="code ruby"><code class="ruby">.add_node(&#39;child&#39;)
110
+ .add_attr(&#39;toy&#39;, &#39;plane&#39;)
111
+ .to_s // parent/child[@toy=&quot;plane&quot;]
112
112
  </code></pre>
113
113
 
114
114
 
@@ -256,7 +256,7 @@
256
256
 
257
257
 
258
258
  <span class="summary_desc"><div class='inline'>
259
- <p>Addition property in tail Before: ‘../child’ After: ‘../child/property()’.</p>
259
+ <p>Addition property in tail.</p>
260
260
  </div></span>
261
261
 
262
262
  </li>
@@ -426,7 +426,7 @@
426
426
 
427
427
 
428
428
  <span class="summary_desc"><div class='inline'>
429
- <p>Removes attr by name before: ‘/<a href="@k="v"">parent/child</a>’ after: ‘/parent/child’.</p>
429
+ <p>Removes attr by name.</p>
430
430
  </div></span>
431
431
 
432
432
  </li>
@@ -453,6 +453,30 @@
453
453
  <p>Removes node by name.</p>
454
454
  </div></span>
455
455
 
456
+ </li>
457
+
458
+
459
+ <li class="public ">
460
+ <span class="summary_signature">
461
+
462
+ <a href="#replace_node-instance_method" title="#replace_node (instance method)">#<strong>replace_node</strong>(origin, new) &#x21d2; Object </a>
463
+
464
+
465
+
466
+ </span>
467
+
468
+
469
+
470
+
471
+
472
+
473
+
474
+
475
+
476
+ <span class="summary_desc"><div class='inline'>
477
+ <p>This method replaces <strong>all</strong> origins to new.</p>
478
+ </div></span>
479
+
456
480
  </li>
457
481
 
458
482
 
@@ -474,7 +498,7 @@
474
498
 
475
499
 
476
500
  <span class="summary_desc"><div class='inline'>
477
- <p>Replace all ‘/’ to ‘::’ symbols if path doesn’t contain invalid symbols for selection.</p>
501
+ <p>Replace all ‘/’ to ‘::’ symbols.</p>
478
502
  </div></span>
479
503
 
480
504
  </li>
@@ -655,12 +679,12 @@
655
679
  <pre class="lines">
656
680
 
657
681
 
658
- 77
659
- 78
660
- 79</pre>
682
+ 94
683
+ 95
684
+ 96</pre>
661
685
  </td>
662
686
  <td>
663
- <pre class="code"><span class="info file"># File 'lib/jini.rb', line 77</span>
687
+ <pre class="code"><span class="info file"># File 'lib/jini.rb', line 94</span>
664
688
 
665
689
  <span class='kw'>def</span> <span class='id identifier rubyid_add_attr'>add_attr</span><span class='lparen'>(</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>
666
690
  <span class='const'><span class='object_link'><a href="" title="Jini (class)">Jini</a></span></span><span class='period'>.</span><span class='id identifier rubyid_new'><span class='object_link'><a href="#initialize-instance_method" title="Jini#initialize (method)">new</a></span></span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>&quot;</span><span class='embexpr_beg'>#{</span><span class='ivar'>@head</span><span class='embexpr_end'>}</span><span class='tstring_content'>[@</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_key'>key</span><span class='embexpr_end'>}</span><span class='tstring_content'>=\&quot;</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_value'>value</span><span class='embexpr_end'>}</span><span class='tstring_content'>\&quot;]</span><span class='tstring_end'>&quot;</span></span><span class='rparen'>)</span>
@@ -682,7 +706,7 @@
682
706
  </h3><div class="docstring">
683
707
  <div class="discussion">
684
708
 
685
- <p>Adds ‘@value’ to tail</p>
709
+ <p>Adds ‘@value’ to tail.</p>
686
710
 
687
711
 
688
712
  </div>
@@ -734,12 +758,12 @@
734
758
  <pre class="lines">
735
759
 
736
760
 
737
- 84
738
- 85
739
- 86</pre>
761
+ 101
762
+ 102
763
+ 103</pre>
740
764
  </td>
741
765
  <td>
742
- <pre class="code"><span class="info file"># File 'lib/jini.rb', line 84</span>
766
+ <pre class="code"><span class="info file"># File 'lib/jini.rb', line 101</span>
743
767
 
744
768
  <span class='kw'>def</span> <span class='id identifier rubyid_add_attrs'>add_attrs</span><span class='lparen'>(</span><span class='id identifier rubyid_value'>value</span><span class='rparen'>)</span>
745
769
  <span class='const'><span class='object_link'><a href="" title="Jini (class)">Jini</a></span></span><span class='period'>.</span><span class='id identifier rubyid_new'><span class='object_link'><a href="#initialize-instance_method" title="Jini#initialize (method)">new</a></span></span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>&quot;</span><span class='embexpr_beg'>#{</span><span class='ivar'>@head</span><span class='embexpr_end'>}</span><span class='tstring_content'>@</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_value'>value</span><span class='embexpr_end'>}</span><span class='tstring_end'>&quot;</span></span><span class='rparen'>)</span>
@@ -813,12 +837,12 @@
813
837
  <pre class="lines">
814
838
 
815
839
 
816
- 59
817
- 60
818
- 61</pre>
840
+ 55
841
+ 56
842
+ 57</pre>
819
843
  </td>
820
844
  <td>
821
- <pre class="code"><span class="info file"># File 'lib/jini.rb', line 59</span>
845
+ <pre class="code"><span class="info file"># File 'lib/jini.rb', line 55</span>
822
846
 
823
847
  <span class='kw'>def</span> <span class='id identifier rubyid_add_node'>add_node</span><span class='lparen'>(</span><span class='id identifier rubyid_node'>node</span><span class='rparen'>)</span>
824
848
  <span class='const'><span class='object_link'><a href="" title="Jini (class)">Jini</a></span></span><span class='period'>.</span><span class='id identifier rubyid_new'><span class='object_link'><a href="#initialize-instance_method" title="Jini#initialize (method)">new</a></span></span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>&quot;</span><span class='embexpr_beg'>#{</span><span class='ivar'>@head</span><span class='embexpr_end'>}</span><span class='tstring_content'>/</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_node'>node</span><span class='embexpr_end'>}</span><span class='tstring_end'>&quot;</span></span><span class='rparen'>)</span>
@@ -892,12 +916,12 @@
892
916
  <pre class="lines">
893
917
 
894
918
 
895
- 101
896
- 102
897
- 103</pre>
919
+ 118
920
+ 119
921
+ 120</pre>
898
922
  </td>
899
923
  <td>
900
- <pre class="code"><span class="info file"># File 'lib/jini.rb', line 101</span>
924
+ <pre class="code"><span class="info file"># File 'lib/jini.rb', line 118</span>
901
925
 
902
926
  <span class='kw'>def</span> <span class='id identifier rubyid_add_nodes'>add_nodes</span><span class='lparen'>(</span><span class='id identifier rubyid_node'>node</span><span class='rparen'>)</span>
903
927
  <span class='const'><span class='object_link'><a href="" title="Jini (class)">Jini</a></span></span><span class='period'>.</span><span class='id identifier rubyid_new'><span class='object_link'><a href="#initialize-instance_method" title="Jini#initialize (method)">new</a></span></span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>&quot;</span><span class='embexpr_beg'>#{</span><span class='ivar'>@head</span><span class='embexpr_end'>}</span><span class='tstring_content'>//</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_node'>node</span><span class='embexpr_end'>}</span><span class='tstring_end'>&quot;</span></span><span class='rparen'>)</span>
@@ -919,7 +943,7 @@
919
943
  </h3><div class="docstring">
920
944
  <div class="discussion">
921
945
 
922
- <p>Addition property in tail Before: ‘../child’ After: ‘../child/property()’</p>
946
+ <p>Addition property in tail. Before: ‘../child’ After: ‘../child/property()’</p>
923
947
 
924
948
 
925
949
  </div>
@@ -966,12 +990,12 @@
966
990
  <pre class="lines">
967
991
 
968
992
 
969
- 68
970
- 69
971
- 70</pre>
993
+ 85
994
+ 86
995
+ 87</pre>
972
996
  </td>
973
997
  <td>
974
- <pre class="code"><span class="info file"># File 'lib/jini.rb', line 68</span>
998
+ <pre class="code"><span class="info file"># File 'lib/jini.rb', line 85</span>
975
999
 
976
1000
  <span class='kw'>def</span> <span class='id identifier rubyid_add_property'>add_property</span><span class='lparen'>(</span><span class='id identifier rubyid_property'>property</span><span class='rparen'>)</span>
977
1001
  <span class='const'><span class='object_link'><a href="" title="Jini (class)">Jini</a></span></span><span class='period'>.</span><span class='id identifier rubyid_new'><span class='object_link'><a href="#initialize-instance_method" title="Jini#initialize (method)">new</a></span></span><span class='lparen'>(</span><span class='id identifier rubyid_add_node'>add_node</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>&quot;</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_property'>property</span><span class='embexpr_end'>}</span><span class='tstring_content'>()</span><span class='tstring_end'>&quot;</span></span><span class='rparen'>)</span><span class='period'>.</span><span class='id identifier rubyid_to_s'>to_s</span><span class='rparen'>)</span>
@@ -1043,13 +1067,13 @@
1043
1067
  <pre class="lines">
1044
1068
 
1045
1069
 
1046
- 92
1047
- 93
1048
- 94
1049
- 95</pre>
1070
+ 109
1071
+ 110
1072
+ 111
1073
+ 112</pre>
1050
1074
  </td>
1051
1075
  <td>
1052
- <pre class="code"><span class="info file"># File 'lib/jini.rb', line 92</span>
1076
+ <pre class="code"><span class="info file"># File 'lib/jini.rb', line 109</span>
1053
1077
 
1054
1078
  <span class='kw'>def</span> <span class='id identifier rubyid_all'>all</span>
1055
1079
  <span class='id identifier rubyid_raise'>raise</span> <span class='const'><span class='object_link'><a href="Jini/InvalidPath.html" title="Jini::InvalidPath (class)">InvalidPath</a></span></span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>You cannot add all tag after attr!</span><span class='tstring_end'>&#39;</span></span> <span class='kw'>if</span> <span class='ivar'>@head</span><span class='lbracket'>[</span><span class='op'>-</span><span class='int'>1</span><span class='rbracket'>]</span><span class='period'>.</span><span class='id identifier rubyid_eql?'>eql?</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>]</span><span class='tstring_end'>&#39;</span></span><span class='rparen'>)</span>
@@ -1142,13 +1166,13 @@
1142
1166
  <pre class="lines">
1143
1167
 
1144
1168
 
1145
- 110
1146
- 111
1147
- 112
1148
- 113</pre>
1169
+ 127
1170
+ 128
1171
+ 129
1172
+ 130</pre>
1149
1173
  </td>
1150
1174
  <td>
1151
- <pre class="code"><span class="info file"># File 'lib/jini.rb', line 110</span>
1175
+ <pre class="code"><span class="info file"># File 'lib/jini.rb', line 127</span>
1152
1176
 
1153
1177
  <span class='kw'>def</span> <span class='id identifier rubyid_at'>at</span><span class='lparen'>(</span><span class='id identifier rubyid_position'>position</span><span class='rparen'>)</span>
1154
1178
  <span class='id identifier rubyid_raise'>raise</span> <span class='const'><span class='object_link'><a href="Jini/InvalidPath.html" title="Jini::InvalidPath (class)">InvalidPath</a></span></span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>Cant use at after selection</span><span class='tstring_end'>&#39;</span></span> <span class='kw'>if</span> <span class='ivar'>@head</span><span class='period'>.</span><span class='id identifier rubyid_include?'>include?</span> <span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>::</span><span class='tstring_end'>&#39;</span></span>
@@ -1229,12 +1253,12 @@
1229
1253
  <pre class="lines">
1230
1254
 
1231
1255
 
1232
- 170
1233
- 171
1234
- 172</pre>
1256
+ 176
1257
+ 177
1258
+ 178</pre>
1235
1259
  </td>
1236
1260
  <td>
1237
- <pre class="code"><span class="info file"># File 'lib/jini.rb', line 170</span>
1261
+ <pre class="code"><span class="info file"># File 'lib/jini.rb', line 176</span>
1238
1262
 
1239
1263
  <span class='kw'>def</span> <span class='id identifier rubyid_gt'>gt</span><span class='lparen'>(</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>
1240
1264
  <span class='id identifier rubyid_action_between'>action_between</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>&gt;</span><span class='tstring_end'>&#39;</span></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>
@@ -1314,12 +1338,12 @@
1314
1338
  <pre class="lines">
1315
1339
 
1316
1340
 
1317
- 161
1318
- 162
1319
- 163</pre>
1341
+ 167
1342
+ 168
1343
+ 169</pre>
1320
1344
  </td>
1321
1345
  <td>
1322
- <pre class="code"><span class="info file"># File 'lib/jini.rb', line 161</span>
1346
+ <pre class="code"><span class="info file"># File 'lib/jini.rb', line 167</span>
1323
1347
 
1324
1348
  <span class='kw'>def</span> <span class='id identifier rubyid_lt'>lt</span><span class='lparen'>(</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>
1325
1349
  <span class='id identifier rubyid_action_between'>action_between</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>&lt;</span><span class='tstring_end'>&#39;</span></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>
@@ -1409,12 +1433,12 @@
1409
1433
  <pre class="lines">
1410
1434
 
1411
1435
 
1412
- 152
1413
- 153
1414
- 154</pre>
1436
+ 158
1437
+ 159
1438
+ 160</pre>
1415
1439
  </td>
1416
1440
  <td>
1417
- <pre class="code"><span class="info file"># File 'lib/jini.rb', line 152</span>
1441
+ <pre class="code"><span class="info file"># File 'lib/jini.rb', line 158</span>
1418
1442
 
1419
1443
  <span class='kw'>def</span> <span class='kw'>or</span><span class='lparen'>(</span><span class='id identifier rubyid_alpha'>alpha</span><span class='comma'>,</span> <span class='id identifier rubyid_beta'>beta</span><span class='rparen'>)</span>
1420
1444
  <span class='id identifier rubyid_action_between'>action_between</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>|</span><span class='tstring_end'>&#39;</span></span><span class='comma'>,</span> <span class='id identifier rubyid_alpha'>alpha</span><span class='comma'>,</span> <span class='id identifier rubyid_beta'>beta</span><span class='rparen'>)</span>
@@ -1436,7 +1460,7 @@
1436
1460
  </h3><div class="docstring">
1437
1461
  <div class="discussion">
1438
1462
 
1439
- <p>Removes attr by name before: ‘/<a href="@k="v"">parent/child</a>’ after: ‘/parent/child’</p>
1463
+ <p>Removes attr by name. before: ‘/parent/child [@k=“v”]’ after: ‘/parent/child’</p>
1440
1464
 
1441
1465
 
1442
1466
  </div>
@@ -1488,18 +1512,18 @@
1488
1512
  <pre class="lines">
1489
1513
 
1490
1514
 
1491
- 142
1492
- 143
1493
- 144
1494
- 145
1495
- 146</pre>
1515
+ 148
1516
+ 149
1517
+ 150
1518
+ 151
1519
+ 152</pre>
1496
1520
  </td>
1497
1521
  <td>
1498
- <pre class="code"><span class="info file"># File 'lib/jini.rb', line 142</span>
1522
+ <pre class="code"><span class="info file"># File 'lib/jini.rb', line 148</span>
1499
1523
 
1500
1524
  <span class='kw'>def</span> <span class='id identifier rubyid_remove_attr'>remove_attr</span><span class='lparen'>(</span><span class='id identifier rubyid_name'>name</span><span class='rparen'>)</span>
1501
1525
  <span class='const'><span class='object_link'><a href="" title="Jini (class)">Jini</a></span></span><span class='period'>.</span><span class='id identifier rubyid_new'><span class='object_link'><a href="#initialize-instance_method" title="Jini#initialize (method)">new</a></span></span><span class='lparen'>(</span>
1502
- <span class='id identifier rubyid_purge'>purge</span><span class='lparen'>(</span><span class='tstring'><span class='regexp_beg'>/</span><span class='tstring_content'>(\[@?</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_name'>name</span><span class='embexpr_end'>}</span><span class='tstring_content'>=&quot;[^&quot;]+&quot;(\[\]+|\]))</span><span class='regexp_end'>/</span></span><span class='rparen'>)</span>
1526
+ <span class='id identifier rubyid_purge_head'>purge_head</span><span class='lparen'>(</span><span class='tstring'><span class='regexp_beg'>/</span><span class='tstring_content'>(\[@?</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_name'>name</span><span class='embexpr_end'>}</span><span class='tstring_content'>=&quot;[^&quot;]+&quot;(\[\]+|\]))</span><span class='regexp_end'>/</span></span><span class='rparen'>)</span>
1503
1527
  <span class='rparen'>)</span>
1504
1528
  <span class='kw'>end</span></pre>
1505
1529
  </td>
@@ -1571,18 +1595,105 @@
1571
1595
  <pre class="lines">
1572
1596
 
1573
1597
 
1574
- 129
1575
- 130
1576
- 131
1577
- 132
1578
- 133</pre>
1598
+ 62
1599
+ 63
1600
+ 64
1601
+ 65
1602
+ 66</pre>
1579
1603
  </td>
1580
1604
  <td>
1581
- <pre class="code"><span class="info file"># File 'lib/jini.rb', line 129</span>
1605
+ <pre class="code"><span class="info file"># File 'lib/jini.rb', line 62</span>
1582
1606
 
1583
1607
  <span class='kw'>def</span> <span class='id identifier rubyid_remove_node'>remove_node</span><span class='lparen'>(</span><span class='id identifier rubyid_node'>node</span><span class='rparen'>)</span>
1584
1608
  <span class='const'><span class='object_link'><a href="" title="Jini (class)">Jini</a></span></span><span class='period'>.</span><span class='id identifier rubyid_new'><span class='object_link'><a href="#initialize-instance_method" title="Jini#initialize (method)">new</a></span></span><span class='lparen'>(</span>
1585
- <span class='id identifier rubyid_purge'>purge</span><span class='lparen'>(</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_node'>node</span><span class='embexpr_end'>}</span><span class='tstring_end'>&quot;</span></span><span class='rparen'>)</span>
1609
+ <span class='id identifier rubyid_purge_head'>purge_head</span><span class='lparen'>(</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_node'>node</span><span class='embexpr_end'>}</span><span class='tstring_end'>&quot;</span></span><span class='rparen'>)</span>
1610
+ <span class='rparen'>)</span>
1611
+ <span class='kw'>end</span></pre>
1612
+ </td>
1613
+ </tr>
1614
+ </table>
1615
+ </div>
1616
+
1617
+ <div class="method_details ">
1618
+ <h3 class="signature " id="replace_node-instance_method">
1619
+
1620
+ #<strong>replace_node</strong>(origin, new) &#x21d2; <tt>Object</tt>
1621
+
1622
+
1623
+
1624
+
1625
+
1626
+ </h3><div class="docstring">
1627
+ <div class="discussion">
1628
+
1629
+ <p>This method replaces <strong>all</strong> origins to new</p>
1630
+
1631
+
1632
+ </div>
1633
+ </div>
1634
+ <div class="tags">
1635
+ <p class="tag_title">Parameters:</p>
1636
+ <ul class="param">
1637
+
1638
+ <li>
1639
+
1640
+ <span class='name'>origin</span>
1641
+
1642
+
1643
+ <span class='type'>(<tt>String</tt>)</span>
1644
+
1645
+
1646
+
1647
+ &mdash;
1648
+ <div class='inline'>
1649
+ <p>node</p>
1650
+ </div>
1651
+
1652
+ </li>
1653
+
1654
+ <li>
1655
+
1656
+ <span class='name'>new</span>
1657
+
1658
+
1659
+ <span class='type'>(<tt>String</tt>)</span>
1660
+
1661
+
1662
+
1663
+ &mdash;
1664
+ <div class='inline'>
1665
+ <p>node</p>
1666
+ </div>
1667
+
1668
+ </li>
1669
+
1670
+ </ul>
1671
+
1672
+
1673
+ </div><table class="source_code">
1674
+ <tr>
1675
+ <td>
1676
+ <pre class="lines">
1677
+
1678
+
1679
+ 71
1680
+ 72
1681
+ 73
1682
+ 74
1683
+ 75
1684
+ 76
1685
+ 77
1686
+ 78</pre>
1687
+ </td>
1688
+ <td>
1689
+ <pre class="code"><span class="info file"># File 'lib/jini.rb', line 71</span>
1690
+
1691
+ <span class='kw'>def</span> <span class='id identifier rubyid_replace_node'>replace_node</span><span class='lparen'>(</span><span class='id identifier rubyid_origin'>origin</span><span class='comma'>,</span> <span class='id identifier rubyid_new'>new</span><span class='rparen'>)</span>
1692
+ <span class='const'><span class='object_link'><a href="" title="Jini (class)">Jini</a></span></span><span class='period'>.</span><span class='id identifier rubyid_new'><span class='object_link'><a href="#initialize-instance_method" title="Jini#initialize (method)">new</a></span></span><span class='lparen'>(</span>
1693
+ <span class='ivar'>@head</span>
1694
+ <span class='period'>.</span><span class='id identifier rubyid_split'>split</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>/</span><span class='tstring_end'>&#39;</span></span><span class='rparen'>)</span>
1695
+ <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_node'>node</span><span class='op'>|</span> <span class='id identifier rubyid_node'>node</span><span class='period'>.</span><span class='id identifier rubyid_eql?'>eql?</span><span class='lparen'>(</span><span class='id identifier rubyid_origin'>origin</span><span class='rparen'>)</span> <span class='op'>?</span> <span class='id identifier rubyid_new'>new</span> <span class='op'>:</span> <span class='id identifier rubyid_node'>node</span> <span class='rbrace'>}</span>
1696
+ <span class='period'>.</span><span class='id identifier rubyid_join'>join</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>/</span><span class='tstring_end'>&#39;</span></span><span class='rparen'>)</span>
1586
1697
  <span class='rparen'>)</span>
1587
1698
  <span class='kw'>end</span></pre>
1588
1699
  </td>
@@ -1602,7 +1713,7 @@
1602
1713
  </h3><div class="docstring">
1603
1714
  <div class="discussion">
1604
1715
 
1605
- <p>Replace all ‘/’ to ‘::’ symbols if path doesn’t contain invalid symbols for selection</p>
1716
+ <p>Replace all ‘/’ to ‘::’ symbols. if path doesn’t contain invalid symbols for selection</p>
1606
1717
 
1607
1718
 
1608
1719
  </div>
@@ -1652,20 +1763,16 @@
1652
1763
  <pre class="lines">
1653
1764
 
1654
1765
 
1655
- 119
1656
- 120
1657
- 121
1658
- 122
1659
- 123
1660
- 124</pre>
1766
+ 136
1767
+ 137
1768
+ 138
1769
+ 139</pre>
1661
1770
  </td>
1662
1771
  <td>
1663
- <pre class="code"><span class="info file"># File 'lib/jini.rb', line 119</span>
1772
+ <pre class="code"><span class="info file"># File 'lib/jini.rb', line 136</span>
1664
1773
 
1665
1774
  <span class='kw'>def</span> <span class='id identifier rubyid_selection'>selection</span>
1666
- <span class='kw'>if</span> <span class='ivar'>@head</span><span class='period'>.</span><span class='id identifier rubyid_include?'>include?</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>[</span><span class='tstring_end'>&#39;</span></span><span class='rparen'>)</span> <span class='op'>||</span> <span class='ivar'>@head</span><span class='period'>.</span><span class='id identifier rubyid_include?'>include?</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>]</span><span class='tstring_end'>&#39;</span></span><span class='rparen'>)</span> <span class='op'>||</span> <span class='ivar'>@head</span><span class='period'>.</span><span class='id identifier rubyid_include?'>include?</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>@</span><span class='tstring_end'>&#39;</span></span><span class='rparen'>)</span> <span class='op'>||</span> <span class='ivar'>@head</span><span class='period'>.</span><span class='id identifier rubyid_include?'>include?</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>//</span><span class='tstring_end'>&#39;</span></span><span class='rparen'>)</span>
1667
- <span class='id identifier rubyid_raise'>raise</span> <span class='const'><span class='object_link'><a href="Jini/InvalidPath.html" title="Jini::InvalidPath (class)">InvalidPath</a></span></span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>Cannot select, path contains bad symbols</span><span class='tstring_end'>&#39;</span></span>
1668
- <span class='kw'>end</span>
1775
+ <span class='id identifier rubyid_raise'>raise</span> <span class='const'><span class='object_link'><a href="Jini/InvalidPath.html" title="Jini::InvalidPath (class)">InvalidPath</a></span></span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>Cannot select, path contains bad symbols</span><span class='tstring_end'>&#39;</span></span> <span class='kw'>if</span> <span class='id identifier rubyid_bad_symbols?'>bad_symbols?</span> <span class='ivar'>@head</span>
1669
1776
  <span class='const'><span class='object_link'><a href="" title="Jini (class)">Jini</a></span></span><span class='period'>.</span><span class='id identifier rubyid_new'><span class='object_link'><a href="#initialize-instance_method" title="Jini#initialize (method)">new</a></span></span><span class='lparen'>(</span><span class='ivar'>@head</span><span class='period'>.</span><span class='id identifier rubyid_gsub'>gsub</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>/</span><span class='tstring_end'>&#39;</span></span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>::</span><span class='tstring_end'>&#39;</span></span><span class='rparen'>)</span><span class='period'>.</span><span class='id identifier rubyid_to_s'>to_s</span><span class='rparen'>)</span>
1670
1777
  <span class='kw'>end</span></pre>
1671
1778
  </td>
@@ -1739,22 +1846,14 @@
1739
1846
  47
1740
1847
  48
1741
1848
  49
1742
- 50
1743
- 51
1744
- 52
1745
- 53
1746
- 54</pre>
1849
+ 50</pre>
1747
1850
  </td>
1748
1851
  <td>
1749
1852
  <pre class="code"><span class="info file"># File 'lib/jini.rb', line 46</span>
1750
1853
 
1751
1854
  <span class='kw'>def</span> <span class='id identifier rubyid_to_s'>to_s</span>
1752
1855
  <span class='id identifier rubyid_copy'>copy</span> <span class='op'>=</span> <span class='ivar'>@head</span><span class='period'>.</span><span class='id identifier rubyid_split'>split</span><span class='lparen'>(</span><span class='tstring'><span class='regexp_beg'>%r{</span><span class='tstring_content'>//|/</span><span class='regexp_end'>}</span></span><span class='rparen'>)</span>
1753
- <span class='id identifier rubyid_copy'>copy</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_node'>node</span><span class='op'>|</span>
1754
- <span class='kw'>if</span> <span class='op'>!</span><span class='id identifier rubyid_node'>node</span><span class='period'>.</span><span class='id identifier rubyid_match'>match</span><span class='lparen'>(</span><span class='tstring'><span class='regexp_beg'>/</span><span class='tstring_content'>[|]|@|=|&gt;|&lt;</span><span class='regexp_end'>/</span></span><span class='rparen'>)</span> <span class='op'>&amp;&amp;</span> <span class='id identifier rubyid_node'>node</span><span class='period'>.</span><span class='id identifier rubyid_include?'>include?</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'> </span><span class='tstring_end'>&#39;</span></span><span class='rparen'>)</span>
1755
- <span class='id identifier rubyid_raise'>raise</span> <span class='const'><span class='object_link'><a href="Jini/InvalidPath.html" title="Jini::InvalidPath (class)">InvalidPath</a></span></span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>Nodes can&#39;t contain spaces: </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_node'>node</span><span class='embexpr_end'>}</span><span class='tstring_content'> – contain space.</span><span class='tstring_end'>&quot;</span></span>
1756
- <span class='kw'>end</span>
1757
- <span class='kw'>end</span>
1856
+ <span class='id identifier rubyid_copy'>copy</span><span class='period'>.</span><span class='id identifier rubyid_each'>each</span><span class='lparen'>(</span><span class='op'>&amp;</span><span class='id identifier rubyid_method'>method</span><span class='lparen'>(</span><span class='symbol'>:space_check</span><span class='rparen'>)</span><span class='rparen'>)</span>
1758
1857
  <span class='ivar'>@head</span><span class='period'>.</span><span class='id identifier rubyid_to_s'>to_s</span>
1759
1858
  <span class='kw'>end</span></pre>
1760
1859
  </td>
@@ -1767,7 +1866,7 @@
1767
1866
  </div>
1768
1867
 
1769
1868
  <div id="footer">
1770
- Generated on Fri Sep 16 16:54:43 2022 by
1869
+ Generated on Sat Sep 17 07:51:31 2022 by
1771
1870
  <a href="https://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
1772
1871
  0.9.28 (ruby-3.0.0).
1773
1872
  </div>
data/doc/_index.html CHANGED
@@ -112,7 +112,7 @@
112
112
  </div>
113
113
 
114
114
  <div id="footer">
115
- Generated on Fri Sep 16 16:54:42 2022 by
115
+ Generated on Sat Sep 17 07:51:31 2022 by
116
116
  <a href="https://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
117
117
  0.9.28 (ruby-3.0.0).
118
118
  </div>
data/doc/file.README.html CHANGED
@@ -61,7 +61,7 @@
61
61
 
62
62
  <p><a href="https://badge.fury.io/rb/jini"><img src="https://badge.fury.io/rb/jini.svg" alt="Gem Version" /></a></p>
63
63
 
64
- <p>The class <a href="https://www.rubydoc.info/gems/jini/0.0.7/Jini"><code>Jini</code></a> helps you build a XPATH.</p>
64
+ <p>The class <a href="https://www.rubydoc.info/gems/jini/0.0.8/Jini"><code>Jini</code></a> helps you build a XPATH.</p>
65
65
 
66
66
  <p><code>ruby
67
67
  require 'jini'
@@ -75,7 +75,7 @@ xpath = Jini
75
75
  puts(xpath) # -&gt; xpath: /parent[@key="value"]
76
76
  </code></p>
77
77
 
78
- <p>The full list of methods is <a href="https://www.rubydoc.info/gems/jini/0.0.7">here</a>.</p>
78
+ <p>The full list of methods is <a href="https://www.rubydoc.info/gems/jini/0.0.8">here</a>.</p>
79
79
 
80
80
  <p>Install it:</p>
81
81
 
@@ -94,7 +94,7 @@ is <em>building</em> XPATHs.</p>
94
94
  </div></div>
95
95
 
96
96
  <div id="footer">
97
- Generated on Fri Sep 16 16:54:42 2022 by
97
+ Generated on Sat Sep 17 07:51:31 2022 by
98
98
  <a href="https://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
99
99
  0.9.28 (ruby-3.0.0).
100
100
  </div>
data/doc/index.html CHANGED
@@ -61,7 +61,7 @@
61
61
 
62
62
  <p><a href="https://badge.fury.io/rb/jini"><img src="https://badge.fury.io/rb/jini.svg" alt="Gem Version" /></a></p>
63
63
 
64
- <p>The class <a href="https://www.rubydoc.info/gems/jini/0.0.7/Jini"><code>Jini</code></a> helps you build a XPATH.</p>
64
+ <p>The class <a href="https://www.rubydoc.info/gems/jini/0.0.8/Jini"><code>Jini</code></a> helps you build a XPATH.</p>
65
65
 
66
66
  <p><code>ruby
67
67
  require 'jini'
@@ -75,7 +75,7 @@ xpath = Jini
75
75
  puts(xpath) # -&gt; xpath: /parent[@key="value"]
76
76
  </code></p>
77
77
 
78
- <p>The full list of methods is <a href="https://www.rubydoc.info/gems/jini/0.0.7">here</a>.</p>
78
+ <p>The full list of methods is <a href="https://www.rubydoc.info/gems/jini/0.0.8">here</a>.</p>
79
79
 
80
80
  <p>Install it:</p>
81
81
 
@@ -94,7 +94,7 @@ is <em>building</em> XPATHs.</p>
94
94
  </div></div>
95
95
 
96
96
  <div id="footer">
97
- Generated on Fri Sep 16 16:54:42 2022 by
97
+ Generated on Sat Sep 17 07:51:31 2022 by
98
98
  <a href="https://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
99
99
  0.9.28 (ruby-3.0.0).
100
100
  </div>
data/doc/method_list.html CHANGED
@@ -150,13 +150,21 @@
150
150
 
151
151
  <li class="even ">
152
152
  <div class="item">
153
- <span class='object_link'><a href="Jini.html#selection-instance_method" title="Jini#selection (method)">#selection</a></span>
153
+ <span class='object_link'><a href="Jini.html#replace_node-instance_method" title="Jini#replace_node (method)">#replace_node</a></span>
154
154
  <small>Jini</small>
155
155
  </div>
156
156
  </li>
157
157
 
158
158
 
159
159
  <li class="odd ">
160
+ <div class="item">
161
+ <span class='object_link'><a href="Jini.html#selection-instance_method" title="Jini#selection (method)">#selection</a></span>
162
+ <small>Jini</small>
163
+ </div>
164
+ </li>
165
+
166
+
167
+ <li class="even ">
160
168
  <div class="item">
161
169
  <span class='object_link'><a href="Jini.html#to_s-instance_method" title="Jini#to_s (method)">#to_s</a></span>
162
170
  <small>Jini</small>
@@ -100,7 +100,7 @@
100
100
  </div>
101
101
 
102
102
  <div id="footer">
103
- Generated on Fri Sep 16 16:54:42 2022 by
103
+ Generated on Sat Sep 17 07:51:31 2022 by
104
104
  <a href="https://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
105
105
  0.9.28 (ruby-3.0.0).
106
106
  </div>
data/jini.gemspec CHANGED
@@ -5,7 +5,7 @@ Gem::Specification.new do |s|
5
5
  s.required_rubygems_version = Gem::Requirement.new('>= 0') if s.respond_to? :required_rubygems_version=
6
6
  s.required_ruby_version = '>=3.0.0'
7
7
  s.name = 'jini'
8
- s.version = '0.0.8'
8
+ s.version = '0.0.9'
9
9
  s.license = 'MIT'
10
10
  s.summary = 'Simple Immutable Ruby XPATH Builder'
11
11
  s.description = 'Class Jini helps you build a XPATH and then modify its parts via a simple fluent interface.'
data/lib/jini.rb CHANGED
@@ -26,9 +26,9 @@
26
26
  #
27
27
  # require 'jini'
28
28
  # xpath = Jini.new('parent')
29
- # .add_path(node: 'child')
30
- # .add_path(node: 'toy')
31
- # .to_s // body/child/toy
29
+ # .add_node('child')
30
+ # .add_attr('toy', 'plane')
31
+ # .to_s // parent/child[@toy="plane"]
32
32
  class Jini
33
33
  # When path not valid
34
34
  class InvalidPath < StandardError; end
@@ -45,11 +45,7 @@ class Jini
45
45
  # @raise [InvalidPath] if contain spaces in simple nodes
46
46
  def to_s
47
47
  copy = @head.split(%r{//|/})
48
- copy.each do |node|
49
- if !node.match(/[|]|@|=|>|</) && node.include?(' ')
50
- raise InvalidPath, "Nodes can't contain spaces: #{node} – contain space."
51
- end
52
- end
48
+ copy.each(&method(:space_check))
53
49
  @head.to_s
54
50
  end
55
51
 
@@ -60,7 +56,28 @@ class Jini
60
56
  Jini.new("#{@head}/#{node}")
61
57
  end
62
58
 
63
- # Addition property in tail
59
+ # Removes node by name
60
+ # @param node [String] name of node for removal
61
+ # @return [Jini] without a node
62
+ def remove_node(node)
63
+ Jini.new(
64
+ purge_head("/#{node}")
65
+ )
66
+ end
67
+
68
+ # This method replaces *all* origins to new
69
+ # @param [String] origin node
70
+ # @param [String] new node
71
+ def replace_node(origin, new)
72
+ Jini.new(
73
+ @head
74
+ .split('/')
75
+ .map! { |node| node.eql?(origin) ? new : node }
76
+ .join('/')
77
+ )
78
+ end
79
+
80
+ # Addition property in tail.
64
81
  # Before: '../child'
65
82
  # After: '../child/property()'
66
83
  # @param property [String]
@@ -78,7 +95,7 @@ class Jini
78
95
  Jini.new("#{@head}[@#{key}=\"#{value}\"]")
79
96
  end
80
97
 
81
- # Adds '@value' to tail
98
+ # Adds '@value' to tail.
82
99
  # @param value [String] with value attr
83
100
  # @return [Jini] object
84
101
  def add_attrs(value)
@@ -112,36 +129,25 @@ class Jini
112
129
  Jini.new("#{@head}[#{position}]")
113
130
  end
114
131
 
115
- # Replace all '/' to '::' symbols
132
+ # Replace all '/' to '::' symbols.
116
133
  # if path doesn't contain invalid symbols for selection
117
134
  # @return [Jini] selection
118
135
  # @raise [InvalidPath] when path can't present with select
119
136
  def selection
120
- if @head.include?('[') || @head.include?(']') || @head.include?('@') || @head.include?('//')
121
- raise InvalidPath, 'Cannot select, path contains bad symbols'
122
- end
137
+ raise InvalidPath, 'Cannot select, path contains bad symbols' if bad_symbols? @head
123
138
  Jini.new(@head.gsub('/', '::').to_s)
124
139
  end
125
140
 
126
- # Removes node by name
127
- # @param node [String] name of node for removal
128
- # @return [Jini] without a node
129
- def remove_node(node)
130
- Jini.new(
131
- purge("/#{node}")
132
- )
133
- end
134
-
135
- # Removes attr by name
141
+ # Removes attr by name.
136
142
  # before:
137
- # '/parent/child[@k="v"]'
143
+ # '/parent/child [@k="v"]'
138
144
  # after:
139
145
  # '/parent/child'
140
146
  # @param [String] name of attr
141
147
  # @return [Jini] without an attr
142
148
  def remove_attr(name)
143
149
  Jini.new(
144
- purge(/(\[@?#{name}="[^"]+"(\[\]+|\]))/)
150
+ purge_head(/(\[@?#{name}="[^"]+"(\[\]+|\]))/)
145
151
  )
146
152
  end
147
153
 
@@ -173,13 +179,33 @@ class Jini
173
179
 
174
180
  private
175
181
 
182
+ # @param node [String] node for check
183
+ def space_check(node)
184
+ raise InvalidPath, "Nodes can't contain spaces: #{node} – contain space." if valid? node
185
+ end
186
+
187
+ # regex: '[' or ']' or '@' or '//'
188
+ # @param node [String]
189
+ # @return node [Boolean] matching regex
190
+ def bad_symbols?(node)
191
+ node.match %r{[|]|@|//}
192
+ end
193
+
194
+ # regex: '[' or ']' or '@' or '=' or '<' or '>'
195
+ # @param node [String] node for check
196
+ # @return node [Boolean] matching regex
197
+ def valid?(node)
198
+ !node.match(/[|]|@|=|>|</) && node.include?(' ')
199
+ end
200
+
176
201
  # Some action between two statements.
177
202
  def action_between(action, alpha, beta)
178
203
  Jini.new("#{@head}[#{alpha} #{action} #{beta}]")
179
204
  end
180
205
 
206
+ # Purging head from token.
181
207
  # @param [Regexp | String] token to be purged from the head
182
- def purge(token)
208
+ def purge_head(token)
183
209
  @head.gsub(token, '')
184
210
  end
185
211
  end
data/test/jini_test.rb CHANGED
@@ -223,4 +223,42 @@ class JiniTest < Minitest::Test
223
223
  .to_s
224
224
  end
225
225
  end
226
+
227
+ def test_replace_node_single
228
+ assert_equal(
229
+ 'parent/child/toy/child/kek',
230
+ Jini.new(PARENT)
231
+ .add_node(CHILD)
232
+ .add_node('toy')
233
+ .add_node(CHILD)
234
+ .add_node('nonkek')
235
+ .replace_node('nonkek', 'kek')
236
+ .to_s
237
+ )
238
+ end
239
+
240
+ def test_replace_node_multi
241
+ assert_equal(
242
+ 'parent/wife/toy/wife',
243
+ Jini.new(PARENT)
244
+ .add_node(CHILD)
245
+ .add_node('toy')
246
+ .add_node(CHILD)
247
+ .replace_node(CHILD, 'wife')
248
+ .to_s
249
+ )
250
+ end
251
+
252
+ def test_replace_node_with_attr
253
+ assert_equal(
254
+ 'parent/wife/toy[@material="plastic"]/wife',
255
+ Jini.new(PARENT)
256
+ .add_node(CHILD)
257
+ .add_node('toy')
258
+ .add_attr('material', 'plastic')
259
+ .add_node(CHILD)
260
+ .replace_node(CHILD, 'wife')
261
+ .to_s
262
+ )
263
+ end
226
264
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: jini
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.8
4
+ version: 0.0.9
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ivan Ivanchuck
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2022-09-16 00:00:00.000000000 Z
11
+ date: 2022-09-17 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: minitest