jini 0.0.5 → 0.0.7
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 +4 -4
- data/.yardoc/checksums +1 -1
- data/.yardoc/object_types +0 -0
- data/.yardoc/objects/root.dat +0 -0
- data/README.md +7 -5
- data/doc/Jini/InvalidPath.html +1 -1
- data/doc/Jini.html +320 -67
- data/doc/_index.html +1 -1
- data/doc/file.README.html +8 -6
- data/doc/index.html +8 -6
- data/doc/method_list.html +18 -2
- data/doc/top-level-namespace.html +1 -1
- data/jini.gemspec +2 -3
- data/lib/jini.rb +46 -15
- data/test/jini_test.rb +40 -20
- metadata +4 -5
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 5c4276388f8fa9d2ff167b085b61849cb2c394f03cb4d25232f825caba82aa3c
|
|
4
|
+
data.tar.gz: 14d9de0e18ca0e308b836f85da637b73de42cd023f0b58d2b19f4e267361f54b
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: ff5fb62653c5b87532c2deac5991db58bb1e10a8ddbdefa341c407644f50b25bff8ef50a2524db5b7b70bc7171c019826cf99d8e3615a8e4c3049fd3f68a999b
|
|
7
|
+
data.tar.gz: 8139e0995cc1ef62e491d7407d3a9d7e7827daebbab965e8b04896cd95028d441cfe9497ac3e1dd9a1d08094464e294c1fe1f2113c57b9e96d84d73e838ac139
|
data/.yardoc/checksums
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
lib/jini.rb
|
|
1
|
+
lib/jini.rb aa45175d922be503e56fdbeaa14104ccb3dcfbb1
|
data/.yardoc/object_types
CHANGED
|
Binary file
|
data/.yardoc/objects/root.dat
CHANGED
|
Binary file
|
data/README.md
CHANGED
|
@@ -1,20 +1,22 @@
|
|
|
1
1
|
# Jini
|
|
2
|
+
|
|
2
3
|
[](https://badge.fury.io/rb/jini)
|
|
3
4
|
|
|
4
|
-
The class [`Jini`](https://www.rubydoc.info/gems/jini/0.0.
|
|
5
|
+
The class [`Jini`](https://www.rubydoc.info/gems/jini/0.0.5/Jini) helps you build a XPATH.
|
|
5
6
|
|
|
6
7
|
```ruby
|
|
7
8
|
require 'jini'
|
|
8
9
|
xpath = Jini
|
|
9
10
|
.new
|
|
10
|
-
.
|
|
11
|
-
.
|
|
11
|
+
.add_node('parent') # addition a path node
|
|
12
|
+
.add_node('child') # addition a path node
|
|
12
13
|
.add_attr('key', 'value') # addition an attribute
|
|
14
|
+
.remove_node('child') # removes attr by key
|
|
13
15
|
.to_s # convert it to a string
|
|
14
|
-
# -> xpath: /parent
|
|
16
|
+
puts(xpath) # -> xpath: /parent[@key="value"]
|
|
15
17
|
```
|
|
16
18
|
|
|
17
|
-
The full list of methods is [here](https://www.rubydoc.info/gems/jini/0.0.
|
|
19
|
+
The full list of methods is [here](https://www.rubydoc.info/gems/jini/0.0.5).
|
|
18
20
|
|
|
19
21
|
Install it:
|
|
20
22
|
|
data/doc/Jini/InvalidPath.html
CHANGED
|
@@ -125,7 +125,7 @@
|
|
|
125
125
|
</div>
|
|
126
126
|
|
|
127
127
|
<div id="footer">
|
|
128
|
-
Generated on
|
|
128
|
+
Generated on Fri Sep 16 04:23:03 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,15 +102,15 @@
|
|
|
102
102
|
<h2>Overview</h2><div class="docstring">
|
|
103
103
|
<div class="discussion">
|
|
104
104
|
|
|
105
|
-
<p>It’s a simple XPATH builder
|
|
105
|
+
<p>It’s a simple XPATH builder.</p>
|
|
106
|
+
|
|
107
|
+
<p>require ‘jini’ xpath = Jini.new(‘parent’)</p>
|
|
106
108
|
|
|
107
109
|
<pre class="code ruby"><code class="ruby">.add_path(node: 'child')
|
|
108
110
|
.add_path(node: 'toy')
|
|
109
111
|
.to_s // body/child/toy
|
|
110
112
|
</code></pre>
|
|
111
113
|
|
|
112
|
-
<p>“‘</p>
|
|
113
|
-
|
|
114
114
|
|
|
115
115
|
</div>
|
|
116
116
|
</div>
|
|
@@ -193,7 +193,7 @@
|
|
|
193
193
|
<li class="public ">
|
|
194
194
|
<span class="summary_signature">
|
|
195
195
|
|
|
196
|
-
<a href="#
|
|
196
|
+
<a href="#add_node-instance_method" title="#add_node (instance method)">#<strong>add_node</strong>(node) ⇒ Jini </a>
|
|
197
197
|
|
|
198
198
|
|
|
199
199
|
|
|
@@ -283,6 +283,30 @@
|
|
|
283
283
|
<p>Access by index.</p>
|
|
284
284
|
</div></span>
|
|
285
285
|
|
|
286
|
+
</li>
|
|
287
|
+
|
|
288
|
+
|
|
289
|
+
<li class="public ">
|
|
290
|
+
<span class="summary_signature">
|
|
291
|
+
|
|
292
|
+
<a href="#gt-instance_method" title="#gt (instance method)">#<strong>gt</strong>(key, value) ⇒ Jini </a>
|
|
293
|
+
|
|
294
|
+
|
|
295
|
+
|
|
296
|
+
</span>
|
|
297
|
+
|
|
298
|
+
|
|
299
|
+
|
|
300
|
+
|
|
301
|
+
|
|
302
|
+
|
|
303
|
+
|
|
304
|
+
|
|
305
|
+
|
|
306
|
+
<span class="summary_desc"><div class='inline'>
|
|
307
|
+
<p>Greater than.</p>
|
|
308
|
+
</div></span>
|
|
309
|
+
|
|
286
310
|
</li>
|
|
287
311
|
|
|
288
312
|
|
|
@@ -306,7 +330,31 @@
|
|
|
306
330
|
|
|
307
331
|
|
|
308
332
|
<span class="summary_desc"><div class='inline'>
|
|
309
|
-
<p>
|
|
333
|
+
<p>Makes new object.</p>
|
|
334
|
+
</div></span>
|
|
335
|
+
|
|
336
|
+
</li>
|
|
337
|
+
|
|
338
|
+
|
|
339
|
+
<li class="public ">
|
|
340
|
+
<span class="summary_signature">
|
|
341
|
+
|
|
342
|
+
<a href="#lt-instance_method" title="#lt (instance method)">#<strong>lt</strong>(key, value) ⇒ Jini </a>
|
|
343
|
+
|
|
344
|
+
|
|
345
|
+
|
|
346
|
+
</span>
|
|
347
|
+
|
|
348
|
+
|
|
349
|
+
|
|
350
|
+
|
|
351
|
+
|
|
352
|
+
|
|
353
|
+
|
|
354
|
+
|
|
355
|
+
|
|
356
|
+
<span class="summary_desc"><div class='inline'>
|
|
357
|
+
<p>Less than.</p>
|
|
310
358
|
</div></span>
|
|
311
359
|
|
|
312
360
|
</li>
|
|
@@ -315,7 +363,7 @@
|
|
|
315
363
|
<li class="public ">
|
|
316
364
|
<span class="summary_signature">
|
|
317
365
|
|
|
318
|
-
<a href="#or-instance_method" title="#or (instance method)">#<strong>or</strong>(
|
|
366
|
+
<a href="#or-instance_method" title="#or (instance method)">#<strong>or</strong>(alpha, beta) ⇒ Jini </a>
|
|
319
367
|
|
|
320
368
|
|
|
321
369
|
|
|
@@ -363,7 +411,7 @@
|
|
|
363
411
|
<li class="public ">
|
|
364
412
|
<span class="summary_signature">
|
|
365
413
|
|
|
366
|
-
<a href="#
|
|
414
|
+
<a href="#remove_node-instance_method" title="#remove_node (instance method)">#<strong>remove_node</strong>(node) ⇒ Jini </a>
|
|
367
415
|
|
|
368
416
|
|
|
369
417
|
|
|
@@ -450,7 +498,7 @@
|
|
|
450
498
|
</h3><div class="docstring">
|
|
451
499
|
<div class="discussion">
|
|
452
500
|
|
|
453
|
-
<p>
|
|
501
|
+
<p>Makes new object. By default it creates an empty path and you can ignore the head parameter.</p>
|
|
454
502
|
|
|
455
503
|
|
|
456
504
|
</div>
|
|
@@ -481,12 +529,12 @@
|
|
|
481
529
|
<pre class="lines">
|
|
482
530
|
|
|
483
531
|
|
|
484
|
-
38
|
|
485
532
|
39
|
|
486
|
-
40
|
|
533
|
+
40
|
|
534
|
+
41</pre>
|
|
487
535
|
</td>
|
|
488
536
|
<td>
|
|
489
|
-
<pre class="code"><span class="info file"># File 'lib/jini.rb', line
|
|
537
|
+
<pre class="code"><span class="info file"># File 'lib/jini.rb', line 39</span>
|
|
490
538
|
|
|
491
539
|
<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'>'</span><span class='tstring_end'>'</span></span><span class='rparen'>)</span>
|
|
492
540
|
<span class='ivar'>@head</span> <span class='op'>=</span> <span class='id identifier rubyid_head'>head</span>
|
|
@@ -567,12 +615,12 @@
|
|
|
567
615
|
<pre class="lines">
|
|
568
616
|
|
|
569
617
|
|
|
570
|
-
83
|
|
571
618
|
84
|
|
572
|
-
85
|
|
619
|
+
85
|
|
620
|
+
86</pre>
|
|
573
621
|
</td>
|
|
574
622
|
<td>
|
|
575
|
-
<pre class="code"><span class="info file"># File 'lib/jini.rb', line
|
|
623
|
+
<pre class="code"><span class="info file"># File 'lib/jini.rb', line 84</span>
|
|
576
624
|
|
|
577
625
|
<span class='kw'>def</span> <span class='id identifier rubyid_add_all'>add_all</span><span class='lparen'>(</span><span class='id identifier rubyid_node'>node</span><span class='rparen'>)</span>
|
|
578
626
|
<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'>"</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'>"</span></span><span class='rparen'>)</span>
|
|
@@ -662,12 +710,12 @@
|
|
|
662
710
|
<pre class="lines">
|
|
663
711
|
|
|
664
712
|
|
|
665
|
-
60
|
|
666
713
|
61
|
|
667
|
-
62
|
|
714
|
+
62
|
|
715
|
+
63</pre>
|
|
668
716
|
</td>
|
|
669
717
|
<td>
|
|
670
|
-
<pre class="code"><span class="info file"># File 'lib/jini.rb', line
|
|
718
|
+
<pre class="code"><span class="info file"># File 'lib/jini.rb', line 61</span>
|
|
671
719
|
|
|
672
720
|
<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>
|
|
673
721
|
<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'>"</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'>=\"</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_value'>value</span><span class='embexpr_end'>}</span><span class='tstring_content'>\"]</span><span class='tstring_end'>"</span></span><span class='rparen'>)</span>
|
|
@@ -678,9 +726,9 @@
|
|
|
678
726
|
</div>
|
|
679
727
|
|
|
680
728
|
<div class="method_details ">
|
|
681
|
-
<h3 class="signature " id="
|
|
729
|
+
<h3 class="signature " id="add_node-instance_method">
|
|
682
730
|
|
|
683
|
-
#<strong>
|
|
731
|
+
#<strong>add_node</strong>(node) ⇒ <tt><span class='object_link'><a href="" title="Jini (class)">Jini</a></span></tt>
|
|
684
732
|
|
|
685
733
|
|
|
686
734
|
|
|
@@ -741,14 +789,14 @@
|
|
|
741
789
|
<pre class="lines">
|
|
742
790
|
|
|
743
791
|
|
|
744
|
-
51
|
|
745
792
|
52
|
|
746
|
-
53
|
|
793
|
+
53
|
|
794
|
+
54</pre>
|
|
747
795
|
</td>
|
|
748
796
|
<td>
|
|
749
|
-
<pre class="code"><span class="info file"># File 'lib/jini.rb', line
|
|
797
|
+
<pre class="code"><span class="info file"># File 'lib/jini.rb', line 52</span>
|
|
750
798
|
|
|
751
|
-
<span class='kw'>def</span> <span class='id identifier
|
|
799
|
+
<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>
|
|
752
800
|
<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'>"</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'>"</span></span><span class='rparen'>)</span>
|
|
753
801
|
<span class='kw'>end</span></pre>
|
|
754
802
|
</td>
|
|
@@ -813,17 +861,17 @@
|
|
|
813
861
|
<pre class="lines">
|
|
814
862
|
|
|
815
863
|
|
|
816
|
-
74
|
|
817
864
|
75
|
|
818
865
|
76
|
|
819
|
-
77
|
|
866
|
+
77
|
|
867
|
+
78</pre>
|
|
820
868
|
</td>
|
|
821
869
|
<td>
|
|
822
|
-
<pre class="code"><span class="info file"># File 'lib/jini.rb', line
|
|
870
|
+
<pre class="code"><span class="info file"># File 'lib/jini.rb', line 75</span>
|
|
823
871
|
|
|
824
872
|
<span class='kw'>def</span> <span class='id identifier rubyid_all'>all</span>
|
|
825
873
|
<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'>'</span><span class='tstring_content'>You cannot add all tag after attr!</span><span class='tstring_end'>'</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'>'</span><span class='tstring_content'>]</span><span class='tstring_end'>'</span></span><span class='rparen'>)</span>
|
|
826
|
-
<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
|
|
874
|
+
<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'>'</span><span class='tstring_content'>*</span><span class='tstring_end'>'</span></span><span class='rparen'>)</span><span class='period'>.</span><span class='id identifier rubyid_to_s'>to_s</span><span class='rparen'>)</span>
|
|
827
875
|
<span class='kw'>end</span></pre>
|
|
828
876
|
</td>
|
|
829
877
|
</tr>
|
|
@@ -894,12 +942,12 @@
|
|
|
894
942
|
<pre class="lines">
|
|
895
943
|
|
|
896
944
|
|
|
897
|
-
67
|
|
898
945
|
68
|
|
899
|
-
69
|
|
946
|
+
69
|
|
947
|
+
70</pre>
|
|
900
948
|
</td>
|
|
901
949
|
<td>
|
|
902
|
-
<pre class="code"><span class="info file"># File 'lib/jini.rb', line
|
|
950
|
+
<pre class="code"><span class="info file"># File 'lib/jini.rb', line 68</span>
|
|
903
951
|
|
|
904
952
|
<span class='kw'>def</span> <span class='id identifier rubyid_all_attr'>all_attr</span><span class='lparen'>(</span><span class='id identifier rubyid_value'>value</span><span class='rparen'>)</span>
|
|
905
953
|
<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'>"</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'>"</span></span><span class='rparen'>)</span>
|
|
@@ -986,13 +1034,13 @@
|
|
|
986
1034
|
<pre class="lines">
|
|
987
1035
|
|
|
988
1036
|
|
|
989
|
-
91
|
|
990
1037
|
92
|
|
991
1038
|
93
|
|
992
|
-
94
|
|
1039
|
+
94
|
|
1040
|
+
95</pre>
|
|
993
1041
|
</td>
|
|
994
1042
|
<td>
|
|
995
|
-
<pre class="code"><span class="info file"># File 'lib/jini.rb', line
|
|
1043
|
+
<pre class="code"><span class="info file"># File 'lib/jini.rb', line 92</span>
|
|
996
1044
|
|
|
997
1045
|
<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>
|
|
998
1046
|
<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'>'</span><span class='tstring_content'>Cant use at after selection</span><span class='tstring_end'>'</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'>'</span><span class='tstring_content'>::</span><span class='tstring_end'>'</span></span>
|
|
@@ -1001,12 +1049,182 @@
|
|
|
1001
1049
|
</td>
|
|
1002
1050
|
</tr>
|
|
1003
1051
|
</table>
|
|
1052
|
+
</div>
|
|
1053
|
+
|
|
1054
|
+
<div class="method_details ">
|
|
1055
|
+
<h3 class="signature " id="gt-instance_method">
|
|
1056
|
+
|
|
1057
|
+
#<strong>gt</strong>(key, value) ⇒ <tt><span class='object_link'><a href="" title="Jini (class)">Jini</a></span></tt>
|
|
1058
|
+
|
|
1059
|
+
|
|
1060
|
+
|
|
1061
|
+
|
|
1062
|
+
|
|
1063
|
+
</h3><div class="docstring">
|
|
1064
|
+
<div class="discussion">
|
|
1065
|
+
|
|
1066
|
+
<p>Greater than. Addition ‘[node > value]’ to tail</p>
|
|
1067
|
+
|
|
1068
|
+
|
|
1069
|
+
</div>
|
|
1070
|
+
</div>
|
|
1071
|
+
<div class="tags">
|
|
1072
|
+
<p class="tag_title">Parameters:</p>
|
|
1073
|
+
<ul class="param">
|
|
1074
|
+
|
|
1075
|
+
<li>
|
|
1076
|
+
|
|
1077
|
+
<span class='name'>key</span>
|
|
1078
|
+
|
|
1079
|
+
|
|
1080
|
+
<span class='type'>(<tt>String</tt>)</span>
|
|
1081
|
+
|
|
1082
|
+
|
|
1083
|
+
|
|
1084
|
+
—
|
|
1085
|
+
<div class='inline'>
|
|
1086
|
+
<p>name</p>
|
|
1087
|
+
</div>
|
|
1088
|
+
|
|
1089
|
+
</li>
|
|
1090
|
+
|
|
1091
|
+
<li>
|
|
1092
|
+
|
|
1093
|
+
<span class='name'>value</span>
|
|
1094
|
+
|
|
1095
|
+
|
|
1096
|
+
<span class='type'>(<tt>Object</tt>)</span>
|
|
1097
|
+
|
|
1098
|
+
|
|
1099
|
+
|
|
1100
|
+
</li>
|
|
1101
|
+
|
|
1102
|
+
</ul>
|
|
1103
|
+
|
|
1104
|
+
<p class="tag_title">Returns:</p>
|
|
1105
|
+
<ul class="return">
|
|
1106
|
+
|
|
1107
|
+
<li>
|
|
1108
|
+
|
|
1109
|
+
|
|
1110
|
+
<span class='type'>(<tt><span class='object_link'><a href="" title="Jini (class)">Jini</a></span></tt>)</span>
|
|
1111
|
+
|
|
1112
|
+
|
|
1113
|
+
|
|
1114
|
+
</li>
|
|
1115
|
+
|
|
1116
|
+
</ul>
|
|
1117
|
+
|
|
1118
|
+
</div><table class="source_code">
|
|
1119
|
+
<tr>
|
|
1120
|
+
<td>
|
|
1121
|
+
<pre class="lines">
|
|
1122
|
+
|
|
1123
|
+
|
|
1124
|
+
152
|
|
1125
|
+
153
|
|
1126
|
+
154</pre>
|
|
1127
|
+
</td>
|
|
1128
|
+
<td>
|
|
1129
|
+
<pre class="code"><span class="info file"># File 'lib/jini.rb', line 152</span>
|
|
1130
|
+
|
|
1131
|
+
<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>
|
|
1132
|
+
<span class='id identifier rubyid_action_between'>action_between</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>></span><span class='tstring_end'>'</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>
|
|
1133
|
+
<span class='kw'>end</span></pre>
|
|
1134
|
+
</td>
|
|
1135
|
+
</tr>
|
|
1136
|
+
</table>
|
|
1137
|
+
</div>
|
|
1138
|
+
|
|
1139
|
+
<div class="method_details ">
|
|
1140
|
+
<h3 class="signature " id="lt-instance_method">
|
|
1141
|
+
|
|
1142
|
+
#<strong>lt</strong>(key, value) ⇒ <tt><span class='object_link'><a href="" title="Jini (class)">Jini</a></span></tt>
|
|
1143
|
+
|
|
1144
|
+
|
|
1145
|
+
|
|
1146
|
+
|
|
1147
|
+
|
|
1148
|
+
</h3><div class="docstring">
|
|
1149
|
+
<div class="discussion">
|
|
1150
|
+
|
|
1151
|
+
<p>Less than. Addition ‘[node < value]’ to tail</p>
|
|
1152
|
+
|
|
1153
|
+
|
|
1154
|
+
</div>
|
|
1155
|
+
</div>
|
|
1156
|
+
<div class="tags">
|
|
1157
|
+
<p class="tag_title">Parameters:</p>
|
|
1158
|
+
<ul class="param">
|
|
1159
|
+
|
|
1160
|
+
<li>
|
|
1161
|
+
|
|
1162
|
+
<span class='name'>key</span>
|
|
1163
|
+
|
|
1164
|
+
|
|
1165
|
+
<span class='type'>(<tt>String</tt>)</span>
|
|
1166
|
+
|
|
1167
|
+
|
|
1168
|
+
|
|
1169
|
+
—
|
|
1170
|
+
<div class='inline'>
|
|
1171
|
+
<p>name</p>
|
|
1172
|
+
</div>
|
|
1173
|
+
|
|
1174
|
+
</li>
|
|
1175
|
+
|
|
1176
|
+
<li>
|
|
1177
|
+
|
|
1178
|
+
<span class='name'>value</span>
|
|
1179
|
+
|
|
1180
|
+
|
|
1181
|
+
<span class='type'>(<tt>Object</tt>)</span>
|
|
1182
|
+
|
|
1183
|
+
|
|
1184
|
+
|
|
1185
|
+
</li>
|
|
1186
|
+
|
|
1187
|
+
</ul>
|
|
1188
|
+
|
|
1189
|
+
<p class="tag_title">Returns:</p>
|
|
1190
|
+
<ul class="return">
|
|
1191
|
+
|
|
1192
|
+
<li>
|
|
1193
|
+
|
|
1194
|
+
|
|
1195
|
+
<span class='type'>(<tt><span class='object_link'><a href="" title="Jini (class)">Jini</a></span></tt>)</span>
|
|
1196
|
+
|
|
1197
|
+
|
|
1198
|
+
|
|
1199
|
+
</li>
|
|
1200
|
+
|
|
1201
|
+
</ul>
|
|
1202
|
+
|
|
1203
|
+
</div><table class="source_code">
|
|
1204
|
+
<tr>
|
|
1205
|
+
<td>
|
|
1206
|
+
<pre class="lines">
|
|
1207
|
+
|
|
1208
|
+
|
|
1209
|
+
143
|
|
1210
|
+
144
|
|
1211
|
+
145</pre>
|
|
1212
|
+
</td>
|
|
1213
|
+
<td>
|
|
1214
|
+
<pre class="code"><span class="info file"># File 'lib/jini.rb', line 143</span>
|
|
1215
|
+
|
|
1216
|
+
<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>
|
|
1217
|
+
<span class='id identifier rubyid_action_between'>action_between</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'><</span><span class='tstring_end'>'</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>
|
|
1218
|
+
<span class='kw'>end</span></pre>
|
|
1219
|
+
</td>
|
|
1220
|
+
</tr>
|
|
1221
|
+
</table>
|
|
1004
1222
|
</div>
|
|
1005
1223
|
|
|
1006
1224
|
<div class="method_details ">
|
|
1007
1225
|
<h3 class="signature " id="or-instance_method">
|
|
1008
1226
|
|
|
1009
|
-
#<strong>or</strong>(
|
|
1227
|
+
#<strong>or</strong>(alpha, beta) ⇒ <tt><span class='object_link'><a href="" title="Jini (class)">Jini</a></span></tt>
|
|
1010
1228
|
|
|
1011
1229
|
|
|
1012
1230
|
|
|
@@ -1026,13 +1244,34 @@
|
|
|
1026
1244
|
|
|
1027
1245
|
<li>
|
|
1028
1246
|
|
|
1029
|
-
<span class='name'>
|
|
1247
|
+
<span class='name'>alpha</span>
|
|
1248
|
+
|
|
1249
|
+
|
|
1250
|
+
<span class='type'>(<tt>String</tt>)</span>
|
|
1251
|
+
|
|
1252
|
+
|
|
1253
|
+
|
|
1254
|
+
—
|
|
1255
|
+
<div class='inline'>
|
|
1256
|
+
<p>statement</p>
|
|
1257
|
+
</div>
|
|
1258
|
+
|
|
1259
|
+
</li>
|
|
1260
|
+
|
|
1261
|
+
<li>
|
|
1262
|
+
|
|
1263
|
+
<span class='name'>beta</span>
|
|
1030
1264
|
|
|
1031
1265
|
|
|
1032
1266
|
<span class='type'>(<tt>String</tt>)</span>
|
|
1033
1267
|
|
|
1034
1268
|
|
|
1035
1269
|
|
|
1270
|
+
—
|
|
1271
|
+
<div class='inline'>
|
|
1272
|
+
<p>statement</p>
|
|
1273
|
+
</div>
|
|
1274
|
+
|
|
1036
1275
|
</li>
|
|
1037
1276
|
|
|
1038
1277
|
</ul>
|
|
@@ -1049,7 +1288,7 @@
|
|
|
1049
1288
|
|
|
1050
1289
|
—
|
|
1051
1290
|
<div class='inline'>
|
|
1052
|
-
<p>with
|
|
1291
|
+
<p>with Jini ‘[first|second]’ on tail</p>
|
|
1053
1292
|
</div>
|
|
1054
1293
|
|
|
1055
1294
|
</li>
|
|
@@ -1062,15 +1301,15 @@
|
|
|
1062
1301
|
<pre class="lines">
|
|
1063
1302
|
|
|
1064
1303
|
|
|
1065
|
-
133
|
|
1066
1304
|
134
|
|
1067
|
-
135
|
|
1305
|
+
135
|
|
1306
|
+
136</pre>
|
|
1068
1307
|
</td>
|
|
1069
1308
|
<td>
|
|
1070
|
-
<pre class="code"><span class="info file"># File 'lib/jini.rb', line
|
|
1309
|
+
<pre class="code"><span class="info file"># File 'lib/jini.rb', line 134</span>
|
|
1071
1310
|
|
|
1072
|
-
<span class='kw'>def</span> <span class='kw'>or</span><span class='lparen'>(</span><span class='id identifier
|
|
1073
|
-
<span class='
|
|
1311
|
+
<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>
|
|
1312
|
+
<span class='id identifier rubyid_action_between'>action_between</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>|</span><span class='tstring_end'>'</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>
|
|
1074
1313
|
<span class='kw'>end</span></pre>
|
|
1075
1314
|
</td>
|
|
1076
1315
|
</tr>
|
|
@@ -1141,10 +1380,6 @@
|
|
|
1141
1380
|
<pre class="lines">
|
|
1142
1381
|
|
|
1143
1382
|
|
|
1144
|
-
120
|
|
1145
|
-
121
|
|
1146
|
-
122
|
|
1147
|
-
123
|
|
1148
1383
|
124
|
|
1149
1384
|
125
|
|
1150
1385
|
126
|
|
@@ -1152,15 +1387,11 @@
|
|
|
1152
1387
|
128</pre>
|
|
1153
1388
|
</td>
|
|
1154
1389
|
<td>
|
|
1155
|
-
<pre class="code"><span class="info file"># File 'lib/jini.rb', line
|
|
1390
|
+
<pre class="code"><span class="info file"># File 'lib/jini.rb', line 124</span>
|
|
1156
1391
|
|
|
1157
1392
|
<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>
|
|
1158
1393
|
<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>
|
|
1159
|
-
<span class='
|
|
1160
|
-
<span class='period'>.</span><span class='id identifier rubyid_gsub'>gsub</span><span class='lparen'>(</span>
|
|
1161
|
-
<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'>="[^"]+"(\[\]+|\]))</span><span class='regexp_end'>/</span></span><span class='comma'>,</span>
|
|
1162
|
-
<span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_end'>'</span></span>
|
|
1163
|
-
<span class='rparen'>)</span>
|
|
1394
|
+
<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'>="[^"]+"(\[\]+|\]))</span><span class='regexp_end'>/</span></span><span class='rparen'>)</span>
|
|
1164
1395
|
<span class='rparen'>)</span>
|
|
1165
1396
|
<span class='kw'>end</span></pre>
|
|
1166
1397
|
</td>
|
|
@@ -1169,9 +1400,9 @@
|
|
|
1169
1400
|
</div>
|
|
1170
1401
|
|
|
1171
1402
|
<div class="method_details ">
|
|
1172
|
-
<h3 class="signature " id="
|
|
1403
|
+
<h3 class="signature " id="remove_node-instance_method">
|
|
1173
1404
|
|
|
1174
|
-
#<strong>
|
|
1405
|
+
#<strong>remove_node</strong>(node) ⇒ <tt><span class='object_link'><a href="" title="Jini (class)">Jini</a></span></tt>
|
|
1175
1406
|
|
|
1176
1407
|
|
|
1177
1408
|
|
|
@@ -1232,15 +1463,19 @@
|
|
|
1232
1463
|
<pre class="lines">
|
|
1233
1464
|
|
|
1234
1465
|
|
|
1235
|
-
|
|
1236
|
-
|
|
1237
|
-
|
|
1466
|
+
111
|
|
1467
|
+
112
|
|
1468
|
+
113
|
|
1469
|
+
114
|
|
1470
|
+
115</pre>
|
|
1238
1471
|
</td>
|
|
1239
1472
|
<td>
|
|
1240
|
-
<pre class="code"><span class="info file"># File 'lib/jini.rb', line
|
|
1473
|
+
<pre class="code"><span class="info file"># File 'lib/jini.rb', line 111</span>
|
|
1241
1474
|
|
|
1242
|
-
<span class='kw'>def</span> <span class='id identifier
|
|
1243
|
-
<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
|
|
1475
|
+
<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>
|
|
1476
|
+
<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>
|
|
1477
|
+
<span class='id identifier rubyid_purge'>purge</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>"</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'>"</span></span><span class='rparen'>)</span>
|
|
1478
|
+
<span class='rparen'>)</span>
|
|
1244
1479
|
<span class='kw'>end</span></pre>
|
|
1245
1480
|
</td>
|
|
1246
1481
|
</tr>
|
|
@@ -1283,6 +1518,24 @@
|
|
|
1283
1518
|
|
|
1284
1519
|
</li>
|
|
1285
1520
|
|
|
1521
|
+
</ul>
|
|
1522
|
+
<p class="tag_title">Raises:</p>
|
|
1523
|
+
<ul class="raise">
|
|
1524
|
+
|
|
1525
|
+
<li>
|
|
1526
|
+
|
|
1527
|
+
|
|
1528
|
+
<span class='type'>(<tt><span class='object_link'><a href="Jini/InvalidPath.html" title="Jini::InvalidPath (class)">InvalidPath</a></span></tt>)</span>
|
|
1529
|
+
|
|
1530
|
+
|
|
1531
|
+
|
|
1532
|
+
—
|
|
1533
|
+
<div class='inline'>
|
|
1534
|
+
<p>when path can’t present with select</p>
|
|
1535
|
+
</div>
|
|
1536
|
+
|
|
1537
|
+
</li>
|
|
1538
|
+
|
|
1286
1539
|
</ul>
|
|
1287
1540
|
|
|
1288
1541
|
</div><table class="source_code">
|
|
@@ -1291,15 +1544,15 @@
|
|
|
1291
1544
|
<pre class="lines">
|
|
1292
1545
|
|
|
1293
1546
|
|
|
1294
|
-
99
|
|
1295
|
-
100
|
|
1296
1547
|
101
|
|
1297
1548
|
102
|
|
1298
1549
|
103
|
|
1299
|
-
104
|
|
1550
|
+
104
|
|
1551
|
+
105
|
|
1552
|
+
106</pre>
|
|
1300
1553
|
</td>
|
|
1301
1554
|
<td>
|
|
1302
|
-
<pre class="code"><span class="info file"># File 'lib/jini.rb', line
|
|
1555
|
+
<pre class="code"><span class="info file"># File 'lib/jini.rb', line 101</span>
|
|
1303
1556
|
|
|
1304
1557
|
<span class='kw'>def</span> <span class='id identifier rubyid_selection'>selection</span>
|
|
1305
1558
|
<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'>'</span><span class='tstring_content'>[</span><span class='tstring_end'>'</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'>'</span><span class='tstring_content'>]</span><span class='tstring_end'>'</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'>'</span><span class='tstring_content'>@</span><span class='tstring_end'>'</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'>'</span><span class='tstring_content'>//</span><span class='tstring_end'>'</span></span><span class='rparen'>)</span>
|
|
@@ -1356,12 +1609,12 @@
|
|
|
1356
1609
|
<pre class="lines">
|
|
1357
1610
|
|
|
1358
1611
|
|
|
1359
|
-
44
|
|
1360
1612
|
45
|
|
1361
|
-
46
|
|
1613
|
+
46
|
|
1614
|
+
47</pre>
|
|
1362
1615
|
</td>
|
|
1363
1616
|
<td>
|
|
1364
|
-
<pre class="code"><span class="info file"># File 'lib/jini.rb', line
|
|
1617
|
+
<pre class="code"><span class="info file"># File 'lib/jini.rb', line 45</span>
|
|
1365
1618
|
|
|
1366
1619
|
<span class='kw'>def</span> <span class='id identifier rubyid_to_s'>to_s</span>
|
|
1367
1620
|
<span class='ivar'>@head</span><span class='period'>.</span><span class='id identifier rubyid_to_s'>to_s</span>
|
|
@@ -1376,7 +1629,7 @@
|
|
|
1376
1629
|
</div>
|
|
1377
1630
|
|
|
1378
1631
|
<div id="footer">
|
|
1379
|
-
Generated on
|
|
1632
|
+
Generated on Fri Sep 16 04:23:03 2022 by
|
|
1380
1633
|
<a href="https://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
|
|
1381
1634
|
0.9.28 (ruby-3.0.0).
|
|
1382
1635
|
</div>
|
data/doc/_index.html
CHANGED
|
@@ -112,7 +112,7 @@
|
|
|
112
112
|
</div>
|
|
113
113
|
|
|
114
114
|
<div id="footer">
|
|
115
|
-
Generated on
|
|
115
|
+
Generated on Fri Sep 16 04:23:03 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
|
@@ -58,22 +58,24 @@
|
|
|
58
58
|
</div>
|
|
59
59
|
|
|
60
60
|
<div id="content"><div id='filecontents'><h1 id="jini">Jini</h1>
|
|
61
|
+
|
|
61
62
|
<p><a href="https://badge.fury.io/rb/jini"><img src="https://badge.fury.io/rb/jini.svg" alt="Gem Version" /></a></p>
|
|
62
63
|
|
|
63
|
-
<p>The class <a href="https://www.rubydoc.info/gems/jini/0.0.
|
|
64
|
+
<p>The class <a href="https://www.rubydoc.info/gems/jini/0.0.5/Jini"><code>Jini</code></a> helps you build a XPATH.</p>
|
|
64
65
|
|
|
65
66
|
<p><code>ruby
|
|
66
67
|
require 'jini'
|
|
67
68
|
xpath = Jini
|
|
68
69
|
.new
|
|
69
|
-
.
|
|
70
|
-
.
|
|
70
|
+
.add_node('parent') # addition a path node
|
|
71
|
+
.add_node('child') # addition a path node
|
|
71
72
|
.add_attr('key', 'value') # addition an attribute
|
|
73
|
+
.remove_node('child') # removes attr by key
|
|
72
74
|
.to_s # convert it to a string
|
|
73
|
-
# -> xpath: /parent
|
|
75
|
+
puts(xpath) # -> xpath: /parent[@key="value"]
|
|
74
76
|
</code></p>
|
|
75
77
|
|
|
76
|
-
<p>The full list of methods is <a href="https://www.rubydoc.info/gems/jini/0.0.
|
|
78
|
+
<p>The full list of methods is <a href="https://www.rubydoc.info/gems/jini/0.0.5">here</a>.</p>
|
|
77
79
|
|
|
78
80
|
<p>Install it:</p>
|
|
79
81
|
|
|
@@ -92,7 +94,7 @@ is <em>building</em> XPATHs.</p>
|
|
|
92
94
|
</div></div>
|
|
93
95
|
|
|
94
96
|
<div id="footer">
|
|
95
|
-
Generated on
|
|
97
|
+
Generated on Fri Sep 16 04:23:03 2022 by
|
|
96
98
|
<a href="https://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
|
|
97
99
|
0.9.28 (ruby-3.0.0).
|
|
98
100
|
</div>
|
data/doc/index.html
CHANGED
|
@@ -58,22 +58,24 @@
|
|
|
58
58
|
</div>
|
|
59
59
|
|
|
60
60
|
<div id="content"><div id='filecontents'><h1 id="jini">Jini</h1>
|
|
61
|
+
|
|
61
62
|
<p><a href="https://badge.fury.io/rb/jini"><img src="https://badge.fury.io/rb/jini.svg" alt="Gem Version" /></a></p>
|
|
62
63
|
|
|
63
|
-
<p>The class <a href="https://www.rubydoc.info/gems/jini/0.0.
|
|
64
|
+
<p>The class <a href="https://www.rubydoc.info/gems/jini/0.0.5/Jini"><code>Jini</code></a> helps you build a XPATH.</p>
|
|
64
65
|
|
|
65
66
|
<p><code>ruby
|
|
66
67
|
require 'jini'
|
|
67
68
|
xpath = Jini
|
|
68
69
|
.new
|
|
69
|
-
.
|
|
70
|
-
.
|
|
70
|
+
.add_node('parent') # addition a path node
|
|
71
|
+
.add_node('child') # addition a path node
|
|
71
72
|
.add_attr('key', 'value') # addition an attribute
|
|
73
|
+
.remove_node('child') # removes attr by key
|
|
72
74
|
.to_s # convert it to a string
|
|
73
|
-
# -> xpath: /parent
|
|
75
|
+
puts(xpath) # -> xpath: /parent[@key="value"]
|
|
74
76
|
</code></p>
|
|
75
77
|
|
|
76
|
-
<p>The full list of methods is <a href="https://www.rubydoc.info/gems/jini/0.0.
|
|
78
|
+
<p>The full list of methods is <a href="https://www.rubydoc.info/gems/jini/0.0.5">here</a>.</p>
|
|
77
79
|
|
|
78
80
|
<p>Install it:</p>
|
|
79
81
|
|
|
@@ -92,7 +94,7 @@ is <em>building</em> XPATHs.</p>
|
|
|
92
94
|
</div></div>
|
|
93
95
|
|
|
94
96
|
<div id="footer">
|
|
95
|
-
Generated on
|
|
97
|
+
Generated on Fri Sep 16 04:23:03 2022 by
|
|
96
98
|
<a href="https://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
|
|
97
99
|
0.9.28 (ruby-3.0.0).
|
|
98
100
|
</div>
|
data/doc/method_list.html
CHANGED
|
@@ -62,7 +62,7 @@
|
|
|
62
62
|
|
|
63
63
|
<li class="odd ">
|
|
64
64
|
<div class="item">
|
|
65
|
-
<span class='object_link'><a href="Jini.html#
|
|
65
|
+
<span class='object_link'><a href="Jini.html#add_node-instance_method" title="Jini#add_node (method)">#add_node</a></span>
|
|
66
66
|
<small>Jini</small>
|
|
67
67
|
</div>
|
|
68
68
|
</li>
|
|
@@ -93,6 +93,14 @@
|
|
|
93
93
|
|
|
94
94
|
|
|
95
95
|
<li class="odd ">
|
|
96
|
+
<div class="item">
|
|
97
|
+
<span class='object_link'><a href="Jini.html#gt-instance_method" title="Jini#gt (method)">#gt</a></span>
|
|
98
|
+
<small>Jini</small>
|
|
99
|
+
</div>
|
|
100
|
+
</li>
|
|
101
|
+
|
|
102
|
+
|
|
103
|
+
<li class="even ">
|
|
96
104
|
<div class="item">
|
|
97
105
|
<span class='object_link'><a href="Jini.html#initialize-instance_method" title="Jini#initialize (method)">#initialize</a></span>
|
|
98
106
|
<small>Jini</small>
|
|
@@ -100,6 +108,14 @@
|
|
|
100
108
|
</li>
|
|
101
109
|
|
|
102
110
|
|
|
111
|
+
<li class="odd ">
|
|
112
|
+
<div class="item">
|
|
113
|
+
<span class='object_link'><a href="Jini.html#lt-instance_method" title="Jini#lt (method)">#lt</a></span>
|
|
114
|
+
<small>Jini</small>
|
|
115
|
+
</div>
|
|
116
|
+
</li>
|
|
117
|
+
|
|
118
|
+
|
|
103
119
|
<li class="even ">
|
|
104
120
|
<div class="item">
|
|
105
121
|
<span class='object_link'><a href="Jini.html#or-instance_method" title="Jini#or (method)">#or</a></span>
|
|
@@ -118,7 +134,7 @@
|
|
|
118
134
|
|
|
119
135
|
<li class="even ">
|
|
120
136
|
<div class="item">
|
|
121
|
-
<span class='object_link'><a href="Jini.html#
|
|
137
|
+
<span class='object_link'><a href="Jini.html#remove_node-instance_method" title="Jini#remove_node (method)">#remove_node</a></span>
|
|
122
138
|
<small>Jini</small>
|
|
123
139
|
</div>
|
|
124
140
|
</li>
|
|
@@ -100,7 +100,7 @@
|
|
|
100
100
|
</div>
|
|
101
101
|
|
|
102
102
|
<div id="footer">
|
|
103
|
-
Generated on
|
|
103
|
+
Generated on Fri Sep 16 04:23:03 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,11 +5,10 @@ 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
|
+
s.version = '0.0.7'
|
|
9
9
|
s.license = 'MIT'
|
|
10
10
|
s.summary = 'Simple Immutable Ruby XPATH Builder'
|
|
11
|
-
s.description = 'Class Jini helps you build a XPATH and then modify its
|
|
12
|
-
parts via a simple fluent interface.'
|
|
11
|
+
s.description = 'Class Jini helps you build a XPATH and then modify its parts via a simple fluent interface.'
|
|
13
12
|
s.authors = ['Ivan Ivanchuck']
|
|
14
13
|
s.email = 'clicker.heroes.acg@gmail.com'
|
|
15
14
|
s.homepage = 'https://github.com/l3r8yJ/jini'
|
data/lib/jini.rb
CHANGED
|
@@ -23,17 +23,18 @@
|
|
|
23
23
|
# SOFTWARE.
|
|
24
24
|
|
|
25
25
|
# It's a simple XPATH builder.
|
|
26
|
-
#
|
|
26
|
+
#
|
|
27
27
|
# require 'jini'
|
|
28
28
|
# xpath = Jini.new('parent')
|
|
29
29
|
# .add_path(node: 'child')
|
|
30
30
|
# .add_path(node: 'toy')
|
|
31
31
|
# .to_s // body/child/toy
|
|
32
|
-
# ```
|
|
33
32
|
class Jini
|
|
34
33
|
# When path not valid
|
|
35
34
|
class InvalidPath < StandardError; end
|
|
36
35
|
|
|
36
|
+
# Makes new object.
|
|
37
|
+
# By default it creates an empty path and you can ignore the head parameter.
|
|
37
38
|
# @param head [String]
|
|
38
39
|
def initialize(head = '')
|
|
39
40
|
@head = head
|
|
@@ -48,7 +49,7 @@ class Jini
|
|
|
48
49
|
# Additional node for xpath.
|
|
49
50
|
# @param node [String] node
|
|
50
51
|
# @return [Jini] object
|
|
51
|
-
def
|
|
52
|
+
def add_node(node)
|
|
52
53
|
Jini.new("#{@head}/#{node}")
|
|
53
54
|
end
|
|
54
55
|
|
|
@@ -73,7 +74,7 @@ class Jini
|
|
|
73
74
|
# @return [Jini] object
|
|
74
75
|
def all
|
|
75
76
|
raise InvalidPath, 'You cannot add all tag after attr!' if @head[-1].eql?(']')
|
|
76
|
-
Jini.new(
|
|
77
|
+
Jini.new(add_node('*').to_s)
|
|
77
78
|
end
|
|
78
79
|
|
|
79
80
|
# Xpath with all named elements.
|
|
@@ -96,6 +97,7 @@ class Jini
|
|
|
96
97
|
# Replace all '/' to '::' symbols
|
|
97
98
|
# if path doesn't contain invalid symbols for selection
|
|
98
99
|
# @return [Jini] selection
|
|
100
|
+
# @raise [InvalidPath] when path can't present with select
|
|
99
101
|
def selection
|
|
100
102
|
if @head.include?('[') || @head.include?(']') || @head.include?('@') || @head.include?('//')
|
|
101
103
|
raise InvalidPath, 'Cannot select, path contains bad symbols'
|
|
@@ -106,8 +108,10 @@ class Jini
|
|
|
106
108
|
# Removes node by name
|
|
107
109
|
# @param node [String] name of node for removal
|
|
108
110
|
# @return [Jini] without a node
|
|
109
|
-
def
|
|
110
|
-
Jini.new(
|
|
111
|
+
def remove_node(node)
|
|
112
|
+
Jini.new(
|
|
113
|
+
purge("/#{node}")
|
|
114
|
+
)
|
|
111
115
|
end
|
|
112
116
|
|
|
113
117
|
# Removes attr by name
|
|
@@ -119,18 +123,45 @@ class Jini
|
|
|
119
123
|
# @return [Jini] without an attr
|
|
120
124
|
def remove_attr(name)
|
|
121
125
|
Jini.new(
|
|
122
|
-
|
|
123
|
-
.gsub(
|
|
124
|
-
/(\[@?#{name}="[^"]+"(\[\]+|\]))/,
|
|
125
|
-
''
|
|
126
|
-
)
|
|
126
|
+
purge(/(\[@?#{name}="[^"]+"(\[\]+|\]))/)
|
|
127
127
|
)
|
|
128
128
|
end
|
|
129
129
|
|
|
130
130
|
# Adds '|' to head
|
|
131
|
-
# @param [String]
|
|
132
|
-
# @
|
|
133
|
-
|
|
134
|
-
|
|
131
|
+
# @param [String] alpha statement
|
|
132
|
+
# @param [String] beta statement
|
|
133
|
+
# @return [Jini] with Jini '[first|second]' on tail
|
|
134
|
+
def or(alpha, beta)
|
|
135
|
+
action_between('|', alpha, beta)
|
|
136
|
+
end
|
|
137
|
+
|
|
138
|
+
# Less than.
|
|
139
|
+
# Addition '[node < value]' to tail
|
|
140
|
+
# @param [String] key name
|
|
141
|
+
# @param [Object] value
|
|
142
|
+
# @return [Jini]
|
|
143
|
+
def lt(key, value)
|
|
144
|
+
action_between('<', key, value)
|
|
145
|
+
end
|
|
146
|
+
|
|
147
|
+
# Greater than.
|
|
148
|
+
# Addition '[node > value]' to tail
|
|
149
|
+
# @param [String] key name
|
|
150
|
+
# @param [Object] value
|
|
151
|
+
# @return [Jini]
|
|
152
|
+
def gt(key, value)
|
|
153
|
+
action_between('>', key, value)
|
|
154
|
+
end
|
|
155
|
+
|
|
156
|
+
private
|
|
157
|
+
|
|
158
|
+
# Some action between two statements.
|
|
159
|
+
def action_between(action, alpha, beta)
|
|
160
|
+
Jini.new("#{@head}[#{alpha} #{action} #{beta}]")
|
|
161
|
+
end
|
|
162
|
+
|
|
163
|
+
# @param [Regexp | String] token to be purged from the head
|
|
164
|
+
def purge(token)
|
|
165
|
+
@head.gsub(token, '')
|
|
135
166
|
end
|
|
136
167
|
end
|
data/test/jini_test.rb
CHANGED
|
@@ -37,8 +37,8 @@ class JiniTest < Minitest::Test
|
|
|
37
37
|
assert_equal(
|
|
38
38
|
'/parent/child[1]',
|
|
39
39
|
Jini.new
|
|
40
|
-
.
|
|
41
|
-
.
|
|
40
|
+
.add_node(PARENT)
|
|
41
|
+
.add_node(CHILD)
|
|
42
42
|
.at(1)
|
|
43
43
|
.to_s
|
|
44
44
|
)
|
|
@@ -48,9 +48,9 @@ class JiniTest < Minitest::Test
|
|
|
48
48
|
assert_equal(
|
|
49
49
|
'parent/toy',
|
|
50
50
|
Jini.new(PARENT)
|
|
51
|
-
.
|
|
52
|
-
.
|
|
53
|
-
.
|
|
51
|
+
.add_node(CHILD)
|
|
52
|
+
.add_node('toy')
|
|
53
|
+
.remove_node(CHILD)
|
|
54
54
|
.to_s
|
|
55
55
|
)
|
|
56
56
|
end
|
|
@@ -59,7 +59,7 @@ class JiniTest < Minitest::Test
|
|
|
59
59
|
assert_equal(
|
|
60
60
|
'/node[@key="value"]',
|
|
61
61
|
Jini.new
|
|
62
|
-
.
|
|
62
|
+
.add_node('node')
|
|
63
63
|
.add_attr('key', 'value')
|
|
64
64
|
.to_s
|
|
65
65
|
)
|
|
@@ -69,8 +69,8 @@ class JiniTest < Minitest::Test
|
|
|
69
69
|
assert_equal(
|
|
70
70
|
'/parent/child/*',
|
|
71
71
|
Jini.new
|
|
72
|
-
.
|
|
73
|
-
.
|
|
72
|
+
.add_node(PARENT)
|
|
73
|
+
.add_node(CHILD)
|
|
74
74
|
.all
|
|
75
75
|
.to_s
|
|
76
76
|
)
|
|
@@ -79,7 +79,7 @@ class JiniTest < Minitest::Test
|
|
|
79
79
|
def test_all_fail
|
|
80
80
|
assert_raises do
|
|
81
81
|
Jini.new
|
|
82
|
-
.
|
|
82
|
+
.add_node(PARENT)
|
|
83
83
|
.add_attr('key', 'value')
|
|
84
84
|
.all
|
|
85
85
|
end
|
|
@@ -89,8 +89,8 @@ class JiniTest < Minitest::Test
|
|
|
89
89
|
assert_equal(
|
|
90
90
|
'/home/batya',
|
|
91
91
|
Jini.new
|
|
92
|
-
.
|
|
93
|
-
.
|
|
92
|
+
.add_node('home')
|
|
93
|
+
.add_node('batya')
|
|
94
94
|
.add_attr('drunk', 'very')
|
|
95
95
|
.remove_attr('drunk')
|
|
96
96
|
.to_s
|
|
@@ -102,10 +102,10 @@ class JiniTest < Minitest::Test
|
|
|
102
102
|
'/parent/child/toy',
|
|
103
103
|
Jini
|
|
104
104
|
.new
|
|
105
|
-
.
|
|
106
|
-
.
|
|
105
|
+
.add_node(PARENT)
|
|
106
|
+
.add_node(CHILD)
|
|
107
107
|
.add_attr('age', 'teen')
|
|
108
|
-
.
|
|
108
|
+
.add_node('toy')
|
|
109
109
|
.add_attr('age', 'old')
|
|
110
110
|
.remove_attr('age')
|
|
111
111
|
.to_s
|
|
@@ -123,7 +123,7 @@ class JiniTest < Minitest::Test
|
|
|
123
123
|
assert_equal(
|
|
124
124
|
'parent::child',
|
|
125
125
|
Jini.new(PARENT)
|
|
126
|
-
.
|
|
126
|
+
.add_node(CHILD)
|
|
127
127
|
.selection
|
|
128
128
|
.to_s
|
|
129
129
|
)
|
|
@@ -132,8 +132,8 @@ class JiniTest < Minitest::Test
|
|
|
132
132
|
def test_selection_fail
|
|
133
133
|
assert_raises do
|
|
134
134
|
Jini.new
|
|
135
|
-
.
|
|
136
|
-
.
|
|
135
|
+
.add_node(PARENT)
|
|
136
|
+
.add_node(CHILD)
|
|
137
137
|
.add_attr('k', 'v')
|
|
138
138
|
.selection
|
|
139
139
|
.to_s
|
|
@@ -142,10 +142,30 @@ class JiniTest < Minitest::Test
|
|
|
142
142
|
|
|
143
143
|
def test_or
|
|
144
144
|
assert_equal(
|
|
145
|
-
'parent/child|
|
|
145
|
+
'parent/child[animal | toy]',
|
|
146
146
|
Jini.new(PARENT)
|
|
147
|
-
.
|
|
148
|
-
.or('animal')
|
|
147
|
+
.add_node(CHILD)
|
|
148
|
+
.or('animal', 'toy')
|
|
149
|
+
.to_s
|
|
150
|
+
)
|
|
151
|
+
end
|
|
152
|
+
|
|
153
|
+
def test_lt
|
|
154
|
+
assert_equal(
|
|
155
|
+
'parent/child[toys < 10]',
|
|
156
|
+
Jini.new(PARENT)
|
|
157
|
+
.add_node(CHILD)
|
|
158
|
+
.lt('toys', 10)
|
|
159
|
+
.to_s
|
|
160
|
+
)
|
|
161
|
+
end
|
|
162
|
+
|
|
163
|
+
def test_gt
|
|
164
|
+
assert_equal(
|
|
165
|
+
'parent/child[toys > 10]',
|
|
166
|
+
Jini.new(PARENT)
|
|
167
|
+
.add_node(CHILD)
|
|
168
|
+
.gt('toys', 10)
|
|
149
169
|
.to_s
|
|
150
170
|
)
|
|
151
171
|
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.
|
|
4
|
+
version: 0.0.7
|
|
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-
|
|
11
|
+
date: 2022-09-16 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: minitest
|
|
@@ -52,9 +52,8 @@ dependencies:
|
|
|
52
52
|
- - '='
|
|
53
53
|
- !ruby/object:Gem::Version
|
|
54
54
|
version: 2.11.1
|
|
55
|
-
description:
|
|
56
|
-
|
|
57
|
-
parts via a simple fluent interface.
|
|
55
|
+
description: Class Jini helps you build a XPATH and then modify its parts via a simple
|
|
56
|
+
fluent interface.
|
|
58
57
|
email: clicker.heroes.acg@gmail.com
|
|
59
58
|
executables: []
|
|
60
59
|
extensions: []
|