jini 0.0.7 → 0.0.8

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: 5c4276388f8fa9d2ff167b085b61849cb2c394f03cb4d25232f825caba82aa3c
4
- data.tar.gz: 14d9de0e18ca0e308b836f85da637b73de42cd023f0b58d2b19f4e267361f54b
3
+ metadata.gz: 8dc491b839227a8d3ecf1afcea674feddc9cf1a4512325d047b6bb6cf54215a9
4
+ data.tar.gz: bb54eda7497a78f4b2189f2528db6813d32a14ab77d7ea273a64b83443e68578
5
5
  SHA512:
6
- metadata.gz: ff5fb62653c5b87532c2deac5991db58bb1e10a8ddbdefa341c407644f50b25bff8ef50a2524db5b7b70bc7171c019826cf99d8e3615a8e4c3049fd3f68a999b
7
- data.tar.gz: 8139e0995cc1ef62e491d7407d3a9d7e7827daebbab965e8b04896cd95028d441cfe9497ac3e1dd9a1d08094464e294c1fe1f2113c57b9e96d84d73e838ac139
6
+ metadata.gz: 7869fb6e85d21e627b7c84330227b0f45d9a530e271579f37dc40c5fa8ec8fffb047a1ca0894a0ac9da2026630a816148fab93264bf65a9911cfb1794f4daf0e
7
+ data.tar.gz: '0193542647b5a7539c9d2de3caa8f6fb8d29625c14c4d921fbabbc5909a2d65184aba96bdeeb156337f71c9903665ce96827a766d28fd2ea36c8efb2c824a7e0'
data/.yardoc/checksums CHANGED
@@ -1 +1 @@
1
- lib/jini.rb aa45175d922be503e56fdbeaa14104ccb3dcfbb1
1
+ lib/jini.rb bfab717057651e3d062c07ed9b3c6d8d619a6936
data/.yardoc/object_types CHANGED
Binary file
Binary file
data/README.md CHANGED
@@ -2,7 +2,7 @@
2
2
 
3
3
  [![Gem Version](https://badge.fury.io/rb/jini.svg)](https://badge.fury.io/rb/jini)
4
4
 
5
- The class [`Jini`](https://www.rubydoc.info/gems/jini/0.0.5/Jini) helps you build a XPATH.
5
+ The class [`Jini`](https://www.rubydoc.info/gems/jini/0.0.7/Jini) helps you build a XPATH.
6
6
 
7
7
  ```ruby
8
8
  require 'jini'
@@ -11,12 +11,12 @@ xpath = Jini
11
11
  .add_node('parent') # addition a path node
12
12
  .add_node('child') # addition a path node
13
13
  .add_attr('key', 'value') # addition an attribute
14
- .remove_node('child') # removes attr by key
14
+ .remove_node('child') # removes node
15
15
  .to_s # convert it to a string
16
16
  puts(xpath) # -> xpath: /parent[@key="value"]
17
17
  ```
18
18
 
19
- The full list of methods is [here](https://www.rubydoc.info/gems/jini/0.0.5).
19
+ The full list of methods is [here](https://www.rubydoc.info/gems/jini/0.0.7).
20
20
 
21
21
  Install it:
22
22
 
@@ -125,7 +125,7 @@
125
125
  </div>
126
126
 
127
127
  <div id="footer">
128
- Generated on Fri Sep 16 04:23:03 2022 by
128
+ Generated on Fri Sep 16 16:54:43 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
@@ -145,7 +145,7 @@
145
145
  <li class="public ">
146
146
  <span class="summary_signature">
147
147
 
148
- <a href="#add_all-instance_method" title="#add_all (instance method)">#<strong>add_all</strong>(node) &#x21d2; Jini </a>
148
+ <a href="#add_attr-instance_method" title="#add_attr (instance method)">#<strong>add_attr</strong>(key, value) &#x21d2; Jini </a>
149
149
 
150
150
 
151
151
 
@@ -160,7 +160,7 @@
160
160
 
161
161
 
162
162
  <span class="summary_desc"><div class='inline'>
163
- <p>Xpath with all named elements.</p>
163
+ <p>Additional attribute for xpath.</p>
164
164
  </div></span>
165
165
 
166
166
  </li>
@@ -169,7 +169,7 @@
169
169
  <li class="public ">
170
170
  <span class="summary_signature">
171
171
 
172
- <a href="#add_attr-instance_method" title="#add_attr (instance method)">#<strong>add_attr</strong>(key, value) &#x21d2; Jini </a>
172
+ <a href="#add_attrs-instance_method" title="#add_attrs (instance method)">#<strong>add_attrs</strong>(value) &#x21d2; Jini </a>
173
173
 
174
174
 
175
175
 
@@ -184,7 +184,7 @@
184
184
 
185
185
 
186
186
  <span class="summary_desc"><div class='inline'>
187
- <p>Additional attribute for xpath.</p>
187
+ <p>Adds ‘@value’ to tail.</p>
188
188
  </div></span>
189
189
 
190
190
  </li>
@@ -217,7 +217,7 @@
217
217
  <li class="public ">
218
218
  <span class="summary_signature">
219
219
 
220
- <a href="#all-instance_method" title="#all (instance method)">#<strong>all</strong> &#x21d2; Jini </a>
220
+ <a href="#add_nodes-instance_method" title="#add_nodes (instance method)">#<strong>add_nodes</strong>(node) &#x21d2; Jini </a>
221
221
 
222
222
 
223
223
 
@@ -232,7 +232,7 @@
232
232
 
233
233
 
234
234
  <span class="summary_desc"><div class='inline'>
235
- <p>Xpath with all elements.</p>
235
+ <p>Xpath with all named elements.</p>
236
236
  </div></span>
237
237
 
238
238
  </li>
@@ -241,7 +241,7 @@
241
241
  <li class="public ">
242
242
  <span class="summary_signature">
243
243
 
244
- <a href="#all_attr-instance_method" title="#all_attr (instance method)">#<strong>all_attr</strong>(value) &#x21d2; Jini </a>
244
+ <a href="#add_property-instance_method" title="#add_property (instance method)">#<strong>add_property</strong>(property) &#x21d2; Jini </a>
245
245
 
246
246
 
247
247
 
@@ -256,7 +256,31 @@
256
256
 
257
257
 
258
258
  <span class="summary_desc"><div class='inline'>
259
- <p>Adds an @value to xpath.</p>
259
+ <p>Addition property in tail Before: ‘../child’ After: ‘../child/property()’.</p>
260
+ </div></span>
261
+
262
+ </li>
263
+
264
+
265
+ <li class="public ">
266
+ <span class="summary_signature">
267
+
268
+ <a href="#all-instance_method" title="#all (instance method)">#<strong>all</strong> &#x21d2; Jini </a>
269
+
270
+
271
+
272
+ </span>
273
+
274
+
275
+
276
+
277
+
278
+
279
+
280
+
281
+
282
+ <span class="summary_desc"><div class='inline'>
283
+ <p>Xpath with all elements.</p>
260
284
  </div></span>
261
285
 
262
286
  </li>
@@ -378,7 +402,7 @@
378
402
 
379
403
 
380
404
  <span class="summary_desc"><div class='inline'>
381
- <p>Adds ‘|’ to head.</p>
405
+ <p>Adds ‘[alpha | beta]’ in tail.</p>
382
406
  </div></span>
383
407
 
384
408
  </li>
@@ -552,9 +576,9 @@
552
576
 
553
577
 
554
578
  <div class="method_details first">
555
- <h3 class="signature first" id="add_all-instance_method">
579
+ <h3 class="signature first" id="add_attr-instance_method">
556
580
 
557
- #<strong>add_all</strong>(node) &#x21d2; <tt><span class='object_link'><a href="" title="Jini (class)">Jini</a></span></tt>
581
+ #<strong>add_attr</strong>(key, value) &#x21d2; <tt><span class='object_link'><a href="" title="Jini (class)">Jini</a></span></tt>
558
582
 
559
583
 
560
584
 
@@ -563,7 +587,7 @@
563
587
  </h3><div class="docstring">
564
588
  <div class="discussion">
565
589
 
566
- <p>Xpath with all named elements. Addition ‘//node’ to xpath</p>
590
+ <p>Additional attribute for xpath. ‘[@key=“value”]’</p>
567
591
 
568
592
 
569
593
  </div>
@@ -574,7 +598,7 @@
574
598
 
575
599
  <li>
576
600
 
577
- <span class='name'>node</span>
601
+ <span class='name'>key</span>
578
602
 
579
603
 
580
604
  <span class='type'>(<tt>String</tt>)</span>
@@ -583,7 +607,23 @@
583
607
 
584
608
  &mdash;
585
609
  <div class='inline'>
586
- <p>name of node</p>
610
+ <p>name of attr</p>
611
+ </div>
612
+
613
+ </li>
614
+
615
+ <li>
616
+
617
+ <span class='name'>value</span>
618
+
619
+
620
+ <span class='type'>(<tt>String</tt>)</span>
621
+
622
+
623
+
624
+ &mdash;
625
+ <div class='inline'>
626
+ <p>value of attr</p>
587
627
  </div>
588
628
 
589
629
  </li>
@@ -615,15 +655,15 @@
615
655
  <pre class="lines">
616
656
 
617
657
 
618
- 84
619
- 85
620
- 86</pre>
658
+ 77
659
+ 78
660
+ 79</pre>
621
661
  </td>
622
662
  <td>
623
- <pre class="code"><span class="info file"># File 'lib/jini.rb', line 84</span>
663
+ <pre class="code"><span class="info file"># File 'lib/jini.rb', line 77</span>
624
664
 
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>
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'>&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>
665
+ <span class='kw'>def</span> <span class='id identifier rubyid_add_attr'>add_attr</span><span class='lparen'>(</span><span class='id identifier rubyid_key'>key</span><span class='comma'>,</span> <span class='id identifier rubyid_value'>value</span><span class='rparen'>)</span>
666
+ <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>
627
667
  <span class='kw'>end</span></pre>
628
668
  </td>
629
669
  </tr>
@@ -631,9 +671,9 @@
631
671
  </div>
632
672
 
633
673
  <div class="method_details ">
634
- <h3 class="signature " id="add_attr-instance_method">
674
+ <h3 class="signature " id="add_attrs-instance_method">
635
675
 
636
- #<strong>add_attr</strong>(key, value) &#x21d2; <tt><span class='object_link'><a href="" title="Jini (class)">Jini</a></span></tt>
676
+ #<strong>add_attrs</strong>(value) &#x21d2; <tt><span class='object_link'><a href="" title="Jini (class)">Jini</a></span></tt>
637
677
 
638
678
 
639
679
 
@@ -642,7 +682,7 @@
642
682
  </h3><div class="docstring">
643
683
  <div class="discussion">
644
684
 
645
- <p>Additional attribute for xpath. ‘[@key=“value”]’</p>
685
+ <p>Adds ‘@value’ to tail</p>
646
686
 
647
687
 
648
688
  </div>
@@ -651,22 +691,6 @@
651
691
  <p class="tag_title">Parameters:</p>
652
692
  <ul class="param">
653
693
 
654
- <li>
655
-
656
- <span class='name'>key</span>
657
-
658
-
659
- <span class='type'>(<tt>String</tt>)</span>
660
-
661
-
662
-
663
- &mdash;
664
- <div class='inline'>
665
- <p>name of attr</p>
666
- </div>
667
-
668
- </li>
669
-
670
694
  <li>
671
695
 
672
696
  <span class='name'>value</span>
@@ -678,7 +702,7 @@
678
702
 
679
703
  &mdash;
680
704
  <div class='inline'>
681
- <p>value of attr</p>
705
+ <p>with value attr</p>
682
706
  </div>
683
707
 
684
708
  </li>
@@ -710,15 +734,15 @@
710
734
  <pre class="lines">
711
735
 
712
736
 
713
- 61
714
- 62
715
- 63</pre>
737
+ 84
738
+ 85
739
+ 86</pre>
716
740
  </td>
717
741
  <td>
718
- <pre class="code"><span class="info file"># File 'lib/jini.rb', line 61</span>
742
+ <pre class="code"><span class="info file"># File 'lib/jini.rb', line 84</span>
719
743
 
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>
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'>&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>
744
+ <span class='kw'>def</span> <span class='id identifier rubyid_add_attrs'>add_attrs</span><span class='lparen'>(</span><span class='id identifier rubyid_value'>value</span><span class='rparen'>)</span>
745
+ <span class='const'><span class='object_link'><a href="" title="Jini (class)">Jini</a></span></span><span class='period'>.</span><span class='id identifier rubyid_new'><span class='object_link'><a href="#initialize-instance_method" title="Jini#initialize (method)">new</a></span></span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>&quot;</span><span class='embexpr_beg'>#{</span><span class='ivar'>@head</span><span class='embexpr_end'>}</span><span class='tstring_content'>@</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_value'>value</span><span class='embexpr_end'>}</span><span class='tstring_end'>&quot;</span></span><span class='rparen'>)</span>
722
746
  <span class='kw'>end</span></pre>
723
747
  </td>
724
748
  </tr>
@@ -789,12 +813,12 @@
789
813
  <pre class="lines">
790
814
 
791
815
 
792
- 52
793
- 53
794
- 54</pre>
816
+ 59
817
+ 60
818
+ 61</pre>
795
819
  </td>
796
820
  <td>
797
- <pre class="code"><span class="info file"># File 'lib/jini.rb', line 52</span>
821
+ <pre class="code"><span class="info file"># File 'lib/jini.rb', line 59</span>
798
822
 
799
823
  <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>
800
824
  <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>
@@ -805,9 +829,9 @@
805
829
  </div>
806
830
 
807
831
  <div class="method_details ">
808
- <h3 class="signature " id="all-instance_method">
832
+ <h3 class="signature " id="add_nodes-instance_method">
809
833
 
810
- #<strong>all</strong> &#x21d2; <tt><span class='object_link'><a href="" title="Jini (class)">Jini</a></span></tt>
834
+ #<strong>add_nodes</strong>(node) &#x21d2; <tt><span class='object_link'><a href="" title="Jini (class)">Jini</a></span></tt>
811
835
 
812
836
 
813
837
 
@@ -816,41 +840,48 @@
816
840
  </h3><div class="docstring">
817
841
  <div class="discussion">
818
842
 
819
- <p>Xpath with all elements. Addition an ‘*’ to tail of xpath</p>
843
+ <p>Xpath with all named elements. Addition ‘//node’ to xpath</p>
820
844
 
821
845
 
822
846
  </div>
823
847
  </div>
824
848
  <div class="tags">
825
-
826
- <p class="tag_title">Returns:</p>
827
- <ul class="return">
849
+ <p class="tag_title">Parameters:</p>
850
+ <ul class="param">
828
851
 
829
852
  <li>
830
853
 
854
+ <span class='name'>node</span>
855
+
831
856
 
832
- <span class='type'>(<tt><span class='object_link'><a href="" title="Jini (class)">Jini</a></span></tt>)</span>
857
+ <span class='type'>(<tt>String</tt>)</span>
833
858
 
834
859
 
835
860
 
836
861
  &mdash;
837
862
  <div class='inline'>
838
- <p>object</p>
863
+ <p>name of node</p>
839
864
  </div>
840
865
 
841
866
  </li>
842
867
 
843
868
  </ul>
844
- <p class="tag_title">Raises:</p>
845
- <ul class="raise">
869
+
870
+ <p class="tag_title">Returns:</p>
871
+ <ul class="return">
846
872
 
847
873
  <li>
848
874
 
849
875
 
850
- <span class='type'>(<tt><span class='object_link'><a href="Jini/InvalidPath.html" title="Jini::InvalidPath (class)">InvalidPath</a></span></tt>)</span>
876
+ <span class='type'>(<tt><span class='object_link'><a href="" title="Jini (class)">Jini</a></span></tt>)</span>
851
877
 
852
878
 
853
879
 
880
+ &mdash;
881
+ <div class='inline'>
882
+ <p>object</p>
883
+ </div>
884
+
854
885
  </li>
855
886
 
856
887
  </ul>
@@ -861,17 +892,15 @@
861
892
  <pre class="lines">
862
893
 
863
894
 
864
- 75
865
- 76
866
- 77
867
- 78</pre>
895
+ 101
896
+ 102
897
+ 103</pre>
868
898
  </td>
869
899
  <td>
870
- <pre class="code"><span class="info file"># File 'lib/jini.rb', line 75</span>
900
+ <pre class="code"><span class="info file"># File 'lib/jini.rb', line 101</span>
871
901
 
872
- <span class='kw'>def</span> <span class='id identifier rubyid_all'>all</span>
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'>&#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>
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'>&#39;</span><span class='tstring_content'>*</span><span class='tstring_end'>&#39;</span></span><span class='rparen'>)</span><span class='period'>.</span><span class='id identifier rubyid_to_s'>to_s</span><span class='rparen'>)</span>
902
+ <span class='kw'>def</span> <span class='id identifier rubyid_add_nodes'>add_nodes</span><span class='lparen'>(</span><span class='id identifier rubyid_node'>node</span><span class='rparen'>)</span>
903
+ <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>
875
904
  <span class='kw'>end</span></pre>
876
905
  </td>
877
906
  </tr>
@@ -879,9 +908,9 @@
879
908
  </div>
880
909
 
881
910
  <div class="method_details ">
882
- <h3 class="signature " id="all_attr-instance_method">
911
+ <h3 class="signature " id="add_property-instance_method">
883
912
 
884
- #<strong>all_attr</strong>(value) &#x21d2; <tt><span class='object_link'><a href="" title="Jini (class)">Jini</a></span></tt>
913
+ #<strong>add_property</strong>(property) &#x21d2; <tt><span class='object_link'><a href="" title="Jini (class)">Jini</a></span></tt>
885
914
 
886
915
 
887
916
 
@@ -890,7 +919,7 @@
890
919
  </h3><div class="docstring">
891
920
  <div class="discussion">
892
921
 
893
- <p>Adds an @value to xpath</p>
922
+ <p>Addition property in tail Before: ‘../child’ After: ‘../child/property()’</p>
894
923
 
895
924
 
896
925
  </div>
@@ -901,18 +930,13 @@
901
930
 
902
931
  <li>
903
932
 
904
- <span class='name'>value</span>
933
+ <span class='name'>property</span>
905
934
 
906
935
 
907
936
  <span class='type'>(<tt>String</tt>)</span>
908
937
 
909
938
 
910
939
 
911
- &mdash;
912
- <div class='inline'>
913
- <p>with value attr</p>
914
- </div>
915
-
916
940
  </li>
917
941
 
918
942
  </ul>
@@ -949,8 +973,87 @@
949
973
  <td>
950
974
  <pre class="code"><span class="info file"># File 'lib/jini.rb', line 68</span>
951
975
 
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>
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'>&quot;</span><span class='embexpr_beg'>#{</span><span class='ivar'>@head</span><span class='embexpr_end'>}</span><span class='tstring_content'>@</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_value'>value</span><span class='embexpr_end'>}</span><span class='tstring_end'>&quot;</span></span><span class='rparen'>)</span>
976
+ <span class='kw'>def</span> <span class='id identifier rubyid_add_property'>add_property</span><span class='lparen'>(</span><span class='id identifier rubyid_property'>property</span><span class='rparen'>)</span>
977
+ <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>
978
+ <span class='kw'>end</span></pre>
979
+ </td>
980
+ </tr>
981
+ </table>
982
+ </div>
983
+
984
+ <div class="method_details ">
985
+ <h3 class="signature " id="all-instance_method">
986
+
987
+ #<strong>all</strong> &#x21d2; <tt><span class='object_link'><a href="" title="Jini (class)">Jini</a></span></tt>
988
+
989
+
990
+
991
+
992
+
993
+ </h3><div class="docstring">
994
+ <div class="discussion">
995
+
996
+ <p>Xpath with all elements. Addition an ‘*’ to tail of xpath</p>
997
+
998
+
999
+ </div>
1000
+ </div>
1001
+ <div class="tags">
1002
+
1003
+ <p class="tag_title">Returns:</p>
1004
+ <ul class="return">
1005
+
1006
+ <li>
1007
+
1008
+
1009
+ <span class='type'>(<tt><span class='object_link'><a href="" title="Jini (class)">Jini</a></span></tt>)</span>
1010
+
1011
+
1012
+
1013
+ &mdash;
1014
+ <div class='inline'>
1015
+ <p>object</p>
1016
+ </div>
1017
+
1018
+ </li>
1019
+
1020
+ </ul>
1021
+ <p class="tag_title">Raises:</p>
1022
+ <ul class="raise">
1023
+
1024
+ <li>
1025
+
1026
+
1027
+ <span class='type'>(<tt><span class='object_link'><a href="Jini/InvalidPath.html" title="Jini::InvalidPath (class)">InvalidPath</a></span></tt>)</span>
1028
+
1029
+
1030
+
1031
+ &mdash;
1032
+ <div class='inline'>
1033
+ <p>when method called after attr</p>
1034
+ </div>
1035
+
1036
+ </li>
1037
+
1038
+ </ul>
1039
+
1040
+ </div><table class="source_code">
1041
+ <tr>
1042
+ <td>
1043
+ <pre class="lines">
1044
+
1045
+
1046
+ 92
1047
+ 93
1048
+ 94
1049
+ 95</pre>
1050
+ </td>
1051
+ <td>
1052
+ <pre class="code"><span class="info file"># File 'lib/jini.rb', line 92</span>
1053
+
1054
+ <span class='kw'>def</span> <span class='id identifier rubyid_all'>all</span>
1055
+ <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>
1056
+ <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'>&#39;</span><span class='tstring_content'>*</span><span class='tstring_end'>&#39;</span></span><span class='rparen'>)</span><span class='period'>.</span><span class='id identifier rubyid_to_s'>to_s</span><span class='rparen'>)</span>
954
1057
  <span class='kw'>end</span></pre>
955
1058
  </td>
956
1059
  </tr>
@@ -1024,6 +1127,11 @@
1024
1127
 
1025
1128
 
1026
1129
 
1130
+ &mdash;
1131
+ <div class='inline'>
1132
+ <p>when method used after selection</p>
1133
+ </div>
1134
+
1027
1135
  </li>
1028
1136
 
1029
1137
  </ul>
@@ -1034,13 +1142,13 @@
1034
1142
  <pre class="lines">
1035
1143
 
1036
1144
 
1037
- 92
1038
- 93
1039
- 94
1040
- 95</pre>
1145
+ 110
1146
+ 111
1147
+ 112
1148
+ 113</pre>
1041
1149
  </td>
1042
1150
  <td>
1043
- <pre class="code"><span class="info file"># File 'lib/jini.rb', line 92</span>
1151
+ <pre class="code"><span class="info file"># File 'lib/jini.rb', line 110</span>
1044
1152
 
1045
1153
  <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>
1046
1154
  <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>
@@ -1121,12 +1229,12 @@
1121
1229
  <pre class="lines">
1122
1230
 
1123
1231
 
1124
- 152
1125
- 153
1126
- 154</pre>
1232
+ 170
1233
+ 171
1234
+ 172</pre>
1127
1235
  </td>
1128
1236
  <td>
1129
- <pre class="code"><span class="info file"># File 'lib/jini.rb', line 152</span>
1237
+ <pre class="code"><span class="info file"># File 'lib/jini.rb', line 170</span>
1130
1238
 
1131
1239
  <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
1240
  <span class='id identifier rubyid_action_between'>action_between</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>&gt;</span><span class='tstring_end'>&#39;</span></span><span class='comma'>,</span> <span class='id identifier rubyid_key'>key</span><span class='comma'>,</span> <span class='id identifier rubyid_value'>value</span><span class='rparen'>)</span>
@@ -1206,12 +1314,12 @@
1206
1314
  <pre class="lines">
1207
1315
 
1208
1316
 
1209
- 143
1210
- 144
1211
- 145</pre>
1317
+ 161
1318
+ 162
1319
+ 163</pre>
1212
1320
  </td>
1213
1321
  <td>
1214
- <pre class="code"><span class="info file"># File 'lib/jini.rb', line 143</span>
1322
+ <pre class="code"><span class="info file"># File 'lib/jini.rb', line 161</span>
1215
1323
 
1216
1324
  <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
1325
  <span class='id identifier rubyid_action_between'>action_between</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>&lt;</span><span class='tstring_end'>&#39;</span></span><span class='comma'>,</span> <span class='id identifier rubyid_key'>key</span><span class='comma'>,</span> <span class='id identifier rubyid_value'>value</span><span class='rparen'>)</span>
@@ -1233,7 +1341,7 @@
1233
1341
  </h3><div class="docstring">
1234
1342
  <div class="discussion">
1235
1343
 
1236
- <p>Adds ‘|’ to head</p>
1344
+ <p>Adds ‘[alpha | beta]’ in tail.</p>
1237
1345
 
1238
1346
 
1239
1347
  </div>
@@ -1288,7 +1396,7 @@
1288
1396
 
1289
1397
  &mdash;
1290
1398
  <div class='inline'>
1291
- <p>with Jini ‘[first|second]’ on tail</p>
1399
+ <p>with ‘[first|second]’ on tail</p>
1292
1400
  </div>
1293
1401
 
1294
1402
  </li>
@@ -1301,12 +1409,12 @@
1301
1409
  <pre class="lines">
1302
1410
 
1303
1411
 
1304
- 134
1305
- 135
1306
- 136</pre>
1412
+ 152
1413
+ 153
1414
+ 154</pre>
1307
1415
  </td>
1308
1416
  <td>
1309
- <pre class="code"><span class="info file"># File 'lib/jini.rb', line 134</span>
1417
+ <pre class="code"><span class="info file"># File 'lib/jini.rb', line 152</span>
1310
1418
 
1311
1419
  <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
1420
  <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>
@@ -1380,14 +1488,14 @@
1380
1488
  <pre class="lines">
1381
1489
 
1382
1490
 
1383
- 124
1384
- 125
1385
- 126
1386
- 127
1387
- 128</pre>
1491
+ 142
1492
+ 143
1493
+ 144
1494
+ 145
1495
+ 146</pre>
1388
1496
  </td>
1389
1497
  <td>
1390
- <pre class="code"><span class="info file"># File 'lib/jini.rb', line 124</span>
1498
+ <pre class="code"><span class="info file"># File 'lib/jini.rb', line 142</span>
1391
1499
 
1392
1500
  <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>
1393
1501
  <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>
@@ -1463,14 +1571,14 @@
1463
1571
  <pre class="lines">
1464
1572
 
1465
1573
 
1466
- 111
1467
- 112
1468
- 113
1469
- 114
1470
- 115</pre>
1574
+ 129
1575
+ 130
1576
+ 131
1577
+ 132
1578
+ 133</pre>
1471
1579
  </td>
1472
1580
  <td>
1473
- <pre class="code"><span class="info file"># File 'lib/jini.rb', line 111</span>
1581
+ <pre class="code"><span class="info file"># File 'lib/jini.rb', line 129</span>
1474
1582
 
1475
1583
  <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
1584
  <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>
@@ -1544,15 +1652,15 @@
1544
1652
  <pre class="lines">
1545
1653
 
1546
1654
 
1547
- 101
1548
- 102
1549
- 103
1550
- 104
1551
- 105
1552
- 106</pre>
1655
+ 119
1656
+ 120
1657
+ 121
1658
+ 122
1659
+ 123
1660
+ 124</pre>
1553
1661
  </td>
1554
1662
  <td>
1555
- <pre class="code"><span class="info file"># File 'lib/jini.rb', line 101</span>
1663
+ <pre class="code"><span class="info file"># File 'lib/jini.rb', line 119</span>
1556
1664
 
1557
1665
  <span class='kw'>def</span> <span class='id identifier rubyid_selection'>selection</span>
1558
1666
  <span class='kw'>if</span> <span class='ivar'>@head</span><span class='period'>.</span><span class='id identifier rubyid_include?'>include?</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>[</span><span class='tstring_end'>&#39;</span></span><span class='rparen'>)</span> <span class='op'>||</span> <span class='ivar'>@head</span><span class='period'>.</span><span class='id identifier rubyid_include?'>include?</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>]</span><span class='tstring_end'>&#39;</span></span><span class='rparen'>)</span> <span class='op'>||</span> <span class='ivar'>@head</span><span class='period'>.</span><span class='id identifier rubyid_include?'>include?</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>@</span><span class='tstring_end'>&#39;</span></span><span class='rparen'>)</span> <span class='op'>||</span> <span class='ivar'>@head</span><span class='period'>.</span><span class='id identifier rubyid_include?'>include?</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>//</span><span class='tstring_end'>&#39;</span></span><span class='rparen'>)</span>
@@ -1601,6 +1709,24 @@
1601
1709
 
1602
1710
  </li>
1603
1711
 
1712
+ </ul>
1713
+ <p class="tag_title">Raises:</p>
1714
+ <ul class="raise">
1715
+
1716
+ <li>
1717
+
1718
+
1719
+ <span class='type'>(<tt><span class='object_link'><a href="Jini/InvalidPath.html" title="Jini::InvalidPath (class)">InvalidPath</a></span></tt>)</span>
1720
+
1721
+
1722
+
1723
+ &mdash;
1724
+ <div class='inline'>
1725
+ <p>if contain spaces in simple nodes</p>
1726
+ </div>
1727
+
1728
+ </li>
1729
+
1604
1730
  </ul>
1605
1731
 
1606
1732
  </div><table class="source_code">
@@ -1609,14 +1735,26 @@
1609
1735
  <pre class="lines">
1610
1736
 
1611
1737
 
1612
- 45
1613
1738
  46
1614
- 47</pre>
1739
+ 47
1740
+ 48
1741
+ 49
1742
+ 50
1743
+ 51
1744
+ 52
1745
+ 53
1746
+ 54</pre>
1615
1747
  </td>
1616
1748
  <td>
1617
- <pre class="code"><span class="info file"># File 'lib/jini.rb', line 45</span>
1749
+ <pre class="code"><span class="info file"># File 'lib/jini.rb', line 46</span>
1618
1750
 
1619
1751
  <span class='kw'>def</span> <span class='id identifier rubyid_to_s'>to_s</span>
1752
+ <span class='id identifier rubyid_copy'>copy</span> <span class='op'>=</span> <span class='ivar'>@head</span><span class='period'>.</span><span class='id identifier rubyid_split'>split</span><span class='lparen'>(</span><span class='tstring'><span class='regexp_beg'>%r{</span><span class='tstring_content'>//|/</span><span class='regexp_end'>}</span></span><span class='rparen'>)</span>
1753
+ <span class='id identifier rubyid_copy'>copy</span><span class='period'>.</span><span class='id identifier rubyid_each'>each</span> <span class='kw'>do</span> <span class='op'>|</span><span class='id identifier rubyid_node'>node</span><span class='op'>|</span>
1754
+ <span class='kw'>if</span> <span class='op'>!</span><span class='id identifier rubyid_node'>node</span><span class='period'>.</span><span class='id identifier rubyid_match'>match</span><span class='lparen'>(</span><span class='tstring'><span class='regexp_beg'>/</span><span class='tstring_content'>[|]|@|=|&gt;|&lt;</span><span class='regexp_end'>/</span></span><span class='rparen'>)</span> <span class='op'>&amp;&amp;</span> <span class='id identifier rubyid_node'>node</span><span class='period'>.</span><span class='id identifier rubyid_include?'>include?</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'> </span><span class='tstring_end'>&#39;</span></span><span class='rparen'>)</span>
1755
+ <span class='id identifier rubyid_raise'>raise</span> <span class='const'><span class='object_link'><a href="Jini/InvalidPath.html" title="Jini::InvalidPath (class)">InvalidPath</a></span></span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>Nodes can&#39;t contain spaces: </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_node'>node</span><span class='embexpr_end'>}</span><span class='tstring_content'> – contain space.</span><span class='tstring_end'>&quot;</span></span>
1756
+ <span class='kw'>end</span>
1757
+ <span class='kw'>end</span>
1620
1758
  <span class='ivar'>@head</span><span class='period'>.</span><span class='id identifier rubyid_to_s'>to_s</span>
1621
1759
  <span class='kw'>end</span></pre>
1622
1760
  </td>
@@ -1629,7 +1767,7 @@
1629
1767
  </div>
1630
1768
 
1631
1769
  <div id="footer">
1632
- Generated on Fri Sep 16 04:23:03 2022 by
1770
+ Generated on Fri Sep 16 16:54:43 2022 by
1633
1771
  <a href="https://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
1634
1772
  0.9.28 (ruby-3.0.0).
1635
1773
  </div>
data/doc/_index.html CHANGED
@@ -112,7 +112,7 @@
112
112
  </div>
113
113
 
114
114
  <div id="footer">
115
- Generated on Fri Sep 16 04:23:03 2022 by
115
+ Generated on Fri Sep 16 16:54:42 2022 by
116
116
  <a href="https://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
117
117
  0.9.28 (ruby-3.0.0).
118
118
  </div>
data/doc/file.README.html CHANGED
@@ -61,7 +61,7 @@
61
61
 
62
62
  <p><a href="https://badge.fury.io/rb/jini"><img src="https://badge.fury.io/rb/jini.svg" alt="Gem Version" /></a></p>
63
63
 
64
- <p>The class <a href="https://www.rubydoc.info/gems/jini/0.0.5/Jini"><code>Jini</code></a> helps you build a XPATH.</p>
64
+ <p>The class <a href="https://www.rubydoc.info/gems/jini/0.0.7/Jini"><code>Jini</code></a> helps you build a XPATH.</p>
65
65
 
66
66
  <p><code>ruby
67
67
  require 'jini'
@@ -70,12 +70,12 @@ xpath = Jini
70
70
  .add_node('parent') # addition a path node
71
71
  .add_node('child') # addition a path node
72
72
  .add_attr('key', 'value') # addition an attribute
73
- .remove_node('child') # removes attr by key
73
+ .remove_node('child') # removes node
74
74
  .to_s # convert it to a string
75
75
  puts(xpath) # -&gt; xpath: /parent[@key="value"]
76
76
  </code></p>
77
77
 
78
- <p>The full list of methods is <a href="https://www.rubydoc.info/gems/jini/0.0.5">here</a>.</p>
78
+ <p>The full list of methods is <a href="https://www.rubydoc.info/gems/jini/0.0.7">here</a>.</p>
79
79
 
80
80
  <p>Install it:</p>
81
81
 
@@ -94,7 +94,7 @@ is <em>building</em> XPATHs.</p>
94
94
  </div></div>
95
95
 
96
96
  <div id="footer">
97
- Generated on Fri Sep 16 04:23:03 2022 by
97
+ Generated on Fri Sep 16 16:54:42 2022 by
98
98
  <a href="https://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
99
99
  0.9.28 (ruby-3.0.0).
100
100
  </div>
data/doc/index.html CHANGED
@@ -61,7 +61,7 @@
61
61
 
62
62
  <p><a href="https://badge.fury.io/rb/jini"><img src="https://badge.fury.io/rb/jini.svg" alt="Gem Version" /></a></p>
63
63
 
64
- <p>The class <a href="https://www.rubydoc.info/gems/jini/0.0.5/Jini"><code>Jini</code></a> helps you build a XPATH.</p>
64
+ <p>The class <a href="https://www.rubydoc.info/gems/jini/0.0.7/Jini"><code>Jini</code></a> helps you build a XPATH.</p>
65
65
 
66
66
  <p><code>ruby
67
67
  require 'jini'
@@ -70,12 +70,12 @@ xpath = Jini
70
70
  .add_node('parent') # addition a path node
71
71
  .add_node('child') # addition a path node
72
72
  .add_attr('key', 'value') # addition an attribute
73
- .remove_node('child') # removes attr by key
73
+ .remove_node('child') # removes node
74
74
  .to_s # convert it to a string
75
75
  puts(xpath) # -&gt; xpath: /parent[@key="value"]
76
76
  </code></p>
77
77
 
78
- <p>The full list of methods is <a href="https://www.rubydoc.info/gems/jini/0.0.5">here</a>.</p>
78
+ <p>The full list of methods is <a href="https://www.rubydoc.info/gems/jini/0.0.7">here</a>.</p>
79
79
 
80
80
  <p>Install it:</p>
81
81
 
@@ -94,7 +94,7 @@ is <em>building</em> XPATHs.</p>
94
94
  </div></div>
95
95
 
96
96
  <div id="footer">
97
- Generated on Fri Sep 16 04:23:03 2022 by
97
+ Generated on Fri Sep 16 16:54:42 2022 by
98
98
  <a href="https://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
99
99
  0.9.28 (ruby-3.0.0).
100
100
  </div>
data/doc/method_list.html CHANGED
@@ -46,7 +46,7 @@
46
46
 
47
47
  <li class="odd ">
48
48
  <div class="item">
49
- <span class='object_link'><a href="Jini.html#add_all-instance_method" title="Jini#add_all (method)">#add_all</a></span>
49
+ <span class='object_link'><a href="Jini.html#add_attr-instance_method" title="Jini#add_attr (method)">#add_attr</a></span>
50
50
  <small>Jini</small>
51
51
  </div>
52
52
  </li>
@@ -54,7 +54,7 @@
54
54
 
55
55
  <li class="even ">
56
56
  <div class="item">
57
- <span class='object_link'><a href="Jini.html#add_attr-instance_method" title="Jini#add_attr (method)">#add_attr</a></span>
57
+ <span class='object_link'><a href="Jini.html#add_attrs-instance_method" title="Jini#add_attrs (method)">#add_attrs</a></span>
58
58
  <small>Jini</small>
59
59
  </div>
60
60
  </li>
@@ -70,7 +70,7 @@
70
70
 
71
71
  <li class="even ">
72
72
  <div class="item">
73
- <span class='object_link'><a href="Jini.html#all-instance_method" title="Jini#all (method)">#all</a></span>
73
+ <span class='object_link'><a href="Jini.html#add_nodes-instance_method" title="Jini#add_nodes (method)">#add_nodes</a></span>
74
74
  <small>Jini</small>
75
75
  </div>
76
76
  </li>
@@ -78,7 +78,7 @@
78
78
 
79
79
  <li class="odd ">
80
80
  <div class="item">
81
- <span class='object_link'><a href="Jini.html#all_attr-instance_method" title="Jini#all_attr (method)">#all_attr</a></span>
81
+ <span class='object_link'><a href="Jini.html#add_property-instance_method" title="Jini#add_property (method)">#add_property</a></span>
82
82
  <small>Jini</small>
83
83
  </div>
84
84
  </li>
@@ -86,7 +86,7 @@
86
86
 
87
87
  <li class="even ">
88
88
  <div class="item">
89
- <span class='object_link'><a href="Jini.html#at-instance_method" title="Jini#at (method)">#at</a></span>
89
+ <span class='object_link'><a href="Jini.html#all-instance_method" title="Jini#all (method)">#all</a></span>
90
90
  <small>Jini</small>
91
91
  </div>
92
92
  </li>
@@ -94,7 +94,7 @@
94
94
 
95
95
  <li class="odd ">
96
96
  <div class="item">
97
- <span class='object_link'><a href="Jini.html#gt-instance_method" title="Jini#gt (method)">#gt</a></span>
97
+ <span class='object_link'><a href="Jini.html#at-instance_method" title="Jini#at (method)">#at</a></span>
98
98
  <small>Jini</small>
99
99
  </div>
100
100
  </li>
@@ -102,7 +102,7 @@
102
102
 
103
103
  <li class="even ">
104
104
  <div class="item">
105
- <span class='object_link'><a href="Jini.html#initialize-instance_method" title="Jini#initialize (method)">#initialize</a></span>
105
+ <span class='object_link'><a href="Jini.html#gt-instance_method" title="Jini#gt (method)">#gt</a></span>
106
106
  <small>Jini</small>
107
107
  </div>
108
108
  </li>
@@ -110,7 +110,7 @@
110
110
 
111
111
  <li class="odd ">
112
112
  <div class="item">
113
- <span class='object_link'><a href="Jini.html#lt-instance_method" title="Jini#lt (method)">#lt</a></span>
113
+ <span class='object_link'><a href="Jini.html#initialize-instance_method" title="Jini#initialize (method)">#initialize</a></span>
114
114
  <small>Jini</small>
115
115
  </div>
116
116
  </li>
@@ -118,7 +118,7 @@
118
118
 
119
119
  <li class="even ">
120
120
  <div class="item">
121
- <span class='object_link'><a href="Jini.html#or-instance_method" title="Jini#or (method)">#or</a></span>
121
+ <span class='object_link'><a href="Jini.html#lt-instance_method" title="Jini#lt (method)">#lt</a></span>
122
122
  <small>Jini</small>
123
123
  </div>
124
124
  </li>
@@ -126,7 +126,7 @@
126
126
 
127
127
  <li class="odd ">
128
128
  <div class="item">
129
- <span class='object_link'><a href="Jini.html#remove_attr-instance_method" title="Jini#remove_attr (method)">#remove_attr</a></span>
129
+ <span class='object_link'><a href="Jini.html#or-instance_method" title="Jini#or (method)">#or</a></span>
130
130
  <small>Jini</small>
131
131
  </div>
132
132
  </li>
@@ -134,7 +134,7 @@
134
134
 
135
135
  <li class="even ">
136
136
  <div class="item">
137
- <span class='object_link'><a href="Jini.html#remove_node-instance_method" title="Jini#remove_node (method)">#remove_node</a></span>
137
+ <span class='object_link'><a href="Jini.html#remove_attr-instance_method" title="Jini#remove_attr (method)">#remove_attr</a></span>
138
138
  <small>Jini</small>
139
139
  </div>
140
140
  </li>
@@ -142,13 +142,21 @@
142
142
 
143
143
  <li class="odd ">
144
144
  <div class="item">
145
- <span class='object_link'><a href="Jini.html#selection-instance_method" title="Jini#selection (method)">#selection</a></span>
145
+ <span class='object_link'><a href="Jini.html#remove_node-instance_method" title="Jini#remove_node (method)">#remove_node</a></span>
146
146
  <small>Jini</small>
147
147
  </div>
148
148
  </li>
149
149
 
150
150
 
151
151
  <li class="even ">
152
+ <div class="item">
153
+ <span class='object_link'><a href="Jini.html#selection-instance_method" title="Jini#selection (method)">#selection</a></span>
154
+ <small>Jini</small>
155
+ </div>
156
+ </li>
157
+
158
+
159
+ <li class="odd ">
152
160
  <div class="item">
153
161
  <span class='object_link'><a href="Jini.html#to_s-instance_method" title="Jini#to_s (method)">#to_s</a></span>
154
162
  <small>Jini</small>
@@ -100,7 +100,7 @@
100
100
  </div>
101
101
 
102
102
  <div id="footer">
103
- Generated on Fri Sep 16 04:23:03 2022 by
103
+ Generated on Fri Sep 16 16:54:42 2022 by
104
104
  <a href="https://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
105
105
  0.9.28 (ruby-3.0.0).
106
106
  </div>
data/jini.gemspec CHANGED
@@ -5,7 +5,7 @@ Gem::Specification.new do |s|
5
5
  s.required_rubygems_version = Gem::Requirement.new('>= 0') if s.respond_to? :required_rubygems_version=
6
6
  s.required_ruby_version = '>=3.0.0'
7
7
  s.name = 'jini'
8
- s.version = '0.0.7'
8
+ s.version = '0.0.8'
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
@@ -42,7 +42,14 @@ class Jini
42
42
 
43
43
  # Convert it to a string.
44
44
  # @return [String] xpath as string
45
+ # @raise [InvalidPath] if contain spaces in simple nodes
45
46
  def to_s
47
+ copy = @head.split(%r{//|/})
48
+ copy.each do |node|
49
+ if !node.match(/[|]|@|=|>|</) && node.include?(' ')
50
+ raise InvalidPath, "Nodes can't contain spaces: #{node} – contain space."
51
+ end
52
+ end
46
53
  @head.to_s
47
54
  end
48
55
 
@@ -53,6 +60,15 @@ class Jini
53
60
  Jini.new("#{@head}/#{node}")
54
61
  end
55
62
 
63
+ # Addition property in tail
64
+ # Before: '../child'
65
+ # After: '../child/property()'
66
+ # @param property [String]
67
+ # @return [Jini] object
68
+ def add_property(property)
69
+ Jini.new(add_node("#{property}()").to_s)
70
+ end
71
+
56
72
  # Additional attribute for xpath.
57
73
  # '[@key="value"]'
58
74
  # @param key [String] name of attr
@@ -62,16 +78,17 @@ class Jini
62
78
  Jini.new("#{@head}[@#{key}=\"#{value}\"]")
63
79
  end
64
80
 
65
- # Adds an @value to xpath
81
+ # Adds '@value' to tail
66
82
  # @param value [String] with value attr
67
83
  # @return [Jini] object
68
- def all_attr(value)
84
+ def add_attrs(value)
69
85
  Jini.new("#{@head}@#{value}")
70
86
  end
71
87
 
72
88
  # Xpath with all elements.
73
89
  # Addition an '*' to tail of xpath
74
90
  # @return [Jini] object
91
+ # @raise [InvalidPath] when method called after attr
75
92
  def all
76
93
  raise InvalidPath, 'You cannot add all tag after attr!' if @head[-1].eql?(']')
77
94
  Jini.new(add_node('*').to_s)
@@ -81,7 +98,7 @@ class Jini
81
98
  # Addition '//node' to xpath
82
99
  # @param node [String] name of node
83
100
  # @return [Jini] object
84
- def add_all(node)
101
+ def add_nodes(node)
85
102
  Jini.new("#{@head}//#{node}")
86
103
  end
87
104
 
@@ -89,6 +106,7 @@ class Jini
89
106
  # Addition '[index]' to xpath
90
107
  # @param position [Integer] number
91
108
  # @return [Jini] object
109
+ # @raise [InvalidPath] when method used after selection
92
110
  def at(position)
93
111
  raise InvalidPath, 'Cant use at after selection' if @head.include? '::'
94
112
  Jini.new("#{@head}[#{position}]")
@@ -127,10 +145,10 @@ class Jini
127
145
  )
128
146
  end
129
147
 
130
- # Adds '|' to head
148
+ # Adds '[alpha | beta]' in tail.
131
149
  # @param [String] alpha statement
132
150
  # @param [String] beta statement
133
- # @return [Jini] with Jini '[first|second]' on tail
151
+ # @return [Jini] with '[first|second]' on tail
134
152
  def or(alpha, beta)
135
153
  action_between('|', alpha, beta)
136
154
  end
data/test/jini_test.rb CHANGED
@@ -44,6 +44,16 @@ class JiniTest < Minitest::Test
44
44
  )
45
45
  end
46
46
 
47
+ def test_at_raise_invalid_path
48
+ assert_raises(Jini::InvalidPath) do
49
+ Jini.new(PARENT)
50
+ .add_node(CHILD)
51
+ .selection
52
+ .at(3)
53
+ .to_s
54
+ end
55
+ end
56
+
47
57
  def test_remove_path
48
58
  assert_equal(
49
59
  'parent/toy',
@@ -65,6 +75,16 @@ class JiniTest < Minitest::Test
65
75
  )
66
76
  end
67
77
 
78
+ def test_add_attrs_success
79
+ assert_equal(
80
+ 'parent/child@toy',
81
+ Jini.new(PARENT)
82
+ .add_node(CHILD)
83
+ .add_attrs('toy')
84
+ .to_s
85
+ )
86
+ end
87
+
68
88
  def test_all_success
69
89
  assert_equal(
70
90
  '/parent/child/*',
@@ -77,7 +97,7 @@ class JiniTest < Minitest::Test
77
97
  end
78
98
 
79
99
  def test_all_fail
80
- assert_raises do
100
+ assert_raises(Jini::InvalidPath) do
81
101
  Jini.new
82
102
  .add_node(PARENT)
83
103
  .add_attr('key', 'value')
@@ -112,10 +132,10 @@ class JiniTest < Minitest::Test
112
132
  )
113
133
  end
114
134
 
115
- def test_add_all
135
+ def test_add_nodes
116
136
  assert_equal(
117
137
  'parent//children',
118
- Jini.new(PARENT).add_all('children').to_s
138
+ Jini.new(PARENT).add_nodes('children').to_s
119
139
  )
120
140
  end
121
141
 
@@ -130,7 +150,7 @@ class JiniTest < Minitest::Test
130
150
  end
131
151
 
132
152
  def test_selection_fail
133
- assert_raises do
153
+ assert_raises(Jini::InvalidPath) do
134
154
  Jini.new
135
155
  .add_node(PARENT)
136
156
  .add_node(CHILD)
@@ -169,4 +189,38 @@ class JiniTest < Minitest::Test
169
189
  .to_s
170
190
  )
171
191
  end
192
+
193
+ def test_add_property
194
+ assert_equal(
195
+ 'parent/child/property()',
196
+ Jini.new(PARENT)
197
+ .add_node(CHILD)
198
+ .add_property('property')
199
+ .to_s
200
+ )
201
+ end
202
+
203
+ def test_to_s_not_raised
204
+ Jini.new(PARENT)
205
+ .add_node(CHILD)
206
+ .add_node(PARENT)
207
+ .add_node(CHILD)
208
+ .add_node(PARENT)
209
+ .add_node(CHILD)
210
+ .add_attr('key', 'value')
211
+ .add_node(PARENT)
212
+ .or('a', 'b')
213
+ .add_node(CHILD)
214
+ .to_s
215
+ end
216
+
217
+ def test_to_s_raised_invalid_path
218
+ assert_raises(Jini::InvalidPath) do
219
+ Jini.new(PARENT)
220
+ .add_node(CHILD)
221
+ .or('toy', 'animal')
222
+ .add_node('p arent')
223
+ .to_s
224
+ end
225
+ end
172
226
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: jini
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.7
4
+ version: 0.0.8
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ivan Ivanchuck