jini 0.1.2 → 0.1.4

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: b0898b2d8bd7381604c3770d49d61e0f26e0b94297fefb6461853d9f7750917c
4
+ data.tar.gz: 95a3af28dadfaa4a221180ad178c66a907d233180bb8d7b88d03e2312540368b
5
5
  SHA512:
6
- metadata.gz: e43e4aab2d201484fe6f4fc799a32f248e575e452b2be287ca047896f507a794be4ac2718507983f434e56f0f8251254b6bf6edc71ada215b8ae9658f67893fd
7
- data.tar.gz: b34c3706342d71dd574083b0cb56999b6aa52482540d1d05cea6fc25f3be0669e710c2099b3030baec1ea93c06749db49d50ccad8ce58f6cdaca9ec1f59ac52f
6
+ metadata.gz: d7cf187ac21491e8b8635bf11a6cbda968ca60ad869cabc80cfcf5817449b9b85c14de95036f00ba6c8bccc14801ae2e4ce0ccaed33ecf4af46cb7cd2235ba88
7
+ data.tar.gz: fe7a1c88a7140391ec61b364508efb0fb3e01f5a66e90abd1ec4e66e51f581b2945e64a16a1fd32056cfad88b31189dfd93d17db4959cf9a11ae590b865db567
data/.rubocop.yml CHANGED
@@ -1,6 +1,6 @@
1
1
  AllCops:
2
2
  DisplayCopNames: true
3
- TargetRubyVersion: 2.2
3
+ TargetRubyVersion: 2.6.8
4
4
  SuggestExtensions: false
5
5
  NewCops: enable
6
6
 
data/.yardoc/checksums CHANGED
@@ -1 +1 @@
1
- lib/jini.rb 49f073d21b4c7ea305900a100066f7b380ac5052
1
+ lib/jini.rb 8f60725dde02593fd368b256d6c67e25a7b821bf
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 Wed Sep 21 12:26:11 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,9 +102,19 @@
102
102
  <h2>Overview</h2><div class="docstring">
103
103
  <div class="discussion">
104
104
 
105
- <p>It’s a simple XPATH builder.</p>
106
-
107
- <p>require ‘jini’ xpath = Jini.new(‘parent’)</p>
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
+
117
+ <p>It’s a simple XPATH builder. &lt;p&gt;&lt;/p&gt; require ‘jini’ xpath = Jini.new(‘parent’)</p>
108
118
 
109
119
  <pre class="code ruby"><code class="ruby">.add_node(&#39;child&#39;)
110
120
  .add_attr(&#39;toy&#39;, &#39;plane&#39;)
@@ -477,6 +487,30 @@
477
487
  <p>Removes node by name.</p>
478
488
  </div></span>
479
489
 
490
+ </li>
491
+
492
+
493
+ <li class="public ">
494
+ <span class="summary_signature">
495
+
496
+ <a href="#remove_property-instance_method" title="#remove_property (instance method)">#<strong>remove_property</strong>(property) &#x21d2; Jini </a>
497
+
498
+
499
+
500
+ </span>
501
+
502
+
503
+
504
+
505
+
506
+
507
+
508
+
509
+
510
+ <span class="summary_desc"><div class='inline'>
511
+ <p>Removes property.</p>
512
+ </div></span>
513
+
480
514
  </li>
481
515
 
482
516
 
@@ -617,12 +651,12 @@
617
651
  <pre class="lines">
618
652
 
619
653
 
620
- 41
621
- 42
622
- 43</pre>
654
+ 46
655
+ 47
656
+ 48</pre>
623
657
  </td>
624
658
  <td>
625
- <pre class="code"><span class="info file"># File 'lib/jini.rb', line 41</span>
659
+ <pre class="code"><span class="info file"># File 'lib/jini.rb', line 46</span>
626
660
 
627
661
  <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
662
  <span class='ivar'>@head</span> <span class='op'>=</span> <span class='id identifier rubyid_head'>head</span>
@@ -651,7 +685,7 @@
651
685
  </h3><div class="docstring">
652
686
  <div class="discussion">
653
687
 
654
- <p>Additional attribute for xpath. ‘[@key=“value”]’</p>
688
+ <p>Additional attribute for xpath. @<a href="@key="value"">example’</a>‘</p>
655
689
 
656
690
 
657
691
  </div>
@@ -719,12 +753,12 @@
719
753
  <pre class="lines">
720
754
 
721
755
 
722
- 99
723
- 100
724
- 101</pre>
756
+ 111
757
+ 112
758
+ 113</pre>
725
759
  </td>
726
760
  <td>
727
- <pre class="code"><span class="info file"># File 'lib/jini.rb', line 99</span>
761
+ <pre class="code"><span class="info file"># File 'lib/jini.rb', line 111</span>
728
762
 
729
763
  <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
764
  <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 +832,12 @@
798
832
  <pre class="lines">
799
833
 
800
834
 
801
- 106
802
- 107
803
- 108</pre>
835
+ 118
836
+ 119
837
+ 120</pre>
804
838
  </td>
805
839
  <td>
806
- <pre class="code"><span class="info file"># File 'lib/jini.rb', line 106</span>
840
+ <pre class="code"><span class="info file"># File 'lib/jini.rb', line 118</span>
807
841
 
808
842
  <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
843
  <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 +927,12 @@
893
927
  <pre class="lines">
894
928
 
895
929
 
896
- 59
897
- 60
898
- 61</pre>
930
+ 64
931
+ 65
932
+ 66</pre>
899
933
  </td>
900
934
  <td>
901
- <pre class="code"><span class="info file"># File 'lib/jini.rb', line 59</span>
935
+ <pre class="code"><span class="info file"># File 'lib/jini.rb', line 64</span>
902
936
 
903
937
  <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
938
  <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 +1006,12 @@
972
1006
  <pre class="lines">
973
1007
 
974
1008
 
975
- 151
976
- 152
977
- 153</pre>
1009
+ 163
1010
+ 164
1011
+ 165</pre>
978
1012
  </td>
979
1013
  <td>
980
- <pre class="code"><span class="info file"># File 'lib/jini.rb', line 151</span>
1014
+ <pre class="code"><span class="info file"># File 'lib/jini.rb', line 163</span>
981
1015
 
982
1016
  <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
1017
  <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 +1033,25 @@
999
1033
  </h3><div class="docstring">
1000
1034
  <div class="discussion">
1001
1035
 
1002
- <p>Addition property in tail. Before: ‘../child’ After: ‘../child/property()’</p>
1036
+ <p>Addition property in tail.</p>
1003
1037
 
1004
1038
 
1005
1039
  </div>
1006
1040
  </div>
1007
1041
  <div class="tags">
1008
- <p class="tag_title">Parameters:</p>
1042
+
1043
+ <div class="examples">
1044
+ <p class="tag_title">Examples:</p>
1045
+
1046
+
1047
+ <p class="example_title"><div class='inline'>
1048
+ <p>before: ‘../child’, after: ‘../child/property()’</p>
1049
+ </div></p>
1050
+
1051
+ <pre class="example code"><code></code></pre>
1052
+
1053
+ </div>
1054
+ <p class="tag_title">Parameters:</p>
1009
1055
  <ul class="param">
1010
1056
 
1011
1057
  <li>
@@ -1067,12 +1113,12 @@
1067
1113
  <pre class="lines">
1068
1114
 
1069
1115
 
1070
- 90
1071
- 91
1072
- 92</pre>
1116
+ 94
1117
+ 95
1118
+ 96</pre>
1073
1119
  </td>
1074
1120
  <td>
1075
- <pre class="code"><span class="info file"># File 'lib/jini.rb', line 90</span>
1121
+ <pre class="code"><span class="info file"># File 'lib/jini.rb', line 94</span>
1076
1122
 
1077
1123
  <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
1124
  <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 +1190,13 @@
1144
1190
  <pre class="lines">
1145
1191
 
1146
1192
 
1147
- 142
1148
- 143
1149
- 144
1150
- 145</pre>
1193
+ 154
1194
+ 155
1195
+ 156
1196
+ 157</pre>
1151
1197
  </td>
1152
1198
  <td>
1153
- <pre class="code"><span class="info file"># File 'lib/jini.rb', line 142</span>
1199
+ <pre class="code"><span class="info file"># File 'lib/jini.rb', line 154</span>
1154
1200
 
1155
1201
  <span class='kw'>def</span> <span class='id identifier rubyid_all'>all</span>
1156
1202
  <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 +1289,13 @@
1243
1289
  <pre class="lines">
1244
1290
 
1245
1291
 
1246
- 160
1247
- 161
1248
- 162
1249
- 163</pre>
1292
+ 172
1293
+ 173
1294
+ 174
1295
+ 175</pre>
1250
1296
  </td>
1251
1297
  <td>
1252
- <pre class="code"><span class="info file"># File 'lib/jini.rb', line 160</span>
1298
+ <pre class="code"><span class="info file"># File 'lib/jini.rb', line 172</span>
1253
1299
 
1254
1300
  <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
1301
  <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 +1386,12 @@
1340
1386
  <pre class="lines">
1341
1387
 
1342
1388
 
1343
- 197
1344
- 198
1345
- 199</pre>
1389
+ 209
1390
+ 210
1391
+ 211</pre>
1346
1392
  </td>
1347
1393
  <td>
1348
- <pre class="code"><span class="info file"># File 'lib/jini.rb', line 197</span>
1394
+ <pre class="code"><span class="info file"># File 'lib/jini.rb', line 209</span>
1349
1395
 
1350
1396
  <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
1397
  <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 +1481,12 @@
1435
1481
  <pre class="lines">
1436
1482
 
1437
1483
 
1438
- 188
1439
- 189
1440
- 190</pre>
1484
+ 200
1485
+ 201
1486
+ 202</pre>
1441
1487
  </td>
1442
1488
  <td>
1443
- <pre class="code"><span class="info file"># File 'lib/jini.rb', line 188</span>
1489
+ <pre class="code"><span class="info file"># File 'lib/jini.rb', line 200</span>
1444
1490
 
1445
1491
  <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
1492
  <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 +1576,15 @@
1530
1576
  <pre class="lines">
1531
1577
 
1532
1578
 
1533
- 131
1534
- 132
1535
- 133
1536
- 134
1537
- 135
1538
- 136</pre>
1579
+ 143
1580
+ 144
1581
+ 145
1582
+ 146
1583
+ 147
1584
+ 148</pre>
1539
1585
  </td>
1540
1586
  <td>
1541
- <pre class="code"><span class="info file"># File 'lib/jini.rb', line 131</span>
1587
+ <pre class="code"><span class="info file"># File 'lib/jini.rb', line 143</span>
1542
1588
 
1543
1589
  <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
1590
  <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 +1677,12 @@
1631
1677
  <pre class="lines">
1632
1678
 
1633
1679
 
1634
- 179
1635
- 180
1636
- 181</pre>
1680
+ 191
1681
+ 192
1682
+ 193</pre>
1637
1683
  </td>
1638
1684
  <td>
1639
- <pre class="code"><span class="info file"># File 'lib/jini.rb', line 179</span>
1685
+ <pre class="code"><span class="info file"># File 'lib/jini.rb', line 191</span>
1640
1686
 
1641
1687
  <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
1688
  <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 +1756,14 @@
1710
1756
  <pre class="lines">
1711
1757
 
1712
1758
 
1713
- 117
1714
- 118
1715
- 119
1716
- 120
1717
- 121</pre>
1759
+ 129
1760
+ 130
1761
+ 131
1762
+ 132
1763
+ 133</pre>
1718
1764
  </td>
1719
1765
  <td>
1720
- <pre class="code"><span class="info file"># File 'lib/jini.rb', line 117</span>
1766
+ <pre class="code"><span class="info file"># File 'lib/jini.rb', line 129</span>
1721
1767
 
1722
1768
  <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
1769
  <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 +1855,12 @@
1809
1855
  <pre class="lines">
1810
1856
 
1811
1857
 
1812
- 67
1813
- 68
1814
- 69</pre>
1858
+ 72
1859
+ 73
1860
+ 74</pre>
1815
1861
  </td>
1816
1862
  <td>
1817
- <pre class="code"><span class="info file"># File 'lib/jini.rb', line 67</span>
1863
+ <pre class="code"><span class="info file"># File 'lib/jini.rb', line 72</span>
1818
1864
 
1819
1865
  <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
1866
  <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 +1868,101 @@
1822
1868
  </td>
1823
1869
  </tr>
1824
1870
  </table>
1871
+ </div>
1872
+
1873
+ <div class="method_details ">
1874
+ <h3 class="signature " id="remove_property-instance_method">
1875
+
1876
+ #<strong>remove_property</strong>(property) &#x21d2; <tt><span class='object_link'><a href="" title="Jini (class)">Jini</a></span></tt>
1877
+
1878
+
1879
+
1880
+
1881
+
1882
+ </h3><div class="docstring">
1883
+ <div class="discussion">
1884
+
1885
+ <p>Removes property.</p>
1886
+
1887
+
1888
+ </div>
1889
+ </div>
1890
+ <div class="tags">
1891
+ <p class="tag_title">Parameters:</p>
1892
+ <ul class="param">
1893
+
1894
+ <li>
1895
+
1896
+ <span class='name'>property</span>
1897
+
1898
+
1899
+ <span class='type'>(<tt>String</tt>)</span>
1900
+
1901
+
1902
+
1903
+ &mdash;
1904
+ <div class='inline'>
1905
+ <p>to remove</p>
1906
+ </div>
1907
+
1908
+ </li>
1909
+
1910
+ </ul>
1911
+
1912
+ <p class="tag_title">Returns:</p>
1913
+ <ul class="return">
1914
+
1915
+ <li>
1916
+
1917
+
1918
+ <span class='type'>(<tt><span class='object_link'><a href="" title="Jini (class)">Jini</a></span></tt>)</span>
1919
+
1920
+
1921
+
1922
+ &mdash;
1923
+ <div class='inline'>
1924
+ <p>without property on tail</p>
1925
+ </div>
1926
+
1927
+ </li>
1928
+
1929
+ </ul>
1930
+ <p class="tag_title">Since:</p>
1931
+ <ul class="since">
1932
+
1933
+ <li>
1934
+
1935
+
1936
+
1937
+
1938
+
1939
+ <div class='inline'>
1940
+ <p>0.1.3</p>
1941
+ </div>
1942
+
1943
+ </li>
1944
+
1945
+ </ul>
1946
+
1947
+ </div><table class="source_code">
1948
+ <tr>
1949
+ <td>
1950
+ <pre class="lines">
1951
+
1952
+
1953
+ 102
1954
+ 103
1955
+ 104</pre>
1956
+ </td>
1957
+ <td>
1958
+ <pre class="code"><span class="info file"># File 'lib/jini.rb', line 102</span>
1959
+
1960
+ <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>
1961
+ <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>
1962
+ <span class='kw'>end</span></pre>
1963
+ </td>
1964
+ </tr>
1965
+ </table>
1825
1966
  </div>
1826
1967
 
1827
1968
  <div class="method_details ">
@@ -1902,17 +2043,17 @@
1902
2043
  <pre class="lines">
1903
2044
 
1904
2045
 
1905
- 75
1906
- 76
1907
- 77
1908
- 78
1909
- 79
1910
2046
  80
1911
2047
  81
1912
- 82</pre>
2048
+ 82
2049
+ 83
2050
+ 84
2051
+ 85
2052
+ 86
2053
+ 87</pre>
1913
2054
  </td>
1914
2055
  <td>
1915
- <pre class="code"><span class="info file"># File 'lib/jini.rb', line 75</span>
2056
+ <pre class="code"><span class="info file"># File 'lib/jini.rb', line 80</span>
1916
2057
 
1917
2058
  <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
2059
  <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 +2132,13 @@
1991
2132
  <pre class="lines">
1992
2133
 
1993
2134
 
1994
- 170
1995
- 171
1996
- 172
1997
- 173</pre>
2135
+ 182
2136
+ 183
2137
+ 184
2138
+ 185</pre>
1998
2139
  </td>
1999
2140
  <td>
2000
- <pre class="code"><span class="info file"># File 'lib/jini.rb', line 170</span>
2141
+ <pre class="code"><span class="info file"># File 'lib/jini.rb', line 182</span>
2001
2142
 
2002
2143
  <span class='kw'>def</span> <span class='id identifier rubyid_selection'>selection</span>
2003
2144
  <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 +2227,14 @@
2086
2227
  <pre class="lines">
2087
2228
 
2088
2229
 
2089
- 49
2090
- 50
2091
- 51
2092
- 52
2093
- 53</pre>
2230
+ 54
2231
+ 55
2232
+ 56
2233
+ 57
2234
+ 58</pre>
2094
2235
  </td>
2095
2236
  <td>
2096
- <pre class="code"><span class="info file"># File 'lib/jini.rb', line 49</span>
2237
+ <pre class="code"><span class="info file"># File 'lib/jini.rb', line 54</span>
2097
2238
 
2098
2239
  <span class='kw'>def</span> <span class='id identifier rubyid_to_s'>to_s</span>
2099
2240
  <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 +2251,7 @@
2110
2251
  </div>
2111
2252
 
2112
2253
  <div id="footer">
2113
- Generated on Mon Sep 19 02:24:40 2022 by
2254
+ Generated on Wed Sep 21 12:26:11 2022 by
2114
2255
  <a href="https://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
2115
2256
  0.9.28 (ruby-3.0.0).
2116
2257
  </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 Wed Sep 21 12:26:11 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 Wed Sep 21 12:26:11 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 Wed Sep 21 12:26:11 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 Wed Sep 21 12:26:11 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
@@ -3,9 +3,9 @@
3
3
  require 'English'
4
4
  Gem::Specification.new do |s|
5
5
  s.required_rubygems_version = Gem::Requirement.new('>= 0') if s.respond_to? :required_rubygems_version=
6
- s.required_ruby_version = '>=3.0.0'
6
+ s.required_ruby_version = '>=2.6.8'
7
7
  s.name = 'jini'
8
- s.version = '0.1.2'
8
+ s.version = '0.1.4'
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
@@ -2,7 +2,7 @@
2
2
 
3
3
  # (The MIT License)
4
4
  #
5
- # Copyright (c) 2022-2022 Ivanchuk Ivan
5
+ # Copyright (c) 2022 Ivanchuk Ivan
6
6
  #
7
7
  # Permission is hereby granted, free of charge, to any person obtaining a copy
8
8
  # of this software and associated documentation files (the 'Software'), to deal
@@ -22,8 +22,13 @@
22
22
  # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
23
23
  # SOFTWARE.
24
24
 
25
- # It's a simple XPATH builder.
25
+ # The jini.
26
+ # Author:: Ivan Ivanchuk (clicker.heroes.acg@gmail.com)
27
+ # Copyright:: Copyright (c) 2022 Ivan Ivanchuck
28
+ # License:: MIT
26
29
  #
30
+ # It's a simple XPATH builder.
31
+ # <p></p>
27
32
  # require 'jini'
28
33
  # xpath = Jini.new('parent')
29
34
  # .add_node('child')
@@ -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
@@ -209,7 +221,7 @@ class Jini
209
221
  # @param node [String]
210
222
  # @return [Boolean] matching regex
211
223
  def bad_symbols?(node)
212
- node.match %r{[|]|@|//}
224
+ !!node.match(%r{[|]|@|//}) unless node.nil?
213
225
  end
214
226
 
215
227
  # regex: '[' or ']' or '@' or '=' or '<' or '>'
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.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ivan Ivanchuck
8
- autorequire:
8
+ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2022-09-18 00:00:00.000000000 Z
11
+ date: 2022-09-21 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: minitest
@@ -96,7 +96,7 @@ licenses:
96
96
  - MIT
97
97
  metadata:
98
98
  rubygems_mfa_required: 'true'
99
- post_install_message:
99
+ post_install_message:
100
100
  rdoc_options:
101
101
  - "--charset=UTF-8"
102
102
  require_paths:
@@ -105,7 +105,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
105
105
  requirements:
106
106
  - - ">="
107
107
  - !ruby/object:Gem::Version
108
- version: 3.0.0
108
+ version: 2.6.8
109
109
  required_rubygems_version: !ruby/object:Gem::Requirement
110
110
  requirements:
111
111
  - - ">="
@@ -113,7 +113,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
113
113
  version: '0'
114
114
  requirements: []
115
115
  rubygems_version: 3.3.22
116
- signing_key:
116
+ signing_key:
117
117
  specification_version: 4
118
118
  summary: Simple Immutable Ruby XPATH Builder
119
119
  test_files: []