jini 0.1.2 → 0.1.3

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: fc33ebf88243e01a5c898f5376f63555e5f6566ff89f30983970f57e944a3d9b
4
- data.tar.gz: 2d35fe0446f3d4077b0fcab4610beb72db2990df9ade129bbe1c8ad0a47322e2
3
+ metadata.gz: cf226a1dcd30140ead8ad3666275e3f5708113ff4c34e36e98df1ac2a8a52f39
4
+ data.tar.gz: 617a7b08d53442c86fb08d4ce9c65e43882163ed866908880aa43d303fe429bc
5
5
  SHA512:
6
- metadata.gz: e43e4aab2d201484fe6f4fc799a32f248e575e452b2be287ca047896f507a794be4ac2718507983f434e56f0f8251254b6bf6edc71ada215b8ae9658f67893fd
7
- data.tar.gz: b34c3706342d71dd574083b0cb56999b6aa52482540d1d05cea6fc25f3be0669e710c2099b3030baec1ea93c06749db49d50ccad8ce58f6cdaca9ec1f59ac52f
6
+ metadata.gz: 7db07a9c6aa3c8b0f2050ffa6a777ba0852a95c6aaad494246dce440648fc6b0199285496eec09965d61b05c9cb772881f5200261e64167fd22fa4bab71edd54
7
+ data.tar.gz: 5865ece481199feeb876fc03e9aaed1b5ecb487789d2e783c99b61a7b7ab9f89948afca427ec44e49c163929fdbdde95998f8e8254d09c8183cc658efd6e0822
data/.yardoc/checksums CHANGED
@@ -1 +1 @@
1
- lib/jini.rb 49f073d21b4c7ea305900a100066f7b380ac5052
1
+ lib/jini.rb ee2fcb2e3a910c6defc622a160536a39b901c815
data/.yardoc/object_types CHANGED
Binary file
Binary file
data/README.md CHANGED
@@ -1,8 +1,9 @@
1
+
1
2
  # Jini
2
3
 
3
4
  [![Gem Version](https://badge.fury.io/rb/jini.svg)](https://badge.fury.io/rb/jini)
4
5
 
5
- The class [`Jini`](https://www.rubydoc.info/gems/jini/0.1.1/Jini) helps you build a XPATH.
6
+ The class [`Jini`](https://www.rubydoc.info/gems/jini/0.1.3/Jini) helps you build a XPATH.
6
7
 
7
8
  ```ruby
8
9
  require 'jini'
@@ -16,7 +17,7 @@ xpath = Jini
16
17
  puts(xpath) # -> xpath: /parent[@key="value"]
17
18
  ```
18
19
 
19
- The full list of methods is [here](https://www.rubydoc.info/gems/jini/0.1.1).
20
+ The full list of methods is [here](https://www.rubydoc.info/gems/jini/0.1.3).
20
21
 
21
22
  Install it:
22
23
 
@@ -125,7 +125,7 @@
125
125
  </div>
126
126
 
127
127
  <div id="footer">
128
- Generated on Mon Sep 19 02:24:40 2022 by
128
+ Generated on Mon Sep 19 06:45:46 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
@@ -102,6 +102,18 @@
102
102
  <h2>Overview</h2><div class="docstring">
103
103
  <div class="discussion">
104
104
 
105
+ <p>The jini.</p>
106
+ <dl class="rdoc-list note-list"><dt>Author
107
+ <dd>
108
+ <p>Ivan Ivanchuk (clicker.heroes.acg@gmail.com)</p>
109
+ </dd><dt>Copyright
110
+ <dd>
111
+ <p>Copyright © 2022 Ivan Ivanchuck</p>
112
+ </dd><dt>License
113
+ <dd>
114
+ <p>MIT</p>
115
+ </dd></dl>
116
+
105
117
  <p>It’s a simple XPATH builder.</p>
106
118
 
107
119
  <p>require ‘jini’ xpath = Jini.new(‘parent’)</p>
@@ -477,6 +489,30 @@
477
489
  <p>Removes node by name.</p>
478
490
  </div></span>
479
491
 
492
+ </li>
493
+
494
+
495
+ <li class="public ">
496
+ <span class="summary_signature">
497
+
498
+ <a href="#remove_property-instance_method" title="#remove_property (instance method)">#<strong>remove_property</strong>(property) &#x21d2; Jini </a>
499
+
500
+
501
+
502
+ </span>
503
+
504
+
505
+
506
+
507
+
508
+
509
+
510
+
511
+
512
+ <span class="summary_desc"><div class='inline'>
513
+ <p>Removes property.</p>
514
+ </div></span>
515
+
480
516
  </li>
481
517
 
482
518
 
@@ -617,12 +653,12 @@
617
653
  <pre class="lines">
618
654
 
619
655
 
620
- 41
621
- 42
622
- 43</pre>
656
+ 46
657
+ 47
658
+ 48</pre>
623
659
  </td>
624
660
  <td>
625
- <pre class="code"><span class="info file"># File 'lib/jini.rb', line 41</span>
661
+ <pre class="code"><span class="info file"># File 'lib/jini.rb', line 46</span>
626
662
 
627
663
  <span class='kw'>def</span> <span class='id identifier rubyid_initialize'>initialize</span><span class='lparen'>(</span><span class='id identifier rubyid_head'>head</span> <span class='op'>=</span> <span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_end'>&#39;</span></span><span class='rparen'>)</span>
628
664
  <span class='ivar'>@head</span> <span class='op'>=</span> <span class='id identifier rubyid_head'>head</span>
@@ -651,7 +687,7 @@
651
687
  </h3><div class="docstring">
652
688
  <div class="discussion">
653
689
 
654
- <p>Additional attribute for xpath. ‘[@key=“value”]’</p>
690
+ <p>Additional attribute for xpath. @<a href="@key="value"">example’</a>‘</p>
655
691
 
656
692
 
657
693
  </div>
@@ -719,12 +755,12 @@
719
755
  <pre class="lines">
720
756
 
721
757
 
722
- 99
723
- 100
724
- 101</pre>
758
+ 111
759
+ 112
760
+ 113</pre>
725
761
  </td>
726
762
  <td>
727
- <pre class="code"><span class="info file"># File 'lib/jini.rb', line 99</span>
763
+ <pre class="code"><span class="info file"># File 'lib/jini.rb', line 111</span>
728
764
 
729
765
  <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>
730
766
  <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>
@@ -798,12 +834,12 @@
798
834
  <pre class="lines">
799
835
 
800
836
 
801
- 106
802
- 107
803
- 108</pre>
837
+ 118
838
+ 119
839
+ 120</pre>
804
840
  </td>
805
841
  <td>
806
- <pre class="code"><span class="info file"># File 'lib/jini.rb', line 106</span>
842
+ <pre class="code"><span class="info file"># File 'lib/jini.rb', line 118</span>
807
843
 
808
844
  <span class='kw'>def</span> <span class='id identifier rubyid_add_attrs'>add_attrs</span><span class='lparen'>(</span><span class='id identifier rubyid_key'>key</span><span class='rparen'>)</span>
809
845
  <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_end'>&quot;</span></span><span class='rparen'>)</span>
@@ -893,12 +929,12 @@
893
929
  <pre class="lines">
894
930
 
895
931
 
896
- 59
897
- 60
898
- 61</pre>
932
+ 64
933
+ 65
934
+ 66</pre>
899
935
  </td>
900
936
  <td>
901
- <pre class="code"><span class="info file"># File 'lib/jini.rb', line 59</span>
937
+ <pre class="code"><span class="info file"># File 'lib/jini.rb', line 64</span>
902
938
 
903
939
  <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>
904
940
  <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>
@@ -972,12 +1008,12 @@
972
1008
  <pre class="lines">
973
1009
 
974
1010
 
975
- 151
976
- 152
977
- 153</pre>
1011
+ 163
1012
+ 164
1013
+ 165</pre>
978
1014
  </td>
979
1015
  <td>
980
- <pre class="code"><span class="info file"># File 'lib/jini.rb', line 151</span>
1016
+ <pre class="code"><span class="info file"># File 'lib/jini.rb', line 163</span>
981
1017
 
982
1018
  <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>
983
1019
  <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>
@@ -999,13 +1035,25 @@
999
1035
  </h3><div class="docstring">
1000
1036
  <div class="discussion">
1001
1037
 
1002
- <p>Addition property in tail. Before: ‘../child’ After: ‘../child/property()’</p>
1038
+ <p>Addition property in tail.</p>
1003
1039
 
1004
1040
 
1005
1041
  </div>
1006
1042
  </div>
1007
1043
  <div class="tags">
1008
- <p class="tag_title">Parameters:</p>
1044
+
1045
+ <div class="examples">
1046
+ <p class="tag_title">Examples:</p>
1047
+
1048
+
1049
+ <p class="example_title"><div class='inline'>
1050
+ <p>before: ‘../child’, after: ‘../child/property()’</p>
1051
+ </div></p>
1052
+
1053
+ <pre class="example code"><code></code></pre>
1054
+
1055
+ </div>
1056
+ <p class="tag_title">Parameters:</p>
1009
1057
  <ul class="param">
1010
1058
 
1011
1059
  <li>
@@ -1067,12 +1115,12 @@
1067
1115
  <pre class="lines">
1068
1116
 
1069
1117
 
1070
- 90
1071
- 91
1072
- 92</pre>
1118
+ 94
1119
+ 95
1120
+ 96</pre>
1073
1121
  </td>
1074
1122
  <td>
1075
- <pre class="code"><span class="info file"># File 'lib/jini.rb', line 90</span>
1123
+ <pre class="code"><span class="info file"># File 'lib/jini.rb', line 94</span>
1076
1124
 
1077
1125
  <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>
1078
1126
  <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>
@@ -1144,13 +1192,13 @@
1144
1192
  <pre class="lines">
1145
1193
 
1146
1194
 
1147
- 142
1148
- 143
1149
- 144
1150
- 145</pre>
1195
+ 154
1196
+ 155
1197
+ 156
1198
+ 157</pre>
1151
1199
  </td>
1152
1200
  <td>
1153
- <pre class="code"><span class="info file"># File 'lib/jini.rb', line 142</span>
1201
+ <pre class="code"><span class="info file"># File 'lib/jini.rb', line 154</span>
1154
1202
 
1155
1203
  <span class='kw'>def</span> <span class='id identifier rubyid_all'>all</span>
1156
1204
  <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>
@@ -1243,13 +1291,13 @@
1243
1291
  <pre class="lines">
1244
1292
 
1245
1293
 
1246
- 160
1247
- 161
1248
- 162
1249
- 163</pre>
1294
+ 172
1295
+ 173
1296
+ 174
1297
+ 175</pre>
1250
1298
  </td>
1251
1299
  <td>
1252
- <pre class="code"><span class="info file"># File 'lib/jini.rb', line 160</span>
1300
+ <pre class="code"><span class="info file"># File 'lib/jini.rb', line 172</span>
1253
1301
 
1254
1302
  <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>
1255
1303
  <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>
@@ -1340,12 +1388,12 @@
1340
1388
  <pre class="lines">
1341
1389
 
1342
1390
 
1343
- 197
1344
- 198
1345
- 199</pre>
1391
+ 209
1392
+ 210
1393
+ 211</pre>
1346
1394
  </td>
1347
1395
  <td>
1348
- <pre class="code"><span class="info file"># File 'lib/jini.rb', line 197</span>
1396
+ <pre class="code"><span class="info file"># File 'lib/jini.rb', line 209</span>
1349
1397
 
1350
1398
  <span class='kw'>def</span> <span class='id identifier rubyid_gt'>gt</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>
1351
1399
  <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_alpha'>alpha</span><span class='comma'>,</span> <span class='id identifier rubyid_beta'>beta</span><span class='rparen'>)</span>
@@ -1435,12 +1483,12 @@
1435
1483
  <pre class="lines">
1436
1484
 
1437
1485
 
1438
- 188
1439
- 189
1440
- 190</pre>
1486
+ 200
1487
+ 201
1488
+ 202</pre>
1441
1489
  </td>
1442
1490
  <td>
1443
- <pre class="code"><span class="info file"># File 'lib/jini.rb', line 188</span>
1491
+ <pre class="code"><span class="info file"># File 'lib/jini.rb', line 200</span>
1444
1492
 
1445
1493
  <span class='kw'>def</span> <span class='id identifier rubyid_lt'>lt</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>
1446
1494
  <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_alpha'>alpha</span><span class='comma'>,</span> <span class='id identifier rubyid_beta'>beta</span><span class='rparen'>)</span>
@@ -1530,15 +1578,15 @@
1530
1578
  <pre class="lines">
1531
1579
 
1532
1580
 
1533
- 131
1534
- 132
1535
- 133
1536
- 134
1537
- 135
1538
- 136</pre>
1581
+ 143
1582
+ 144
1583
+ 145
1584
+ 146
1585
+ 147
1586
+ 148</pre>
1539
1587
  </td>
1540
1588
  <td>
1541
- <pre class="code"><span class="info file"># File 'lib/jini.rb', line 131</span>
1589
+ <pre class="code"><span class="info file"># File 'lib/jini.rb', line 143</span>
1542
1590
 
1543
1591
  <span class='kw'>def</span> <span class='id identifier rubyid_new_attr_value'>new_attr_value</span><span class='lparen'>(</span><span class='id identifier rubyid_name'>name</span><span class='comma'>,</span> <span class='id identifier rubyid_value'>value</span><span class='rparen'>)</span>
1544
1592
  <span class='id identifier rubyid_n_rxp'>n_rxp</span> <span class='op'>=</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>
@@ -1631,12 +1679,12 @@
1631
1679
  <pre class="lines">
1632
1680
 
1633
1681
 
1634
- 179
1635
- 180
1636
- 181</pre>
1682
+ 191
1683
+ 192
1684
+ 193</pre>
1637
1685
  </td>
1638
1686
  <td>
1639
- <pre class="code"><span class="info file"># File 'lib/jini.rb', line 179</span>
1687
+ <pre class="code"><span class="info file"># File 'lib/jini.rb', line 191</span>
1640
1688
 
1641
1689
  <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>
1642
1690
  <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>
@@ -1710,14 +1758,14 @@
1710
1758
  <pre class="lines">
1711
1759
 
1712
1760
 
1713
- 117
1714
- 118
1715
- 119
1716
- 120
1717
- 121</pre>
1761
+ 129
1762
+ 130
1763
+ 131
1764
+ 132
1765
+ 133</pre>
1718
1766
  </td>
1719
1767
  <td>
1720
- <pre class="code"><span class="info file"># File 'lib/jini.rb', line 117</span>
1768
+ <pre class="code"><span class="info file"># File 'lib/jini.rb', line 129</span>
1721
1769
 
1722
1770
  <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>
1723
1771
  <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>
@@ -1809,12 +1857,12 @@
1809
1857
  <pre class="lines">
1810
1858
 
1811
1859
 
1812
- 67
1813
- 68
1814
- 69</pre>
1860
+ 72
1861
+ 73
1862
+ 74</pre>
1815
1863
  </td>
1816
1864
  <td>
1817
- <pre class="code"><span class="info file"># File 'lib/jini.rb', line 67</span>
1865
+ <pre class="code"><span class="info file"># File 'lib/jini.rb', line 72</span>
1818
1866
 
1819
1867
  <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>
1820
1868
  <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_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><span class='rparen'>)</span>
@@ -1822,6 +1870,101 @@
1822
1870
  </td>
1823
1871
  </tr>
1824
1872
  </table>
1873
+ </div>
1874
+
1875
+ <div class="method_details ">
1876
+ <h3 class="signature " id="remove_property-instance_method">
1877
+
1878
+ #<strong>remove_property</strong>(property) &#x21d2; <tt><span class='object_link'><a href="" title="Jini (class)">Jini</a></span></tt>
1879
+
1880
+
1881
+
1882
+
1883
+
1884
+ </h3><div class="docstring">
1885
+ <div class="discussion">
1886
+
1887
+ <p>Removes property.</p>
1888
+
1889
+
1890
+ </div>
1891
+ </div>
1892
+ <div class="tags">
1893
+ <p class="tag_title">Parameters:</p>
1894
+ <ul class="param">
1895
+
1896
+ <li>
1897
+
1898
+ <span class='name'>property</span>
1899
+
1900
+
1901
+ <span class='type'>(<tt>String</tt>)</span>
1902
+
1903
+
1904
+
1905
+ &mdash;
1906
+ <div class='inline'>
1907
+ <p>to remove</p>
1908
+ </div>
1909
+
1910
+ </li>
1911
+
1912
+ </ul>
1913
+
1914
+ <p class="tag_title">Returns:</p>
1915
+ <ul class="return">
1916
+
1917
+ <li>
1918
+
1919
+
1920
+ <span class='type'>(<tt><span class='object_link'><a href="" title="Jini (class)">Jini</a></span></tt>)</span>
1921
+
1922
+
1923
+
1924
+ &mdash;
1925
+ <div class='inline'>
1926
+ <p>without property on tail</p>
1927
+ </div>
1928
+
1929
+ </li>
1930
+
1931
+ </ul>
1932
+ <p class="tag_title">Since:</p>
1933
+ <ul class="since">
1934
+
1935
+ <li>
1936
+
1937
+
1938
+
1939
+
1940
+
1941
+ <div class='inline'>
1942
+ <p>0.1.3</p>
1943
+ </div>
1944
+
1945
+ </li>
1946
+
1947
+ </ul>
1948
+
1949
+ </div><table class="source_code">
1950
+ <tr>
1951
+ <td>
1952
+ <pre class="lines">
1953
+
1954
+
1955
+ 102
1956
+ 103
1957
+ 104</pre>
1958
+ </td>
1959
+ <td>
1960
+ <pre class="code"><span class="info file"># File 'lib/jini.rb', line 102</span>
1961
+
1962
+ <span class='kw'>def</span> <span class='id identifier rubyid_remove_property'>remove_property</span><span class='lparen'>(</span><span class='id identifier rubyid_property'>property</span><span class='rparen'>)</span>
1963
+ <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'>&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='comma'>,</span> <span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_end'>&#39;</span></span><span class='rparen'>)</span><span class='rparen'>)</span>
1964
+ <span class='kw'>end</span></pre>
1965
+ </td>
1966
+ </tr>
1967
+ </table>
1825
1968
  </div>
1826
1969
 
1827
1970
  <div class="method_details ">
@@ -1902,17 +2045,17 @@
1902
2045
  <pre class="lines">
1903
2046
 
1904
2047
 
1905
- 75
1906
- 76
1907
- 77
1908
- 78
1909
- 79
1910
2048
  80
1911
2049
  81
1912
- 82</pre>
2050
+ 82
2051
+ 83
2052
+ 84
2053
+ 85
2054
+ 86
2055
+ 87</pre>
1913
2056
  </td>
1914
2057
  <td>
1915
- <pre class="code"><span class="info file"># File 'lib/jini.rb', line 75</span>
2058
+ <pre class="code"><span class="info file"># File 'lib/jini.rb', line 80</span>
1916
2059
 
1917
2060
  <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>
1918
2061
  <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>
@@ -1991,13 +2134,13 @@
1991
2134
  <pre class="lines">
1992
2135
 
1993
2136
 
1994
- 170
1995
- 171
1996
- 172
1997
- 173</pre>
2137
+ 182
2138
+ 183
2139
+ 184
2140
+ 185</pre>
1998
2141
  </td>
1999
2142
  <td>
2000
- <pre class="code"><span class="info file"># File 'lib/jini.rb', line 170</span>
2143
+ <pre class="code"><span class="info file"># File 'lib/jini.rb', line 182</span>
2001
2144
 
2002
2145
  <span class='kw'>def</span> <span class='id identifier rubyid_selection'>selection</span>
2003
2146
  <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>
@@ -2086,14 +2229,14 @@
2086
2229
  <pre class="lines">
2087
2230
 
2088
2231
 
2089
- 49
2090
- 50
2091
- 51
2092
- 52
2093
- 53</pre>
2232
+ 54
2233
+ 55
2234
+ 56
2235
+ 57
2236
+ 58</pre>
2094
2237
  </td>
2095
2238
  <td>
2096
- <pre class="code"><span class="info file"># File 'lib/jini.rb', line 49</span>
2239
+ <pre class="code"><span class="info file"># File 'lib/jini.rb', line 54</span>
2097
2240
 
2098
2241
  <span class='kw'>def</span> <span class='id identifier rubyid_to_s'>to_s</span>
2099
2242
  <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>
@@ -2110,7 +2253,7 @@
2110
2253
  </div>
2111
2254
 
2112
2255
  <div id="footer">
2113
- Generated on Mon Sep 19 02:24:40 2022 by
2256
+ Generated on Mon Sep 19 06:45:46 2022 by
2114
2257
  <a href="https://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
2115
2258
  0.9.28 (ruby-3.0.0).
2116
2259
  </div>
data/doc/_index.html CHANGED
@@ -112,7 +112,7 @@
112
112
  </div>
113
113
 
114
114
  <div id="footer">
115
- Generated on Mon Sep 19 02:24:40 2022 by
115
+ Generated on Mon Sep 19 06:45:46 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
@@ -57,11 +57,12 @@
57
57
  <div class="clear"></div>
58
58
  </div>
59
59
 
60
- <div id="content"><div id='filecontents'><h1 id="jini">Jini</h1>
60
+ <div id="content"><div id='filecontents'>
61
+ <h1 id="jini">Jini</h1>
61
62
 
62
63
  <p><a href="https://badge.fury.io/rb/jini"><img src="https://badge.fury.io/rb/jini.svg" alt="Gem Version" /></a></p>
63
64
 
64
- <p>The class <a href="https://www.rubydoc.info/gems/jini/0.1.1/Jini"><code>Jini</code></a> helps you build a XPATH.</p>
65
+ <p>The class <a href="https://www.rubydoc.info/gems/jini/0.1.3/Jini"><code>Jini</code></a> helps you build a XPATH.</p>
65
66
 
66
67
  <p><code>ruby
67
68
  require 'jini'
@@ -75,7 +76,7 @@ xpath = Jini
75
76
  puts(xpath) # -&gt; xpath: /parent[@key="value"]
76
77
  </code></p>
77
78
 
78
- <p>The full list of methods is <a href="https://www.rubydoc.info/gems/jini/0.1.1">here</a>.</p>
79
+ <p>The full list of methods is <a href="https://www.rubydoc.info/gems/jini/0.1.3">here</a>.</p>
79
80
 
80
81
  <p>Install it:</p>
81
82
 
@@ -94,7 +95,7 @@ is <em>building</em> XPATHs.</p>
94
95
  </div></div>
95
96
 
96
97
  <div id="footer">
97
- Generated on Mon Sep 19 02:24:40 2022 by
98
+ Generated on Mon Sep 19 06:45:46 2022 by
98
99
  <a href="https://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
99
100
  0.9.28 (ruby-3.0.0).
100
101
  </div>
data/doc/index.html CHANGED
@@ -57,11 +57,12 @@
57
57
  <div class="clear"></div>
58
58
  </div>
59
59
 
60
- <div id="content"><div id='filecontents'><h1 id="jini">Jini</h1>
60
+ <div id="content"><div id='filecontents'>
61
+ <h1 id="jini">Jini</h1>
61
62
 
62
63
  <p><a href="https://badge.fury.io/rb/jini"><img src="https://badge.fury.io/rb/jini.svg" alt="Gem Version" /></a></p>
63
64
 
64
- <p>The class <a href="https://www.rubydoc.info/gems/jini/0.1.1/Jini"><code>Jini</code></a> helps you build a XPATH.</p>
65
+ <p>The class <a href="https://www.rubydoc.info/gems/jini/0.1.3/Jini"><code>Jini</code></a> helps you build a XPATH.</p>
65
66
 
66
67
  <p><code>ruby
67
68
  require 'jini'
@@ -75,7 +76,7 @@ xpath = Jini
75
76
  puts(xpath) # -&gt; xpath: /parent[@key="value"]
76
77
  </code></p>
77
78
 
78
- <p>The full list of methods is <a href="https://www.rubydoc.info/gems/jini/0.1.1">here</a>.</p>
79
+ <p>The full list of methods is <a href="https://www.rubydoc.info/gems/jini/0.1.3">here</a>.</p>
79
80
 
80
81
  <p>Install it:</p>
81
82
 
@@ -94,7 +95,7 @@ is <em>building</em> XPATHs.</p>
94
95
  </div></div>
95
96
 
96
97
  <div id="footer">
97
- Generated on Mon Sep 19 02:24:40 2022 by
98
+ Generated on Mon Sep 19 06:45:46 2022 by
98
99
  <a href="https://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
99
100
  0.9.28 (ruby-3.0.0).
100
101
  </div>
data/doc/method_list.html CHANGED
@@ -158,7 +158,7 @@
158
158
 
159
159
  <li class="odd ">
160
160
  <div class="item">
161
- <span class='object_link'><a href="Jini.html#replace_node-instance_method" title="Jini#replace_node (method)">#replace_node</a></span>
161
+ <span class='object_link'><a href="Jini.html#remove_property-instance_method" title="Jini#remove_property (method)">#remove_property</a></span>
162
162
  <small>Jini</small>
163
163
  </div>
164
164
  </li>
@@ -166,13 +166,21 @@
166
166
 
167
167
  <li class="even ">
168
168
  <div class="item">
169
- <span class='object_link'><a href="Jini.html#selection-instance_method" title="Jini#selection (method)">#selection</a></span>
169
+ <span class='object_link'><a href="Jini.html#replace_node-instance_method" title="Jini#replace_node (method)">#replace_node</a></span>
170
170
  <small>Jini</small>
171
171
  </div>
172
172
  </li>
173
173
 
174
174
 
175
175
  <li class="odd ">
176
+ <div class="item">
177
+ <span class='object_link'><a href="Jini.html#selection-instance_method" title="Jini#selection (method)">#selection</a></span>
178
+ <small>Jini</small>
179
+ </div>
180
+ </li>
181
+
182
+
183
+ <li class="even ">
176
184
  <div class="item">
177
185
  <span class='object_link'><a href="Jini.html#to_s-instance_method" title="Jini#to_s (method)">#to_s</a></span>
178
186
  <small>Jini</small>
@@ -100,7 +100,7 @@
100
100
  </div>
101
101
 
102
102
  <div id="footer">
103
- Generated on Mon Sep 19 02:24:40 2022 by
103
+ Generated on Mon Sep 19 06:45:46 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.1.2'
8
+ s.version = '0.1.3'
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
@@ -22,6 +22,11 @@
22
22
  # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
23
23
  # SOFTWARE.
24
24
 
25
+ # The jini.
26
+ # Author:: Ivan Ivanchuk (clicker.heroes.acg@gmail.com)
27
+ # Copyright:: Copyright (c) 2022 Ivan Ivanchuck
28
+ # License:: MIT
29
+ #
25
30
  # It's a simple XPATH builder.
26
31
  #
27
32
  # require 'jini'
@@ -82,8 +87,7 @@ class Jini
82
87
  end
83
88
 
84
89
  # Addition property in tail.
85
- # Before: '../child'
86
- # After: '../child/property()'
90
+ # @example before: '../child', after: '../child/property()'
87
91
  # @param property [String] to add
88
92
  # @return [Jini] with property on tail
89
93
  # @since 0.0.1
@@ -91,8 +95,16 @@ class Jini
91
95
  Jini.new(add_node("#{property}()").to_s)
92
96
  end
93
97
 
98
+ # Removes property.
99
+ # @param property [String] to remove
100
+ # @return [Jini] without property on tail
101
+ # @since 0.1.3
102
+ def remove_property(property)
103
+ Jini.new(@head.gsub("#{property}()", ''))
104
+ end
105
+
94
106
  # Additional attribute for xpath.
95
- # '[@key="value"]'
107
+ # @example'[@key="value"]'
96
108
  # @param key [String] name of attr
97
109
  # @param value [String] value of attr
98
110
  # @return [Jini] with additional attr on tail
data/test/jini_test.rb CHANGED
@@ -28,7 +28,7 @@ require_relative 'test_helper'
28
28
 
29
29
  # Jini test.
30
30
  # Author:: Ivan Ivanchuk (clicker.heroes.acg@gmail.com)
31
- # Copyright:: Copyright (c) 2022-2022 Ivan Ivanchuck
31
+ # Copyright:: Copyright (c) 2022 Ivan Ivanchuck
32
32
  # License:: MIT
33
33
  class JiniTest < Minitest::Test
34
34
  PARENT = 'parent'
@@ -272,4 +272,15 @@ class JiniTest < Minitest::Test
272
272
  .to_s
273
273
  )
274
274
  end
275
+
276
+ def test_remove_property
277
+ assert_equal(
278
+ 'parent/child/',
279
+ Jini.new(PARENT)
280
+ .add_node(CHILD)
281
+ .add_property('p')
282
+ .remove_property('p')
283
+ .to_s
284
+ )
285
+ end
275
286
  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.1.2
4
+ version: 0.1.3
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-18 00:00:00.000000000 Z
11
+ date: 2022-09-19 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: minitest