lunchmoney 1.4.0 → 1.5.0

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.
Files changed (91) hide show
  1. checksums.yaml +4 -4
  2. data/.github/dependabot.yml +7 -0
  3. data/.github/workflows/build_and_publish_yard_docs.yml +4 -4
  4. data/.github/workflows/ci.yml +9 -10
  5. data/.github/workflows/rbi-updater.yml +1 -1
  6. data/.github/workflows/release_pipeline.yml +1 -1
  7. data/.rubocop.yml +1 -1
  8. data/.ruby-version +1 -1
  9. data/.simplecov +1 -0
  10. data/.toys/.toys.rb +8 -0
  11. data/Gemfile +3 -3
  12. data/Gemfile.lock +102 -78
  13. data/README.md +0 -2
  14. data/SECURITY.md +151 -0
  15. data/bin/check_vcr_version +94 -0
  16. data/lib/lunchmoney/api.rb +26 -38
  17. data/lib/lunchmoney/calls/assets.rb +10 -13
  18. data/lib/lunchmoney/calls/base.rb +59 -7
  19. data/lib/lunchmoney/calls/budgets.rb +22 -25
  20. data/lib/lunchmoney/calls/categories.rb +28 -38
  21. data/lib/lunchmoney/calls/crypto.rb +7 -9
  22. data/lib/lunchmoney/calls/plaid_accounts.rb +7 -9
  23. data/lib/lunchmoney/calls/recurring_expenses.rb +4 -5
  24. data/lib/lunchmoney/calls/tags.rb +3 -4
  25. data/lib/lunchmoney/calls/transactions.rb +28 -37
  26. data/lib/lunchmoney/calls/users.rb +3 -4
  27. data/lib/lunchmoney/configuration.rb +20 -0
  28. data/lib/lunchmoney/deprecate.rb +35 -0
  29. data/lib/lunchmoney/objects/asset.rb +6 -1
  30. data/lib/lunchmoney/objects/object.rb +4 -9
  31. data/lib/lunchmoney/objects/plaid_account.rb +6 -1
  32. data/lib/lunchmoney/validators.rb +8 -6
  33. data/lib/lunchmoney/version.rb +1 -1
  34. data/lib/lunchmoney.rb +3 -3
  35. data/lunchmoney.gemspec +1 -1
  36. data/sorbet/rbi/annotations/activesupport.rbi +40 -0
  37. data/sorbet/rbi/dsl/active_support/callbacks.rbi +0 -2
  38. data/sorbet/rbi/gems/{activesupport@7.2.1.rbi → activesupport@8.0.2.1.rbi} +1431 -1028
  39. data/sorbet/rbi/gems/{ast@2.4.2.rbi → ast@2.4.3.rbi} +4 -3
  40. data/sorbet/rbi/gems/{base64@0.2.0.rbi → base64@0.3.0.rbi} +76 -39
  41. data/sorbet/rbi/gems/benchmark@0.4.1.rbi +619 -0
  42. data/sorbet/rbi/gems/bigdecimal@3.2.2.rbi +275 -0
  43. data/sorbet/rbi/gems/{concurrent-ruby@1.3.4.rbi → concurrent-ruby@1.3.5.rbi} +44 -32
  44. data/sorbet/rbi/gems/{connection_pool@2.4.1.rbi → connection_pool@2.5.3.rbi} +1 -0
  45. data/sorbet/rbi/gems/{dotenv@3.1.2.rbi → dotenv@3.1.8.rbi} +21 -29
  46. data/sorbet/rbi/gems/{drb@2.2.1.rbi → drb@2.2.3.rbi} +503 -188
  47. data/sorbet/rbi/gems/{erubi@1.13.0.rbi → erubi@1.13.1.rbi} +14 -9
  48. data/sorbet/rbi/gems/{faraday-net_http@3.1.1.rbi → faraday-net_http@3.4.1.rbi} +34 -34
  49. data/sorbet/rbi/gems/{faraday@2.10.1.rbi → faraday@2.13.4.rbi} +507 -171
  50. data/sorbet/rbi/gems/{hashdiff@1.1.1.rbi → hashdiff@1.2.0.rbi} +5 -3
  51. data/sorbet/rbi/gems/{i18n@1.14.5.rbi → i18n@1.14.7.rbi} +80 -80
  52. data/sorbet/rbi/gems/{json@2.7.2.rbi → json@2.13.2.rbi} +988 -226
  53. data/sorbet/rbi/gems/{kramdown@2.4.0.rbi → kramdown@2.5.1.rbi} +316 -234
  54. data/sorbet/rbi/gems/language_server-protocol@3.17.0.5.rbi +9 -0
  55. data/sorbet/rbi/gems/lint_roller@1.1.0.rbi +240 -0
  56. data/sorbet/rbi/gems/{logger@1.6.0.rbi → logger@1.7.0.rbi} +136 -76
  57. data/sorbet/rbi/gems/{minitest@5.25.1.rbi → minitest@5.25.5.rbi} +227 -220
  58. data/sorbet/rbi/gems/{mocha@2.4.5.rbi → mocha@2.7.1.rbi} +154 -118
  59. data/sorbet/rbi/gems/{net-http@0.4.1.rbi → net-http@0.6.0.rbi} +360 -181
  60. data/sorbet/rbi/gems/{parser@3.3.4.2.rbi → parser@3.3.9.0.rbi} +326 -308
  61. data/sorbet/rbi/gems/{prism@0.30.0.rbi → prism@1.4.0.rbi} +12440 -9920
  62. data/sorbet/rbi/gems/{rack@3.1.7.rbi → rack@3.2.1.rbi} +752 -579
  63. data/sorbet/rbi/gems/{rake@13.2.1.rbi → rake@13.3.0.rbi} +238 -227
  64. data/sorbet/rbi/gems/rbi@0.3.6.rbi +5162 -0
  65. data/sorbet/rbi/gems/rbs@4.0.0.dev.4.rbi +7895 -0
  66. data/sorbet/rbi/gems/{regexp_parser@2.9.2.rbi → regexp_parser@2.11.2.rbi} +1124 -1013
  67. data/sorbet/rbi/gems/require-hooks@0.2.2.rbi +110 -0
  68. data/sorbet/rbi/gems/{rexml@3.3.6.rbi → rexml@3.4.2.rbi} +755 -318
  69. data/sorbet/rbi/gems/{rubocop-ast@1.32.1.rbi → rubocop-ast@1.46.0.rbi} +1287 -899
  70. data/sorbet/rbi/gems/{rubocop-minitest@0.35.1.rbi → rubocop-minitest@0.38.2.rbi} +133 -97
  71. data/sorbet/rbi/gems/{rubocop-rails@2.26.0.rbi → rubocop-rails@2.33.3.rbi} +9874 -6597
  72. data/sorbet/rbi/gems/{rubocop-shopify@2.15.1.rbi → rubocop-shopify@2.17.1.rbi} +1 -0
  73. data/sorbet/rbi/gems/{rubocop-sorbet@0.8.5.rbi → rubocop-sorbet@0.10.5.rbi} +804 -83
  74. data/sorbet/rbi/gems/{rubocop@1.65.1.rbi → rubocop@1.80.1.rbi} +10688 -5103
  75. data/sorbet/rbi/gems/{securerandom@0.3.1.rbi → securerandom@0.4.1.rbi} +7 -5
  76. data/sorbet/rbi/gems/{spoom@1.4.2.rbi → spoom@1.7.6.rbi} +1939 -1039
  77. data/sorbet/rbi/gems/{tapioca@0.16.1.rbi → tapioca@0.17.7.rbi} +765 -821
  78. data/sorbet/rbi/gems/{thor@1.3.1.rbi → thor@1.4.0.rbi} +139 -91
  79. data/sorbet/rbi/gems/unicode-display_width@3.1.5.rbi +132 -0
  80. data/sorbet/rbi/gems/unicode-emoji@4.0.4.rbi +251 -0
  81. data/sorbet/rbi/gems/{uri@0.13.0.rbi → uri@1.0.3.rbi} +278 -256
  82. data/sorbet/rbi/gems/{vcr@6.3.1.rbi → vcr@6.3.1-ce35c236fe48899f02ddf780973b44cdb756c0ee.rbi} +140 -123
  83. data/sorbet/rbi/gems/{webmock@3.23.1.rbi → webmock@3.25.1.rbi} +101 -78
  84. data/sorbet/rbi/gems/{yard@0.9.36.rbi → yard@0.9.37.rbi} +394 -235
  85. metadata +55 -53
  86. data/sorbet/rbi/gems/bigdecimal@3.1.8.rbi +0 -78
  87. data/sorbet/rbi/gems/language_server-protocol@3.17.0.3.rbi +0 -14237
  88. data/sorbet/rbi/gems/rbi@0.1.14.rbi +0 -3305
  89. data/sorbet/rbi/gems/strscan@3.1.0.rbi +0 -9
  90. data/sorbet/rbi/gems/unicode-display_width@2.5.0.rbi +0 -65
  91. /data/sorbet/rbi/gems/{parallel@1.26.3.rbi → parallel@1.27.0.rbi} +0 -0
@@ -113,12 +113,15 @@ class REXML::Attribute
113
113
 
114
114
  # Returns a copy of this attribute
115
115
  #
116
- # source://rexml//lib/rexml/attribute.rb#163
116
+ # source://rexml//lib/rexml/attribute.rb#161
117
117
  def clone; end
118
118
 
119
119
  # source://rexml//lib/rexml/attribute.rb#132
120
120
  def doctype; end
121
121
 
122
+ # source://rexml//lib/rexml/attribute.rb#205
123
+ def document; end
124
+
122
125
  # The element to which this attribute belongs
123
126
  #
124
127
  # source://rexml//lib/rexml/attribute.rb#15
@@ -129,7 +132,7 @@ class REXML::Attribute
129
132
  #
130
133
  # Returns this attribute
131
134
  #
132
- # source://rexml//lib/rexml/attribute.rb#171
135
+ # source://rexml//lib/rexml/attribute.rb#169
133
136
  def element=(element); end
134
137
 
135
138
  # Creates (and returns) a hash from both the name and value
@@ -137,7 +140,7 @@ class REXML::Attribute
137
140
  # source://rexml//lib/rexml/attribute.rb#111
138
141
  def hash; end
139
142
 
140
- # source://rexml//lib/rexml/attribute.rb#197
143
+ # source://rexml//lib/rexml/attribute.rb#195
141
144
  def inspect; end
142
145
 
143
146
  # Returns the namespace URL, if defined, or nil otherwise
@@ -165,13 +168,13 @@ class REXML::Attribute
165
168
  # source://rexml//lib/rexml/attribute.rb#95
166
169
  def namespace(arg = T.unsafe(nil)); end
167
170
 
168
- # source://rexml//lib/rexml/attribute.rb#193
171
+ # source://rexml//lib/rexml/attribute.rb#191
169
172
  def node_type; end
170
173
 
171
174
  # The normalized value of this attribute. That is, the attribute with
172
175
  # entities intact.
173
176
  #
174
- # source://rexml//lib/rexml/attribute.rb#157
177
+ # source://rexml//lib/rexml/attribute.rb#155
175
178
  def normalized=(new_normalized); end
176
179
 
177
180
  # Returns the namespace of the attribute.
@@ -191,12 +194,12 @@ class REXML::Attribute
191
194
  #
192
195
  # This method is usually not called directly.
193
196
  #
194
- # source://rexml//lib/rexml/attribute.rb#184
197
+ # source://rexml//lib/rexml/attribute.rb#182
195
198
  def remove; end
196
199
 
197
200
  # Returns the attribute value, with entities replaced
198
201
  #
199
- # source://rexml//lib/rexml/attribute.rb#140
202
+ # source://rexml//lib/rexml/attribute.rb#137
200
203
  def to_s; end
201
204
 
202
205
  # Returns this attribute out as XML source, expanding the name
@@ -212,22 +215,22 @@ class REXML::Attribute
212
215
  # Returns the UNNORMALIZED value of this attribute. That is, entities
213
216
  # have been expanded to their values
214
217
  #
215
- # source://rexml//lib/rexml/attribute.rb#149
218
+ # source://rexml//lib/rexml/attribute.rb#146
216
219
  def value; end
217
220
 
218
221
  # Writes this attribute (EG, puts 'key="value"' to the output)
219
222
  #
220
- # source://rexml//lib/rexml/attribute.rb#189
223
+ # source://rexml//lib/rexml/attribute.rb#187
221
224
  def write(output, indent = T.unsafe(nil)); end
222
225
 
223
- # source://rexml//lib/rexml/attribute.rb#203
226
+ # source://rexml//lib/rexml/attribute.rb#201
224
227
  def xpath; end
225
228
  end
226
229
 
227
230
  # A class that defines the set of Attributes of an Element and provides
228
231
  # operations for accessing elements in that set.
229
232
  #
230
- # source://rexml//lib/rexml/element.rb#2137
233
+ # source://rexml//lib/rexml/element.rb#2131
231
234
  class REXML::Attributes < ::Hash
232
235
  # :call-seq:
233
236
  # new(element)
@@ -248,7 +251,7 @@ class REXML::Attributes < ::Hash
248
251
  #
249
252
  # @return [Attributes] a new instance of Attributes
250
253
  #
251
- # source://rexml//lib/rexml/element.rb#2156
254
+ # source://rexml//lib/rexml/element.rb#2150
252
255
  def initialize(element); end
253
256
 
254
257
  # :call-seq:
@@ -271,7 +274,7 @@ class REXML::Attributes < ::Hash
271
274
  # attrs.add(REXML::Attribute.new('baz', '3')) # => baz='3'
272
275
  # attrs.include?('baz') # => true
273
276
  #
274
- # source://rexml//lib/rexml/element.rb#2522
277
+ # source://rexml//lib/rexml/element.rb#2520
275
278
  def <<(attribute); end
276
279
 
277
280
  # :call-seq:
@@ -295,7 +298,7 @@ class REXML::Attributes < ::Hash
295
298
  #
296
299
  # Related: get_attribute (returns an \Attribute object).
297
300
  #
298
- # source://rexml//lib/rexml/element.rb#2181
301
+ # source://rexml//lib/rexml/element.rb#2175
299
302
  def [](name); end
300
303
 
301
304
  # :call-seq:
@@ -321,7 +324,7 @@ class REXML::Attributes < ::Hash
321
324
  # attrs['baz:att'] = nil
322
325
  # attrs.include?('baz:att') # => false
323
326
  #
324
- # source://rexml//lib/rexml/element.rb#2365
327
+ # source://rexml//lib/rexml/element.rb#2358
325
328
  def []=(name, value); end
326
329
 
327
330
  # :call-seq:
@@ -344,7 +347,7 @@ class REXML::Attributes < ::Hash
344
347
  # attrs.add(REXML::Attribute.new('baz', '3')) # => baz='3'
345
348
  # attrs.include?('baz') # => true
346
349
  #
347
- # source://rexml//lib/rexml/element.rb#2522
350
+ # source://rexml//lib/rexml/element.rb#2516
348
351
  def add(attribute); end
349
352
 
350
353
  # :call-seq:
@@ -375,7 +378,7 @@ class REXML::Attributes < ::Hash
375
378
  # attrs.delete(attr) # => <ele att='&lt;'/> # => <ele att='&lt;'/>
376
379
  # attrs.delete(attr) # => <ele att='&lt;'/> # => <ele/>
377
380
  #
378
- # source://rexml//lib/rexml/element.rb#2475
381
+ # source://rexml//lib/rexml/element.rb#2471
379
382
  def delete(attribute); end
380
383
 
381
384
  # :call-seq:
@@ -394,7 +397,7 @@ class REXML::Attributes < ::Hash
394
397
  # attrs = ele.attributes
395
398
  # attrs.delete_all('att') # => [att='&lt;']
396
399
  #
397
- # source://rexml//lib/rexml/element.rb#2544
400
+ # source://rexml//lib/rexml/element.rb#2538
398
401
  def delete_all(name); end
399
402
 
400
403
  # :call-seq:
@@ -419,7 +422,7 @@ class REXML::Attributes < ::Hash
419
422
  # ["bar:att", "2"]
420
423
  # ["att", "<"]
421
424
  #
422
- # source://rexml//lib/rexml/element.rb#2283
425
+ # source://rexml//lib/rexml/element.rb#2276
423
426
  def each; end
424
427
 
425
428
  # :call-seq:
@@ -444,7 +447,7 @@ class REXML::Attributes < ::Hash
444
447
  # [REXML::Attribute, bar:att='2']
445
448
  # [REXML::Attribute, att='&lt;']
446
449
  #
447
- # source://rexml//lib/rexml/element.rb#2250
450
+ # source://rexml//lib/rexml/element.rb#2243
448
451
  def each_attribute; end
449
452
 
450
453
  # :call-seq:
@@ -466,7 +469,7 @@ class REXML::Attributes < ::Hash
466
469
  # attrs.get_attribute('att') # => att='&lt;'
467
470
  # attrs.get_attribute('nosuch') # => nil
468
471
  #
469
- # source://rexml//lib/rexml/element.rb#2309
472
+ # source://rexml//lib/rexml/element.rb#2302
470
473
  def get_attribute(name); end
471
474
 
472
475
  # :call-seq:
@@ -486,7 +489,7 @@ class REXML::Attributes < ::Hash
486
489
  # attrs.get_attribute_ns('http://foo', 'att') # => foo:att='1'
487
490
  # attrs.get_attribute_ns('http://foo', 'nosuch') # => nil
488
491
  #
489
- # source://rexml//lib/rexml/element.rb#2570
492
+ # source://rexml//lib/rexml/element.rb#2564
490
493
  def get_attribute_ns(namespace, name); end
491
494
 
492
495
  # :call-seq:
@@ -503,7 +506,7 @@ class REXML::Attributes < ::Hash
503
506
  # ele = d.root.elements['//ele'] # => <a foo:att='1' bar:att='2' att='&lt;'/>
504
507
  # ele.attributes.length # => 3
505
508
  #
506
- # source://rexml//lib/rexml/element.rb#2221
509
+ # source://rexml//lib/rexml/element.rb#2214
507
510
  def length; end
508
511
 
509
512
  # :call-seq:
@@ -515,7 +518,7 @@ class REXML::Attributes < ::Hash
515
518
  # d = REXML::Document.new(xml_string)
516
519
  # d.root.attributes.namespaces # => {"xmlns"=>"foo", "x"=>"bar", "y"=>"twee"}
517
520
  #
518
- # source://rexml//lib/rexml/element.rb#2431
521
+ # source://rexml//lib/rexml/element.rb#2426
519
522
  def namespaces; end
520
523
 
521
524
  # :call-seq:
@@ -529,7 +532,7 @@ class REXML::Attributes < ::Hash
529
532
  # d = REXML::Document.new(xml_string)
530
533
  # d.root.attributes.prefixes # => ["x", "y"]
531
534
  #
532
- # source://rexml//lib/rexml/element.rb#2406
535
+ # source://rexml//lib/rexml/element.rb#2400
533
536
  def prefixes; end
534
537
 
535
538
  # :call-seq:
@@ -546,7 +549,7 @@ class REXML::Attributes < ::Hash
546
549
  # ele = d.root.elements['//ele'] # => <a foo:att='1' bar:att='2' att='&lt;'/>
547
550
  # ele.attributes.length # => 3
548
551
  #
549
- # source://rexml//lib/rexml/element.rb#2221
552
+ # source://rexml//lib/rexml/element.rb#2219
550
553
  def size; end
551
554
 
552
555
  # :call-seq:
@@ -565,7 +568,7 @@ class REXML::Attributes < ::Hash
565
568
  # attrs = ele.attributes.to_a # => [foo:att='1', bar:att='2', att='&lt;']
566
569
  # attrs.first.class # => REXML::Attribute
567
570
  #
568
- # source://rexml//lib/rexml/element.rb#2203
571
+ # source://rexml//lib/rexml/element.rb#2196
569
572
  def to_a; end
570
573
  end
571
574
 
@@ -648,7 +651,7 @@ class REXML::Child
648
651
 
649
652
  # This doesn't yet handle encodings
650
653
  #
651
- # source://rexml//lib/rexml/child.rb#91
654
+ # source://rexml//lib/rexml/child.rb#90
652
655
  def bytes; end
653
656
 
654
657
  # Returns:: the document this child belongs to, or nil if this child
@@ -657,7 +660,7 @@ class REXML::Child
657
660
  # source://rexml//lib/rexml/child.rb#85
658
661
  def document; end
659
662
 
660
- # source://rexml//lib/rexml/node.rb#11
663
+ # source://rexml//lib/rexml/child.rb#58
661
664
  def next_sibling; end
662
665
 
663
666
  # Sets the next sibling of this child. This can be used to insert a child
@@ -688,7 +691,7 @@ class REXML::Child
688
691
  # source://rexml//lib/rexml/child.rb#52
689
692
  def parent=(other); end
690
693
 
691
- # source://rexml//lib/rexml/node.rb#17
694
+ # source://rexml//lib/rexml/child.rb#59
692
695
  def previous_sibling; end
693
696
 
694
697
  # Sets the previous sibling of this child. This can be used to insert a
@@ -767,7 +770,7 @@ class REXML::Comment < ::REXML::Child
767
770
 
768
771
  # The content text
769
772
  #
770
- # source://rexml//lib/rexml/comment.rb#14
773
+ # source://rexml//lib/rexml/comment.rb#58
771
774
  def to_s; end
772
775
 
773
776
  # == DEPRECATED
@@ -794,20 +797,20 @@ module REXML::DClonable; end
794
797
  # This is an abstract class. You never use this directly; it serves as a
795
798
  # parent class for the specific declarations.
796
799
  #
797
- # source://rexml//lib/rexml/doctype.rb#242
800
+ # source://rexml//lib/rexml/doctype.rb#238
798
801
  class REXML::Declaration < ::REXML::Child
799
802
  # @return [Declaration] a new instance of Declaration
800
803
  #
801
- # source://rexml//lib/rexml/doctype.rb#243
804
+ # source://rexml//lib/rexml/doctype.rb#239
802
805
  def initialize(src); end
803
806
 
804
- # source://rexml//lib/rexml/doctype.rb#248
807
+ # source://rexml//lib/rexml/doctype.rb#244
805
808
  def to_s; end
806
809
 
807
810
  # == DEPRECATED
808
811
  # See REXML::Formatters
809
812
  #
810
- # source://rexml//lib/rexml/doctype.rb#255
813
+ # source://rexml//lib/rexml/doctype.rb#251
811
814
  def write(output, indent); end
812
815
  end
813
816
 
@@ -837,7 +840,7 @@ class REXML::DocType < ::REXML::Parent
837
840
  # source://rexml//lib/rexml/doctype.rb#80
838
841
  def initialize(first, parent = T.unsafe(nil)); end
839
842
 
840
- # source://rexml//lib/rexml/doctype.rb#185
843
+ # source://rexml//lib/rexml/doctype.rb#181
841
844
  def add(child); end
842
845
 
843
846
  # source://rexml//lib/rexml/doctype.rb#125
@@ -858,7 +861,7 @@ class REXML::DocType < ::REXML::Parent
858
861
  # source://rexml//lib/rexml/doctype.rb#66
859
862
  def entities; end
860
863
 
861
- # source://rexml//lib/rexml/doctype.rb#181
864
+ # source://rexml//lib/rexml/doctype.rb#177
862
865
  def entity(name); end
863
866
 
864
867
  # name is the name of the doctype
@@ -887,7 +890,7 @@ class REXML::DocType < ::REXML::Parent
887
890
  #
888
891
  # Method contributed by Henrik Martensson
889
892
  #
890
- # source://rexml//lib/rexml/doctype.rb#229
893
+ # source://rexml//lib/rexml/doctype.rb#225
891
894
  def notation(name); end
892
895
 
893
896
  # This method returns a list of notations that have been declared in the
@@ -896,7 +899,7 @@ class REXML::DocType < ::REXML::Parent
896
899
  #
897
900
  # Method contributed by Henrik Martensson
898
901
  #
899
- # source://rexml//lib/rexml/doctype.rb#221
902
+ # source://rexml//lib/rexml/doctype.rb#217
900
903
  def notations; end
901
904
 
902
905
  # This method retrieves the public identifier identifying the document's
@@ -904,14 +907,14 @@ class REXML::DocType < ::REXML::Parent
904
907
  #
905
908
  # Method contributed by Henrik Martensson
906
909
  #
907
- # source://rexml//lib/rexml/doctype.rb#195
910
+ # source://rexml//lib/rexml/doctype.rb#191
908
911
  def public; end
909
912
 
910
913
  # This method retrieves the system identifier identifying the document's DTD
911
914
  #
912
915
  # Method contributed by Henrik Martensson
913
916
  #
914
- # source://rexml//lib/rexml/doctype.rb#207
917
+ # source://rexml//lib/rexml/doctype.rb#203
915
918
  def system; end
916
919
 
917
920
  # output::
@@ -1038,7 +1041,7 @@ class REXML::Document < ::REXML::Element
1038
1041
  # d.add(REXML::Element.new('foo'))
1039
1042
  # d.to_s # => "<foo/>"
1040
1043
  #
1041
- # source://rexml//lib/rexml/document.rb#170
1044
+ # source://rexml//lib/rexml/document.rb#203
1042
1045
  def <<(child); end
1043
1046
 
1044
1047
  # :call-seq:
@@ -1075,7 +1078,7 @@ class REXML::Document < ::REXML::Element
1075
1078
  # d.add(REXML::Element.new('foo'))
1076
1079
  # d.to_s # => "<foo/>"
1077
1080
  #
1078
- # source://rexml//lib/rexml/document.rb#170
1081
+ # source://rexml//lib/rexml/document.rb#172
1079
1082
  def add(child); end
1080
1083
 
1081
1084
  # :call-seq:
@@ -1085,7 +1088,7 @@ class REXML::Document < ::REXML::Element
1085
1088
  #
1086
1089
  # REXML::Element.add_element(name_or_element, attributes)
1087
1090
  #
1088
- # source://rexml//lib/rexml/document.rb#209
1091
+ # source://rexml//lib/rexml/document.rb#211
1089
1092
  def add_element(arg = T.unsafe(nil), arg2 = T.unsafe(nil)); end
1090
1093
 
1091
1094
  # :call-seq:
@@ -1094,7 +1097,7 @@ class REXML::Document < ::REXML::Element
1094
1097
  # Returns the new document resulting from executing
1095
1098
  # <tt>Document.new(self)</tt>. See Document.new.
1096
1099
  #
1097
- # source://rexml//lib/rexml/document.rb#120
1100
+ # source://rexml//lib/rexml/document.rb#122
1098
1101
  def clone; end
1099
1102
 
1100
1103
  # :call-seq:
@@ -1107,10 +1110,10 @@ class REXML::Document < ::REXML::Element
1107
1110
  # d = REXML::Document.new('')
1108
1111
  # d.doctype.class # => nil
1109
1112
  #
1110
- # source://rexml//lib/rexml/document.rb#241
1113
+ # source://rexml//lib/rexml/document.rb#243
1111
1114
  def doctype; end
1112
1115
 
1113
- # source://rexml//lib/rexml/document.rb#442
1116
+ # source://rexml//lib/rexml/document.rb#446
1114
1117
  def document; end
1115
1118
 
1116
1119
  # :call-seq:
@@ -1123,20 +1126,39 @@ class REXML::Document < ::REXML::Element
1123
1126
  # d = REXML::Document.new('')
1124
1127
  # d.encoding # => "UTF-8"
1125
1128
  #
1126
- # source://rexml//lib/rexml/document.rb#290
1129
+ # source://rexml//lib/rexml/document.rb#292
1127
1130
  def encoding; end
1128
1131
 
1129
1132
  # Returns the value of attribute entity_expansion_count.
1130
1133
  #
1131
- # source://rexml//lib/rexml/document.rb#433
1134
+ # source://rexml//lib/rexml/document.rb#435
1132
1135
  def entity_expansion_count; end
1133
1136
 
1137
+ # Sets the attribute entity_expansion_limit
1138
+ #
1139
+ # @param value the value to set the attribute entity_expansion_limit to.
1140
+ #
1141
+ # source://rexml//lib/rexml/document.rb#436
1142
+ def entity_expansion_limit=(_arg0); end
1143
+
1144
+ # Returns the value of attribute entity_expansion_text_limit.
1145
+ #
1146
+ # source://rexml//lib/rexml/document.rb#437
1147
+ def entity_expansion_text_limit; end
1148
+
1149
+ # Sets the attribute entity_expansion_text_limit
1150
+ #
1151
+ # @param value the value to set the attribute entity_expansion_text_limit to.
1152
+ #
1153
+ # source://rexml//lib/rexml/document.rb#437
1154
+ def entity_expansion_text_limit=(_arg0); end
1155
+
1134
1156
  # :call-seq:
1135
1157
  # expanded_name -> empty_string
1136
1158
  #
1137
1159
  # Returns an empty string.
1138
1160
  #
1139
- # source://rexml//lib/rexml/document.rb#129
1161
+ # source://rexml//lib/rexml/document.rb#131
1140
1162
  def expanded_name; end
1141
1163
 
1142
1164
  # :call-seq:
@@ -1146,7 +1168,7 @@ class REXML::Document < ::REXML::Element
1146
1168
  # d = doc_type
1147
1169
  # d ? d.name : "UNDEFINED"
1148
1170
  #
1149
- # source://rexml//lib/rexml/document.rb#129
1171
+ # source://rexml//lib/rexml/document.rb#136
1150
1172
  def name; end
1151
1173
 
1152
1174
  # :call-seq:
@@ -1154,10 +1176,10 @@ class REXML::Document < ::REXML::Element
1154
1176
  #
1155
1177
  # Returns the symbol +:document+.
1156
1178
  #
1157
- # source://rexml//lib/rexml/document.rb#110
1179
+ # source://rexml//lib/rexml/document.rb#112
1158
1180
  def node_type; end
1159
1181
 
1160
- # source://rexml//lib/rexml/document.rb#435
1182
+ # source://rexml//lib/rexml/document.rb#439
1161
1183
  def record_entity_expansion; end
1162
1184
 
1163
1185
  # :call-seq:
@@ -1170,7 +1192,7 @@ class REXML::Document < ::REXML::Element
1170
1192
  # d = REXML::Document.new('')
1171
1193
  # d.root # => nil
1172
1194
  #
1173
- # source://rexml//lib/rexml/document.rb#225
1195
+ # source://rexml//lib/rexml/document.rb#227
1174
1196
  def root; end
1175
1197
 
1176
1198
  # :call-seq:
@@ -1186,7 +1208,7 @@ class REXML::Document < ::REXML::Element
1186
1208
  #
1187
1209
  # @return [Boolean]
1188
1210
  #
1189
- # source://rexml//lib/rexml/document.rb#305
1211
+ # source://rexml//lib/rexml/document.rb#307
1190
1212
  def stand_alone?; end
1191
1213
 
1192
1214
  # :call-seq:
@@ -1200,12 +1222,12 @@ class REXML::Document < ::REXML::Element
1200
1222
  # d = REXML::Document.new('')
1201
1223
  # d.version # => "1.0"
1202
1224
  #
1203
- # source://rexml//lib/rexml/document.rb#275
1225
+ # source://rexml//lib/rexml/document.rb#277
1204
1226
  def version; end
1205
1227
 
1206
1228
  # :call-seq:
1207
- # doc.write(output=$stdout, indent=-1, transtive=false, ie_hack=false, encoding=nil)
1208
- # doc.write(options={:output => $stdout, :indent => -1, :transtive => false, :ie_hack => false, :encoding => nil})
1229
+ # doc.write(output=$stdout, indent=-1, transitive=false, ie_hack=false, encoding=nil)
1230
+ # doc.write(options={:output => $stdout, :indent => -1, :transitive => false, :ie_hack => false, :encoding => nil})
1209
1231
  #
1210
1232
  # Write the XML tree out, optionally with indent. This writes out the
1211
1233
  # entire XML document, including XML declarations, doctype declarations,
@@ -1259,7 +1281,7 @@ class REXML::Document < ::REXML::Element
1259
1281
  # instead of encoding in XML declaration.
1260
1282
  # Defaults to nil. It means encoding in XML declaration is used.
1261
1283
  #
1262
- # source://rexml//lib/rexml/document.rb#365
1284
+ # source://rexml//lib/rexml/document.rb#367
1263
1285
  def write(*arguments); end
1264
1286
 
1265
1287
  # :call-seq:
@@ -1275,44 +1297,62 @@ class REXML::Document < ::REXML::Element
1275
1297
  # d.xml_decl.class # => REXML::XMLDecl
1276
1298
  # d.xml_decl.to_s # => ""
1277
1299
  #
1278
- # source://rexml//lib/rexml/document.rb#258
1300
+ # source://rexml//lib/rexml/document.rb#260
1279
1301
  def xml_decl; end
1280
1302
 
1281
1303
  private
1282
1304
 
1283
- # source://rexml//lib/rexml/document.rb#447
1305
+ # source://rexml//lib/rexml/document.rb#465
1284
1306
  def build(source); end
1285
1307
 
1308
+ # New document level cache is created and available in this block.
1309
+ # This API is thread unsafe. Users can't change this document in this block.
1310
+ #
1311
+ # source://rexml//lib/rexml/document.rb#456
1312
+ def enable_cache; end
1313
+
1314
+ # Returns the value of attribute namespaces_cache.
1315
+ #
1316
+ # source://rexml//lib/rexml/document.rb#452
1317
+ def namespaces_cache; end
1318
+
1319
+ # Sets the attribute namespaces_cache
1320
+ #
1321
+ # @param value the value to set the attribute namespaces_cache to.
1322
+ #
1323
+ # source://rexml//lib/rexml/document.rb#452
1324
+ def namespaces_cache=(_arg0); end
1325
+
1286
1326
  class << self
1287
1327
  # Get the entity expansion limit. By default the limit is set to 10000.
1288
1328
  #
1289
1329
  # Deprecated. Use REXML::Security.entity_expansion_limit= instead.
1290
1330
  #
1291
- # source://rexml//lib/rexml/document.rb#415
1331
+ # source://rexml//lib/rexml/document.rb#417
1292
1332
  def entity_expansion_limit; end
1293
1333
 
1294
1334
  # Set the entity expansion limit. By default the limit is set to 10000.
1295
1335
  #
1296
1336
  # Deprecated. Use REXML::Security.entity_expansion_limit= instead.
1297
1337
  #
1298
- # source://rexml//lib/rexml/document.rb#408
1338
+ # source://rexml//lib/rexml/document.rb#410
1299
1339
  def entity_expansion_limit=(val); end
1300
1340
 
1301
1341
  # Get the entity expansion limit. By default the limit is set to 10240.
1302
1342
  #
1303
1343
  # Deprecated. Use REXML::Security.entity_expansion_text_limit instead.
1304
1344
  #
1305
- # source://rexml//lib/rexml/document.rb#429
1345
+ # source://rexml//lib/rexml/document.rb#431
1306
1346
  def entity_expansion_text_limit; end
1307
1347
 
1308
1348
  # Set the entity expansion limit. By default the limit is set to 10240.
1309
1349
  #
1310
1350
  # Deprecated. Use REXML::Security.entity_expansion_text_limit= instead.
1311
1351
  #
1312
- # source://rexml//lib/rexml/document.rb#422
1352
+ # source://rexml//lib/rexml/document.rb#424
1313
1353
  def entity_expansion_text_limit=(val); end
1314
1354
 
1315
- # source://rexml//lib/rexml/document.rb#401
1355
+ # source://rexml//lib/rexml/document.rb#403
1316
1356
  def parse_stream(source, listener); end
1317
1357
  end
1318
1358
  end
@@ -1663,7 +1703,7 @@ class REXML::Element < ::REXML::Parent
1663
1703
  # root[:attr] # => "value"
1664
1704
  # root[:nosuch] # => nil
1665
1705
  #
1666
- # source://rexml//lib/rexml/element.rb#1246
1706
+ # source://rexml//lib/rexml/element.rb#1238
1667
1707
  def [](name_or_index); end
1668
1708
 
1669
1709
  # :call-seq:
@@ -1692,7 +1732,7 @@ class REXML::Element < ::REXML::Parent
1692
1732
  # e.add_attribute(a) # => attr='VALUE'
1693
1733
  # e['attr'] # => "VALUE"
1694
1734
  #
1695
- # source://rexml//lib/rexml/element.rb#1345
1735
+ # source://rexml//lib/rexml/element.rb#1336
1696
1736
  def add_attribute(key, value = T.unsafe(nil)); end
1697
1737
 
1698
1738
  # :call-seq:
@@ -1718,7 +1758,7 @@ class REXML::Element < ::REXML::Parent
1718
1758
  # a = [['foo' => 'bar'], ['baz' => 'bat']]
1719
1759
  # e.add_attributes(a)
1720
1760
  #
1721
- # source://rexml//lib/rexml/element.rb#1376
1761
+ # source://rexml//lib/rexml/element.rb#1367
1722
1762
  def add_attributes(hash); end
1723
1763
 
1724
1764
  # :call-seq:
@@ -1755,7 +1795,7 @@ class REXML::Element < ::REXML::Parent
1755
1795
  # e0.add_element(e1, {'bat' => '0', 'bam' => '1'})
1756
1796
  # e0[1] # => <bar bat='0' bam='1'/>
1757
1797
  #
1758
- # source://rexml//lib/rexml/element.rb#732
1798
+ # source://rexml//lib/rexml/element.rb#725
1759
1799
  def add_element(element, attrs = T.unsafe(nil)); end
1760
1800
 
1761
1801
  # :call-seq:
@@ -1776,7 +1816,7 @@ class REXML::Element < ::REXML::Parent
1776
1816
  # e.add_namespace('baz', 'bat')
1777
1817
  # e.namespaces # => {"xmlns"=>"bar", "baz"=>"bat"}
1778
1818
  #
1779
- # source://rexml//lib/rexml/element.rb#655
1819
+ # source://rexml//lib/rexml/element.rb#648
1780
1820
  def add_namespace(prefix, uri = T.unsafe(nil)); end
1781
1821
 
1782
1822
  # :call-seq:
@@ -1818,7 +1858,7 @@ class REXML::Element < ::REXML::Parent
1818
1858
  # a.add_text(REXML::Text.new('baz'))
1819
1859
  # a.to_a # => ["foo", <b/>, "bar", "baz", "baz"]
1820
1860
  #
1821
- # source://rexml//lib/rexml/element.rb#1147
1861
+ # source://rexml//lib/rexml/element.rb#1139
1822
1862
  def add_text(text); end
1823
1863
 
1824
1864
  # :call-seq:
@@ -1850,7 +1890,7 @@ class REXML::Element < ::REXML::Parent
1850
1890
  # document.root.attribute("x") # => x='x'
1851
1891
  # document.root.attribute("x", "a") # => a:x='a:x'
1852
1892
  #
1853
- # source://rexml//lib/rexml/element.rb#1287
1893
+ # source://rexml//lib/rexml/element.rb#1279
1854
1894
  def attribute(name, namespace = T.unsafe(nil)); end
1855
1895
 
1856
1896
  # Mechanisms for accessing attributes and child elements of this
@@ -1875,7 +1915,7 @@ class REXML::Element < ::REXML::Parent
1875
1915
  # cds.frozen? # => true
1876
1916
  # cds.map {|cd| cd.class } # => [REXML::CData, REXML::CData]
1877
1917
  #
1878
- # source://rexml//lib/rexml/element.rb#1420
1918
+ # source://rexml//lib/rexml/element.rb#1411
1879
1919
  def cdatas; end
1880
1920
 
1881
1921
  # :call-seq:
@@ -1908,7 +1948,7 @@ class REXML::Element < ::REXML::Parent
1908
1948
  # cs.map {|c| c.class } # => [REXML::Comment, REXML::Comment]
1909
1949
  # cs.map {|c| c.to_s } # => ["foo", "bar"]
1910
1950
  #
1911
- # source://rexml//lib/rexml/element.rb#1441
1951
+ # source://rexml//lib/rexml/element.rb#1432
1912
1952
  def comments; end
1913
1953
 
1914
1954
  # The context holds information about the processing environment, such as
@@ -1934,7 +1974,7 @@ class REXML::Element < ::REXML::Parent
1934
1974
  # e.delete_attribute('bar') # => <bar/>
1935
1975
  # e.delete_attribute('bar') # => nil
1936
1976
  #
1937
- # source://rexml//lib/rexml/element.rb#1395
1977
+ # source://rexml//lib/rexml/element.rb#1386
1938
1978
  def delete_attribute(key); end
1939
1979
 
1940
1980
  # :call-seq:
@@ -1974,7 +2014,7 @@ class REXML::Element < ::REXML::Parent
1974
2014
  # a.delete_element('//c') # => <c/>
1975
2015
  # a.delete_element('//c') # => nil
1976
2016
  #
1977
- # source://rexml//lib/rexml/element.rb#778
2017
+ # source://rexml//lib/rexml/element.rb#771
1978
2018
  def delete_element(element); end
1979
2019
 
1980
2020
  # :call-seq:
@@ -1999,7 +2039,7 @@ class REXML::Element < ::REXML::Parent
1999
2039
  # d.root.delete_namespace('nosuch')
2000
2040
  # d.to_s # => "<a/>"
2001
2041
  #
2002
- # source://rexml//lib/rexml/element.rb#687
2042
+ # source://rexml//lib/rexml/element.rb#680
2003
2043
  def delete_namespace(namespace = T.unsafe(nil)); end
2004
2044
 
2005
2045
  # :call-seq:
@@ -2042,7 +2082,7 @@ class REXML::Element < ::REXML::Parent
2042
2082
  # <d> ... </>
2043
2083
  # <e/>
2044
2084
  #
2045
- # source://rexml//lib/rexml/element.rb#930
2085
+ # source://rexml//lib/rexml/element.rb#923
2046
2086
  def each_element(xpath = T.unsafe(nil), &block); end
2047
2087
 
2048
2088
  # :call-seq:
@@ -2094,7 +2134,7 @@ class REXML::Element < ::REXML::Parent
2094
2134
  #
2095
2135
  # <d id='1'/>
2096
2136
  #
2097
- # source://rexml//lib/rexml/element.rb#847
2137
+ # source://rexml//lib/rexml/element.rb#840
2098
2138
  def each_element_with_attribute(key, value = T.unsafe(nil), max = T.unsafe(nil), name = T.unsafe(nil), &block); end
2099
2139
 
2100
2140
  # :call-seq:
@@ -2144,7 +2184,7 @@ class REXML::Element < ::REXML::Parent
2144
2184
  #
2145
2185
  # <c> ... </>
2146
2186
  #
2147
- # source://rexml//lib/rexml/element.rb#904
2187
+ # source://rexml//lib/rexml/element.rb#897
2148
2188
  def each_element_with_text(text = T.unsafe(nil), max = T.unsafe(nil), name = T.unsafe(nil), &block); end
2149
2189
 
2150
2190
  # Mechanisms for accessing attributes and child elements of this
@@ -2168,7 +2208,7 @@ class REXML::Element < ::REXML::Parent
2168
2208
  # d = REXML::Document.new(xml_string)
2169
2209
  # d.root.get_elements('//a') # => [<a level='1'> ... </>, <a level='2'/>]
2170
2210
  #
2171
- # source://rexml//lib/rexml/element.rb#949
2211
+ # source://rexml//lib/rexml/element.rb#942
2172
2212
  def get_elements(xpath); end
2173
2213
 
2174
2214
  # :call-seq:
@@ -2188,7 +2228,7 @@ class REXML::Element < ::REXML::Parent
2188
2228
  #
2189
2229
  # d.root.get_text(1) # => "this is bold!"
2190
2230
  #
2191
- # source://rexml//lib/rexml/element.rb#1053
2231
+ # source://rexml//lib/rexml/element.rb#1045
2192
2232
  def get_text(path = T.unsafe(nil)); end
2193
2233
 
2194
2234
  # :call-seq:
@@ -2203,7 +2243,7 @@ class REXML::Element < ::REXML::Parent
2203
2243
  #
2204
2244
  # @return [Boolean]
2205
2245
  #
2206
- # source://rexml//lib/rexml/element.rb#1315
2246
+ # source://rexml//lib/rexml/element.rb#1306
2207
2247
  def has_attributes?; end
2208
2248
 
2209
2249
  # :call-seq:
@@ -2220,7 +2260,7 @@ class REXML::Element < ::REXML::Parent
2220
2260
  #
2221
2261
  # @return [Boolean]
2222
2262
  #
2223
- # source://rexml//lib/rexml/element.rb#794
2263
+ # source://rexml//lib/rexml/element.rb#787
2224
2264
  def has_elements?; end
2225
2265
 
2226
2266
  # :call-seq:
@@ -2237,7 +2277,7 @@ class REXML::Element < ::REXML::Parent
2237
2277
  #
2238
2278
  # @return [Boolean]
2239
2279
  #
2240
- # source://rexml//lib/rexml/element.rb#1002
2280
+ # source://rexml//lib/rexml/element.rb#995
2241
2281
  def has_text?; end
2242
2282
 
2243
2283
  # :call-seq:
@@ -2247,7 +2287,7 @@ class REXML::Element < ::REXML::Parent
2247
2287
  #
2248
2288
  # See {Element Context}[../doc/rexml/context_rdoc.html].
2249
2289
  #
2250
- # source://rexml//lib/rexml/element.rb#513
2290
+ # source://rexml//lib/rexml/element.rb#512
2251
2291
  def ignore_whitespace_nodes; end
2252
2292
 
2253
2293
  # :call-seq:
@@ -2291,7 +2331,7 @@ class REXML::Element < ::REXML::Parent
2291
2331
  # is.map {|i| i.class } # => [REXML::Instruction, REXML::Instruction]
2292
2332
  # is.map {|i| i.to_s } # => ["<?target0 foo?>", "<?target1 bar?>"]
2293
2333
  #
2294
- # source://rexml//lib/rexml/element.rb#1462
2334
+ # source://rexml//lib/rexml/element.rb#1453
2295
2335
  def instructions; end
2296
2336
 
2297
2337
  # :call-seq:
@@ -2314,7 +2354,7 @@ class REXML::Element < ::REXML::Parent
2314
2354
  # b.namespace('y') # => "2"
2315
2355
  # b.namespace('nosuch') # => nil
2316
2356
  #
2317
- # source://rexml//lib/rexml/element.rb#618
2357
+ # source://rexml//lib/rexml/element.rb#619
2318
2358
  def namespace(prefix = T.unsafe(nil)); end
2319
2359
 
2320
2360
  # :call-seq:
@@ -2336,7 +2376,7 @@ class REXML::Element < ::REXML::Parent
2336
2376
  # d.elements['//b'].namespaces # => {"x"=>"1", "y"=>"2"}
2337
2377
  # d.elements['//c'].namespaces # => {"x"=>"1", "y"=>"2", "z"=>"3"}
2338
2378
  #
2339
- # source://rexml//lib/rexml/element.rb#591
2379
+ # source://rexml//lib/rexml/element.rb#590
2340
2380
  def namespaces; end
2341
2381
 
2342
2382
  # :call-seq:
@@ -2349,7 +2389,7 @@ class REXML::Element < ::REXML::Parent
2349
2389
  # d.root.elements['b'].next_element #-> <c/>
2350
2390
  # d.root.elements['c'].next_element #-> nil
2351
2391
  #
2352
- # source://rexml//lib/rexml/element.rb#963
2392
+ # source://rexml//lib/rexml/element.rb#956
2353
2393
  def next_element; end
2354
2394
 
2355
2395
  # :call-seq:
@@ -2361,7 +2401,7 @@ class REXML::Element < ::REXML::Parent
2361
2401
  # a = d.root # => <a/>
2362
2402
  # a.node_type # => :element
2363
2403
  #
2364
- # source://rexml//lib/rexml/element.rb#1168
2404
+ # source://rexml//lib/rexml/element.rb#1160
2365
2405
  def node_type; end
2366
2406
 
2367
2407
  # :call-seq:
@@ -2383,7 +2423,7 @@ class REXML::Element < ::REXML::Parent
2383
2423
  # d.elements['//b'].prefixes # => ["x", "y"]
2384
2424
  # d.elements['//c'].prefixes # => ["x", "y", "z"]
2385
2425
  #
2386
- # source://rexml//lib/rexml/element.rb#565
2426
+ # source://rexml//lib/rexml/element.rb#564
2387
2427
  def prefixes; end
2388
2428
 
2389
2429
  # :call-seq:
@@ -2396,7 +2436,7 @@ class REXML::Element < ::REXML::Parent
2396
2436
  # d.root.elements['c'].previous_element #-> <b/>
2397
2437
  # d.root.elements['b'].previous_element #-> nil
2398
2438
  #
2399
- # source://rexml//lib/rexml/element.rb#979
2439
+ # source://rexml//lib/rexml/element.rb#972
2400
2440
  def previous_element; end
2401
2441
 
2402
2442
  # :call-seq:
@@ -2409,7 +2449,7 @@ class REXML::Element < ::REXML::Parent
2409
2449
  # The evaluation is tested against +expanded_name+, and so is namespace
2410
2450
  # sensitive.
2411
2451
  #
2412
- # source://rexml//lib/rexml/element.rb#533
2452
+ # source://rexml//lib/rexml/element.rb#532
2413
2453
  def raw; end
2414
2454
 
2415
2455
  # :call-seq:
@@ -2494,7 +2534,7 @@ class REXML::Element < ::REXML::Parent
2494
2534
  # Note also that the text note is retrieved by method get_text,
2495
2535
  # and so is always normalized text.
2496
2536
  #
2497
- # source://rexml//lib/rexml/element.rb#1030
2537
+ # source://rexml//lib/rexml/element.rb#1023
2498
2538
  def text(path = T.unsafe(nil)); end
2499
2539
 
2500
2540
  # :call-seq:
@@ -2522,7 +2562,7 @@ class REXML::Element < ::REXML::Parent
2522
2562
  #
2523
2563
  # d.root.text = nil #-> '<a><b/><c/></a>'
2524
2564
  #
2525
- # source://rexml//lib/rexml/element.rb#1089
2565
+ # source://rexml//lib/rexml/element.rb#1081
2526
2566
  def text=(text); end
2527
2567
 
2528
2568
  # :call-seq:
@@ -2537,7 +2577,7 @@ class REXML::Element < ::REXML::Parent
2537
2577
  # ts.map {|t| t.class } # => [REXML::Text, REXML::Text]
2538
2578
  # ts.map {|t| t.to_s } # => ["text", "more"]
2539
2579
  #
2540
- # source://rexml//lib/rexml/element.rb#1478
2580
+ # source://rexml//lib/rexml/element.rb#1469
2541
2581
  def texts; end
2542
2582
 
2543
2583
  # :call-seq:
@@ -2551,7 +2591,7 @@ class REXML::Element < ::REXML::Parent
2551
2591
  # The evaluation is tested against the element's +expanded_name+,
2552
2592
  # and so is namespace-sensitive.
2553
2593
  #
2554
- # source://rexml//lib/rexml/element.rb#490
2594
+ # source://rexml//lib/rexml/element.rb#489
2555
2595
  def whitespace; end
2556
2596
 
2557
2597
  # == DEPRECATED
@@ -2577,7 +2617,7 @@ class REXML::Element < ::REXML::Parent
2577
2617
  # doc.write( out ) #-> doc is written to the string 'out'
2578
2618
  # doc.write( $stdout ) #-> doc written to the console
2579
2619
  #
2580
- # source://rexml//lib/rexml/element.rb#1504
2620
+ # source://rexml//lib/rexml/element.rb#1495
2581
2621
  def write(output = T.unsafe(nil), indent = T.unsafe(nil), transitive = T.unsafe(nil), ie_hack = T.unsafe(nil)); end
2582
2622
 
2583
2623
  # :call-seq:
@@ -2600,25 +2640,28 @@ class REXML::Element < ::REXML::Parent
2600
2640
  # e = REXML::Element.new('foo')
2601
2641
  # e.xpath # => "foo"
2602
2642
  #
2603
- # source://rexml//lib/rexml/element.rb#1192
2643
+ # source://rexml//lib/rexml/element.rb#1184
2604
2644
  def xpath; end
2605
2645
 
2606
2646
  private
2607
2647
 
2608
- # source://rexml//lib/rexml/element.rb#1521
2648
+ # source://rexml//lib/rexml/element.rb#1519
2609
2649
  def __to_xpath_helper(node); end
2610
2650
 
2651
+ # source://rexml//lib/rexml/element.rb#1511
2652
+ def calculate_namespaces; end
2653
+
2611
2654
  # A private helper method
2612
2655
  #
2613
- # source://rexml//lib/rexml/element.rb#1536
2656
+ # source://rexml//lib/rexml/element.rb#1534
2614
2657
  def each_with_something(test, max = T.unsafe(nil), name = T.unsafe(nil)); end
2615
2658
  end
2616
2659
 
2617
- # source://rexml//lib/rexml/doctype.rb#261
2660
+ # source://rexml//lib/rexml/doctype.rb#257
2618
2661
  class REXML::ElementDecl < ::REXML::Declaration
2619
2662
  # @return [ElementDecl] a new instance of ElementDecl
2620
2663
  #
2621
- # source://rexml//lib/rexml/doctype.rb#262
2664
+ # source://rexml//lib/rexml/doctype.rb#258
2622
2665
  def initialize(src); end
2623
2666
  end
2624
2667
 
@@ -2664,7 +2707,7 @@ end
2664
2707
  # elements = d.root.elements
2665
2708
  # elements # => #<REXML::Elements @element=<bookstore> ... </>>
2666
2709
  #
2667
- # source://rexml//lib/rexml/element.rb#1591
2710
+ # source://rexml//lib/rexml/element.rb#1589
2668
2711
  class REXML::Elements
2669
2712
  include ::Enumerable
2670
2713
 
@@ -2681,7 +2724,7 @@ class REXML::Elements
2681
2724
  #
2682
2725
  # @return [Elements] a new instance of Elements
2683
2726
  #
2684
- # source://rexml//lib/rexml/element.rb#1604
2727
+ # source://rexml//lib/rexml/element.rb#1602
2685
2728
  def initialize(parent); end
2686
2729
 
2687
2730
  # :call-seq:
@@ -2746,7 +2789,7 @@ class REXML::Elements
2746
2789
  # element.parent # => <bookstore> ... </>
2747
2790
  # element.context # => {:raw=>:all}
2748
2791
  #
2749
- # source://rexml//lib/rexml/element.rb#1921
2792
+ # source://rexml//lib/rexml/element.rb#1927
2750
2793
  def <<(element = T.unsafe(nil)); end
2751
2794
 
2752
2795
  # :call-seq:
@@ -2802,7 +2845,7 @@ class REXML::Elements
2802
2845
  # eles[4, 'book'] # => <book category='web' cover='paperback'> ... </>
2803
2846
  # eles[5, 'book'] # => nil
2804
2847
  #
2805
- # source://rexml//lib/rexml/element.rb#1676
2848
+ # source://rexml//lib/rexml/element.rb#1674
2806
2849
  def [](index, name = T.unsafe(nil)); end
2807
2850
 
2808
2851
  # :call-seq:
@@ -2841,7 +2884,7 @@ class REXML::Elements
2841
2884
  # eles[50] = REXML::Text.new('bar') # => "bar"
2842
2885
  # eles.size # => 5
2843
2886
  #
2844
- # source://rexml//lib/rexml/element.rb#1731
2887
+ # source://rexml//lib/rexml/element.rb#1725
2845
2888
  def []=(index, element); end
2846
2889
 
2847
2890
  # :call-seq:
@@ -2906,7 +2949,7 @@ class REXML::Elements
2906
2949
  # element.parent # => <bookstore> ... </>
2907
2950
  # element.context # => {:raw=>:all}
2908
2951
  #
2909
- # source://rexml//lib/rexml/element.rb#1921
2952
+ # source://rexml//lib/rexml/element.rb#1915
2910
2953
  def add(element = T.unsafe(nil)); end
2911
2954
 
2912
2955
  # :call-seq:
@@ -2926,7 +2969,7 @@ class REXML::Elements
2926
2969
  # xpath = '//book [@category="web"]'
2927
2970
  # elements.collect(xpath) {|element| element.size } # => [17, 9]
2928
2971
  #
2929
- # source://rexml//lib/rexml/element.rb#1984
2972
+ # source://rexml//lib/rexml/element.rb#1978
2930
2973
  def collect(xpath = T.unsafe(nil)); end
2931
2974
 
2932
2975
  # :call-seq:
@@ -2970,7 +3013,7 @@ class REXML::Elements
2970
3013
  # elements.delete('//book [@category="children"]') # => <book category='children'> ... </>
2971
3014
  # elements.delete('//nosuch') # => nil
2972
3015
  #
2973
- # source://rexml//lib/rexml/element.rb#1821
3016
+ # source://rexml//lib/rexml/element.rb#1815
2974
3017
  def delete(element); end
2975
3018
 
2976
3019
  # :call-seq:
@@ -2990,7 +3033,7 @@ class REXML::Elements
2990
3033
  # elements.size # => 0
2991
3034
  # elements.delete_all('//book') # => []
2992
3035
  #
2993
- # source://rexml//lib/rexml/element.rb#1847
3036
+ # source://rexml//lib/rexml/element.rb#1841
2994
3037
  def delete_all(xpath); end
2995
3038
 
2996
3039
  # :call-seq:
@@ -3021,7 +3064,7 @@ class REXML::Elements
3021
3064
  # <book category='web'> ... </>
3022
3065
  # <book category='web' cover='paperback'> ... </>
3023
3066
  #
3024
- # source://rexml//lib/rexml/element.rb#1963
3067
+ # source://rexml//lib/rexml/element.rb#1957
3025
3068
  def each(xpath = T.unsafe(nil)); end
3026
3069
 
3027
3070
  # :call-seq:
@@ -3036,7 +3079,7 @@ class REXML::Elements
3036
3079
  #
3037
3080
  # @return [Boolean]
3038
3081
  #
3039
- # source://rexml//lib/rexml/element.rb#1751
3082
+ # source://rexml//lib/rexml/element.rb#1745
3040
3083
  def empty?; end
3041
3084
 
3042
3085
  # :call-seq:
@@ -3053,7 +3096,7 @@ class REXML::Elements
3053
3096
  # elements.index(ele_4) # => 3
3054
3097
  # elements.index(ele_3) # => -1
3055
3098
  #
3056
- # source://rexml//lib/rexml/element.rb#1769
3099
+ # source://rexml//lib/rexml/element.rb#1763
3057
3100
  def index(element); end
3058
3101
 
3059
3102
  # :call-seq:
@@ -3133,7 +3176,7 @@ class REXML::Elements
3133
3176
  # total += element.size
3134
3177
  # end # => 26
3135
3178
  #
3136
- # source://rexml//lib/rexml/element.rb#2069
3179
+ # source://rexml//lib/rexml/element.rb#2063
3137
3180
  def inject(xpath = T.unsafe(nil), initial = T.unsafe(nil)); end
3138
3181
 
3139
3182
  # :call-seq:
@@ -3147,7 +3190,7 @@ class REXML::Elements
3147
3190
  # elements = REXML::Elements.new(d.root)
3148
3191
  # elements.parent == d.root # => true
3149
3192
  #
3150
- # source://rexml//lib/rexml/element.rb#1619
3193
+ # source://rexml//lib/rexml/element.rb#1617
3151
3194
  def parent; end
3152
3195
 
3153
3196
  # :call-seq:
@@ -3159,7 +3202,7 @@ class REXML::Elements
3159
3202
  # d.root.elements.size # => 3 # Three elements.
3160
3203
  # d.root.size # => 6 # Three elements plus three text nodes..
3161
3204
  #
3162
- # source://rexml//lib/rexml/element.rb#2093
3205
+ # source://rexml//lib/rexml/element.rb#2087
3163
3206
  def size; end
3164
3207
 
3165
3208
  # :call-seq:
@@ -3180,23 +3223,23 @@ class REXML::Elements
3180
3223
  #
3181
3224
  # elements.to_a('//c') # => [<c/>]
3182
3225
  #
3183
- # source://rexml//lib/rexml/element.rb#2117
3226
+ # source://rexml//lib/rexml/element.rb#2111
3184
3227
  def to_a(xpath = T.unsafe(nil)); end
3185
3228
 
3186
3229
  private
3187
3230
 
3188
3231
  # Private helper class. Removes quotes from quoted strings
3189
3232
  #
3190
- # source://rexml//lib/rexml/element.rb#2125
3233
+ # source://rexml//lib/rexml/element.rb#2119
3191
3234
  def literalize(name); end
3192
3235
  end
3193
3236
 
3194
3237
  # source://rexml//lib/rexml/encoding.rb#4
3195
3238
  module REXML::Encoding
3196
- # source://rexml//lib/rexml/encoding.rb#29
3239
+ # source://rexml//lib/rexml/encoding.rb#26
3197
3240
  def decode(string); end
3198
3241
 
3199
- # source://rexml//lib/rexml/encoding.rb#25
3242
+ # source://rexml//lib/rexml/encoding.rb#22
3200
3243
  def encode(string); end
3201
3244
 
3202
3245
  # ID ---> Encoding name
@@ -3209,7 +3252,7 @@ module REXML::Encoding
3209
3252
 
3210
3253
  private
3211
3254
 
3212
- # source://rexml//lib/rexml/encoding.rb#34
3255
+ # source://rexml//lib/rexml/encoding.rb#31
3213
3256
  def find_encoding(name); end
3214
3257
  end
3215
3258
 
@@ -3250,7 +3293,7 @@ class REXML::Entity < ::REXML::Child
3250
3293
  # Returns the value of this entity unprocessed -- raw. This is the
3251
3294
  # normalized value; that is, with all %ent; and &ent; entities intact
3252
3295
  #
3253
- # source://rexml//lib/rexml/entity.rb#83
3296
+ # source://rexml//lib/rexml/entity.rb#86
3254
3297
  def normalized; end
3255
3298
 
3256
3299
  # Returns the value of attribute pubid.
@@ -3265,7 +3308,7 @@ class REXML::Entity < ::REXML::Child
3265
3308
 
3266
3309
  # Returns this entity as a string. See write().
3267
3310
  #
3268
- # source://rexml//lib/rexml/entity.rb#117
3311
+ # source://rexml//lib/rexml/entity.rb#120
3269
3312
  def to_s; end
3270
3313
 
3271
3314
  # Evaluates to the unnormalized value of this entity; that is, replacing
@@ -3288,7 +3331,7 @@ class REXML::Entity < ::REXML::Child
3288
3331
  # indent::
3289
3332
  # *DEPRECATED* and ignored
3290
3333
  #
3291
- # source://rexml//lib/rexml/entity.rb#95
3334
+ # source://rexml//lib/rexml/entity.rb#98
3292
3335
  def write(out, indent = T.unsafe(nil)); end
3293
3336
 
3294
3337
  class << self
@@ -3302,17 +3345,17 @@ class REXML::Entity < ::REXML::Child
3302
3345
  end
3303
3346
  end
3304
3347
 
3305
- # source://rexml//lib/rexml/doctype.rb#267
3348
+ # source://rexml//lib/rexml/doctype.rb#263
3306
3349
  class REXML::ExternalEntity < ::REXML::Child
3307
3350
  # @return [ExternalEntity] a new instance of ExternalEntity
3308
3351
  #
3309
- # source://rexml//lib/rexml/doctype.rb#268
3352
+ # source://rexml//lib/rexml/doctype.rb#264
3310
3353
  def initialize(src); end
3311
3354
 
3312
- # source://rexml//lib/rexml/doctype.rb#272
3355
+ # source://rexml//lib/rexml/doctype.rb#268
3313
3356
  def to_s; end
3314
3357
 
3315
- # source://rexml//lib/rexml/doctype.rb#275
3358
+ # source://rexml//lib/rexml/doctype.rb#271
3316
3359
  def write(output, indent); end
3317
3360
  end
3318
3361
 
@@ -3435,46 +3478,269 @@ class REXML::Formatters::Pretty < ::REXML::Formatters::Default
3435
3478
  def wrap(string, width); end
3436
3479
  end
3437
3480
 
3481
+ # If you add a method, keep in mind two things:
3482
+ # (1) the first argument will always be a list of nodes from which to
3483
+ # filter. In the case of context methods (such as position), the function
3484
+ # should return an array with a value for each child in the array.
3485
+ # (2) all method calls from XML will have "-" replaced with "_".
3486
+ # Therefore, in XML, "local-name()" is identical (and actually becomes)
3487
+ # "local_name()"
3488
+ #
3489
+ # source://rexml//lib/rexml/functions.rb#10
3490
+ module REXML::Functions
3491
+ class << self
3492
+ # source://rexml//lib/rexml/functions.rb#317
3493
+ def boolean(object = T.unsafe(nil)); end
3494
+
3495
+ # source://rexml//lib/rexml/functions.rb#417
3496
+ def ceiling(number); end
3497
+
3498
+ # source://rexml//lib/rexml/functions.rb#370
3499
+ def compare_language(lang1, lang2); end
3500
+
3501
+ # source://rexml//lib/rexml/functions.rb#190
3502
+ def concat(*objects); end
3503
+
3504
+ # Fixed by Mike Stok
3505
+ #
3506
+ # source://rexml//lib/rexml/functions.rb#204
3507
+ def contains(string, test); end
3508
+
3509
+ # source://rexml//lib/rexml/functions.rb#38
3510
+ def context=(value); end
3511
+
3512
+ # Returns the size of the given list of nodes.
3513
+ #
3514
+ # source://rexml//lib/rexml/functions.rb#60
3515
+ def count(node_set); end
3516
+
3517
+ # UNTESTED
3518
+ #
3519
+ # source://rexml//lib/rexml/functions.rb#347
3520
+ def false; end
3521
+
3522
+ # source://rexml//lib/rexml/functions.rb#413
3523
+ def floor(number); end
3524
+
3525
+ # Helper method.
3526
+ #
3527
+ # source://rexml//lib/rexml/functions.rb#87
3528
+ def get_namespace(node_set = T.unsafe(nil)); end
3529
+
3530
+ # Since REXML is non-validating, this method is not implemented as it
3531
+ # requires a DTD
3532
+ #
3533
+ # source://rexml//lib/rexml/functions.rb#66
3534
+ def id(object); end
3535
+
3536
+ # UNTESTED
3537
+ #
3538
+ # source://rexml//lib/rexml/functions.rb#352
3539
+ def lang(language); end
3540
+
3541
+ # Returns the last node of the given list of nodes.
3542
+ #
3543
+ # source://rexml//lib/rexml/functions.rb#51
3544
+ def last; end
3545
+
3546
+ # source://rexml//lib/rexml/functions.rb#69
3547
+ def local_name(node_set = T.unsafe(nil)); end
3548
+
3549
+ # source://rexml//lib/rexml/functions.rb#80
3550
+ def name(node_set = T.unsafe(nil)); end
3551
+
3552
+ # source://rexml//lib/rexml/functions.rb#35
3553
+ def namespace_context; end
3554
+
3555
+ # source://rexml//lib/rexml/functions.rb#33
3556
+ def namespace_context=(x); end
3557
+
3558
+ # source://rexml//lib/rexml/functions.rb#76
3559
+ def namespace_uri(node_set = T.unsafe(nil)); end
3560
+
3561
+ # source://rexml//lib/rexml/functions.rb#265
3562
+ def normalize_space(string = T.unsafe(nil)); end
3563
+
3564
+ # UNTESTED
3565
+ #
3566
+ # source://rexml//lib/rexml/functions.rb#337
3567
+ def not(object); end
3568
+
3569
+ # a string that consists of optional whitespace followed by an optional
3570
+ # minus sign followed by a Number followed by whitespace is converted to
3571
+ # the IEEE 754 number that is nearest (according to the IEEE 754
3572
+ # round-to-nearest rule) to the mathematical value represented by the
3573
+ # string; any other string is converted to NaN
3574
+ #
3575
+ # boolean true is converted to 1; boolean false is converted to 0
3576
+ #
3577
+ # a node-set is first converted to a string as if by a call to the string
3578
+ # function and then converted in the same way as a string argument
3579
+ #
3580
+ # an object of a type other than the four basic types is converted to a
3581
+ # number in a way that is dependent on that type
3582
+ #
3583
+ # source://rexml//lib/rexml/functions.rb#387
3584
+ def number(object = T.unsafe(nil)); end
3585
+
3586
+ # source://rexml//lib/rexml/functions.rb#55
3587
+ def position; end
3588
+
3589
+ # source://rexml//lib/rexml/functions.rb#432
3590
+ def processing_instruction(node); end
3591
+
3592
+ # source://rexml//lib/rexml/functions.rb#421
3593
+ def round(number); end
3594
+
3595
+ # source://rexml//lib/rexml/functions.rb#436
3596
+ def send(name, *args); end
3597
+
3598
+ # source://rexml//lib/rexml/functions.rb#26
3599
+ def singleton_method_added(name); end
3600
+
3601
+ # Fixed by Mike Stok
3602
+ #
3603
+ # source://rexml//lib/rexml/functions.rb#199
3604
+ def starts_with(string, test); end
3605
+
3606
+ # A node-set is converted to a string by returning the string-value of the
3607
+ # node in the node-set that is first in document order. If the node-set is
3608
+ # empty, an empty string is returned.
3609
+ #
3610
+ # A number is converted to a string as follows
3611
+ #
3612
+ # NaN is converted to the string NaN
3613
+ #
3614
+ # positive zero is converted to the string 0
3615
+ #
3616
+ # negative zero is converted to the string 0
3617
+ #
3618
+ # positive infinity is converted to the string Infinity
3619
+ #
3620
+ # negative infinity is converted to the string -Infinity
3621
+ #
3622
+ # if the number is an integer, the number is represented in decimal form
3623
+ # as a Number with no decimal point and no leading zeros, preceded by a
3624
+ # minus sign (-) if the number is negative
3625
+ #
3626
+ # otherwise, the number is represented in decimal form as a Number
3627
+ # including a decimal point with at least one digit before the decimal
3628
+ # point and at least one digit after the decimal point, preceded by a
3629
+ # minus sign (-) if the number is negative; there must be no leading zeros
3630
+ # before the decimal point apart possibly from the one required digit
3631
+ # immediately before the decimal point; beyond the one required digit
3632
+ # after the decimal point there must be as many, but only as many, more
3633
+ # digits as are needed to uniquely distinguish the number from all other
3634
+ # IEEE 754 numeric values.
3635
+ #
3636
+ # The boolean false value is converted to the string false. The boolean
3637
+ # true value is converted to the string true.
3638
+ #
3639
+ # An object of a type other than the four basic types is converted to a
3640
+ # string in a way that is dependent on that type.
3641
+ #
3642
+ # source://rexml//lib/rexml/functions.rb#138
3643
+ def string(object = T.unsafe(nil)); end
3644
+
3645
+ # UNTESTED
3646
+ #
3647
+ # source://rexml//lib/rexml/functions.rb#261
3648
+ def string_length(string); end
3649
+
3650
+ # A node-set is converted to a string by
3651
+ # returning the concatenation of the string-value
3652
+ # of each of the children of the node in the
3653
+ # node-set that is first in document order.
3654
+ # If the node-set is empty, an empty string is returned.
3655
+ #
3656
+ # source://rexml//lib/rexml/functions.rb#178
3657
+ def string_value(o); end
3658
+
3659
+ # Take equal portions of Mike Stok and Sean Russell; mix
3660
+ # vigorously, and pour into a tall, chilled glass. Serves 10,000.
3661
+ #
3662
+ # source://rexml//lib/rexml/functions.rb#228
3663
+ def substring(string, start, length = T.unsafe(nil)); end
3664
+
3665
+ # Kouhei fixed this too
3666
+ #
3667
+ # source://rexml//lib/rexml/functions.rb#220
3668
+ def substring_after(string, test); end
3669
+
3670
+ # Kouhei fixed this
3671
+ #
3672
+ # source://rexml//lib/rexml/functions.rb#209
3673
+ def substring_before(string, test); end
3674
+
3675
+ # source://rexml//lib/rexml/functions.rb#408
3676
+ def sum(nodes); end
3677
+
3678
+ # source://rexml//lib/rexml/functions.rb#40
3679
+ def text; end
3680
+
3681
+ # This is entirely Mike Stok's beast
3682
+ #
3683
+ # source://rexml//lib/rexml/functions.rb#275
3684
+ def translate(string, tr1, tr2); end
3685
+
3686
+ # UNTESTED
3687
+ #
3688
+ # source://rexml//lib/rexml/functions.rb#342
3689
+ def true; end
3690
+
3691
+ # source://rexml//lib/rexml/functions.rb#36
3692
+ def variables; end
3693
+
3694
+ # source://rexml//lib/rexml/functions.rb#34
3695
+ def variables=(x); end
3696
+ end
3697
+ end
3698
+
3438
3699
  # A Source that wraps an IO. See the Source class for method
3439
3700
  # documentation
3440
3701
  #
3441
- # source://rexml//lib/rexml/source.rb#182
3702
+ # source://rexml//lib/rexml/source.rb#220
3442
3703
  class REXML::IOSource < ::REXML::Source
3443
3704
  # block_size has been deprecated
3444
3705
  #
3445
3706
  # @return [IOSource] a new instance of IOSource
3446
3707
  #
3447
- # source://rexml//lib/rexml/source.rb#186
3708
+ # source://rexml//lib/rexml/source.rb#224
3448
3709
  def initialize(arg, block_size = T.unsafe(nil), encoding = T.unsafe(nil)); end
3449
3710
 
3450
3711
  # @return the current line in the source
3451
3712
  #
3452
- # source://rexml//lib/rexml/source.rb#274
3713
+ # source://rexml//lib/rexml/source.rb#329
3453
3714
  def current_line; end
3454
3715
 
3455
3716
  # @return [Boolean]
3456
3717
  #
3457
- # source://rexml//lib/rexml/source.rb#269
3718
+ # source://rexml//lib/rexml/source.rb#324
3458
3719
  def empty?; end
3459
3720
 
3460
- # source://rexml//lib/rexml/source.rb#246
3721
+ # source://rexml//lib/rexml/source.rb#284
3461
3722
  def ensure_buffer; end
3462
3723
 
3463
- # source://rexml//lib/rexml/source.rb#250
3724
+ # source://rexml//lib/rexml/source.rb#288
3464
3725
  def match(pattern, cons = T.unsafe(nil)); end
3465
3726
 
3466
- # source://rexml//lib/rexml/source.rb#207
3727
+ # @return [Boolean]
3728
+ #
3729
+ # source://rexml//lib/rexml/source.rb#307
3730
+ def match?(pattern, cons = T.unsafe(nil)); end
3731
+
3732
+ # source://rexml//lib/rexml/source.rb#245
3467
3733
  def read(term = T.unsafe(nil), min_bytes = T.unsafe(nil)); end
3468
3734
 
3469
- # source://rexml//lib/rexml/source.rb#228
3735
+ # source://rexml//lib/rexml/source.rb#266
3470
3736
  def read_until(term); end
3471
3737
 
3472
3738
  private
3473
3739
 
3474
- # source://rexml//lib/rexml/source.rb#316
3740
+ # source://rexml//lib/rexml/source.rb#376
3475
3741
  def encoding_updated; end
3476
3742
 
3477
- # source://rexml//lib/rexml/source.rb#296
3743
+ # source://rexml//lib/rexml/source.rb#351
3478
3744
  def readline(term = T.unsafe(nil)); end
3479
3745
  end
3480
3746
 
@@ -3674,6 +3940,11 @@ module REXML::Namespace
3674
3940
  # source://rexml//lib/rexml/namespace.rb#43
3675
3941
  def has_name?(other, ns = T.unsafe(nil)); end
3676
3942
 
3943
+ # The name of the object, valid if set
3944
+ #
3945
+ # source://rexml//lib/rexml/namespace.rb#53
3946
+ def local_name; end
3947
+
3677
3948
  # The name of the object, valid if set
3678
3949
  #
3679
3950
  # source://rexml//lib/rexml/namespace.rb#9
@@ -3698,48 +3969,96 @@ end
3698
3969
  # source://rexml//lib/rexml/namespace.rb#13
3699
3970
  REXML::Namespace::NAME_WITHOUT_NAMESPACE = T.let(T.unsafe(nil), Regexp)
3700
3971
 
3701
- # source://rexml//lib/rexml/doctype.rb#280
3972
+ # Represents a node in the tree. Nodes are never encountered except as
3973
+ # superclasses of other objects. Nodes have siblings.
3974
+ #
3975
+ # source://rexml//lib/rexml/node.rb#9
3976
+ module REXML::Node
3977
+ # Visit all subnodes of +self+ recursively
3978
+ #
3979
+ # source://rexml//lib/rexml/node.rb#54
3980
+ def each_recursive(&block); end
3981
+
3982
+ # Find (and return) first subnode (recursively) for which the block
3983
+ # evaluates to true. Returns +nil+ if none was found.
3984
+ #
3985
+ # source://rexml//lib/rexml/node.rb#67
3986
+ def find_first_recursive(&block); end
3987
+
3988
+ # source://rexml//lib/rexml/node.rb#39
3989
+ def indent(to, ind); end
3990
+
3991
+ # Returns the position that +self+ holds in its parent's array, indexed
3992
+ # from 1.
3993
+ #
3994
+ # source://rexml//lib/rexml/node.rb#76
3995
+ def index_in_parent; end
3996
+
3997
+ # @return the next sibling (nil if unset)
3998
+ #
3999
+ # source://rexml//lib/rexml/node.rb#11
4000
+ def next_sibling_node; end
4001
+
4002
+ # @return [Boolean]
4003
+ #
4004
+ # source://rexml//lib/rexml/node.rb#48
4005
+ def parent?; end
4006
+
4007
+ # @return the previous sibling (nil if unset)
4008
+ #
4009
+ # source://rexml//lib/rexml/node.rb#17
4010
+ def previous_sibling_node; end
4011
+
4012
+ # indent::
4013
+ # *DEPRECATED* This parameter is now ignored. See the formatters in the
4014
+ # REXML::Formatters package for changing the output style.
4015
+ #
4016
+ # source://rexml//lib/rexml/node.rb#27
4017
+ def to_s(indent = T.unsafe(nil)); end
4018
+ end
4019
+
4020
+ # source://rexml//lib/rexml/doctype.rb#276
3702
4021
  class REXML::NotationDecl < ::REXML::Child
3703
4022
  # @return [NotationDecl] a new instance of NotationDecl
3704
4023
  #
3705
- # source://rexml//lib/rexml/doctype.rb#282
4024
+ # source://rexml//lib/rexml/doctype.rb#278
3706
4025
  def initialize(name, middle, pub, sys); end
3707
4026
 
3708
4027
  # This method retrieves the name of the notation.
3709
4028
  #
3710
4029
  # Method contributed by Henrik Martensson
3711
4030
  #
3712
- # source://rexml//lib/rexml/doctype.rb#307
4031
+ # source://rexml//lib/rexml/doctype.rb#302
3713
4032
  def name; end
3714
4033
 
3715
4034
  # Returns the value of attribute public.
3716
4035
  #
3717
- # source://rexml//lib/rexml/doctype.rb#281
4036
+ # source://rexml//lib/rexml/doctype.rb#277
3718
4037
  def public; end
3719
4038
 
3720
4039
  # Sets the attribute public
3721
4040
  #
3722
4041
  # @param value the value to set the attribute public to.
3723
4042
  #
3724
- # source://rexml//lib/rexml/doctype.rb#281
4043
+ # source://rexml//lib/rexml/doctype.rb#277
3725
4044
  def public=(_arg0); end
3726
4045
 
3727
4046
  # Returns the value of attribute system.
3728
4047
  #
3729
- # source://rexml//lib/rexml/doctype.rb#281
4048
+ # source://rexml//lib/rexml/doctype.rb#277
3730
4049
  def system; end
3731
4050
 
3732
4051
  # Sets the attribute system
3733
4052
  #
3734
4053
  # @param value the value to set the attribute system to.
3735
4054
  #
3736
- # source://rexml//lib/rexml/doctype.rb#281
4055
+ # source://rexml//lib/rexml/doctype.rb#277
3737
4056
  def system=(_arg0); end
3738
4057
 
3739
- # source://rexml//lib/rexml/doctype.rb#290
4058
+ # source://rexml//lib/rexml/doctype.rb#286
3740
4059
  def to_s; end
3741
4060
 
3742
- # source://rexml//lib/rexml/doctype.rb#300
4061
+ # source://rexml//lib/rexml/doctype.rb#295
3743
4062
  def write(output, indent = T.unsafe(nil)); end
3744
4063
  end
3745
4064
 
@@ -3780,7 +4099,7 @@ class REXML::Parent < ::REXML::Child
3780
4099
  # source://rexml//lib/rexml/parent.rb#13
3781
4100
  def initialize(parent = T.unsafe(nil)); end
3782
4101
 
3783
- # source://rexml//lib/rexml/parent.rb#18
4102
+ # source://rexml//lib/rexml/parent.rb#25
3784
4103
  def <<(object); end
3785
4104
 
3786
4105
  # Fetches a child at a given index
@@ -3803,7 +4122,7 @@ class REXML::Parent < ::REXML::Child
3803
4122
  # source://rexml//lib/rexml/parent.rb#18
3804
4123
  def add(object); end
3805
4124
 
3806
- # source://rexml//lib/rexml/parent.rb#115
4125
+ # source://rexml//lib/rexml/parent.rb#160
3807
4126
  def children; end
3808
4127
 
3809
4128
  # Deeply clones this object. This creates a complete duplicate of this
@@ -3824,7 +4143,7 @@ class REXML::Parent < ::REXML::Child
3824
4143
  # source://rexml//lib/rexml/parent.rb#39
3825
4144
  def each(&block); end
3826
4145
 
3827
- # source://rexml//lib/rexml/parent.rb#39
4146
+ # source://rexml//lib/rexml/parent.rb#61
3828
4147
  def each_child(&block); end
3829
4148
 
3830
4149
  # source://rexml//lib/rexml/parent.rb#51
@@ -3865,7 +4184,7 @@ class REXML::Parent < ::REXML::Child
3865
4184
 
3866
4185
  # @return the number of children of this parent
3867
4186
  #
3868
- # source://rexml//lib/rexml/parent.rb#130
4187
+ # source://rexml//lib/rexml/parent.rb#134
3869
4188
  def length; end
3870
4189
 
3871
4190
  # @return [Boolean]
@@ -3873,7 +4192,7 @@ class REXML::Parent < ::REXML::Child
3873
4192
  # source://rexml//lib/rexml/parent.rb#162
3874
4193
  def parent?; end
3875
4194
 
3876
- # source://rexml//lib/rexml/parent.rb#18
4195
+ # source://rexml//lib/rexml/parent.rb#24
3877
4196
  def push(object); end
3878
4197
 
3879
4198
  # Replaces one child with another, making sure the nodelist is correct
@@ -3977,37 +4296,51 @@ end
3977
4296
  class REXML::Parsers::BaseParser
3978
4297
  # @return [BaseParser] a new instance of BaseParser
3979
4298
  #
3980
- # source://rexml//lib/rexml/parsers/baseparser.rb#162
4299
+ # source://rexml//lib/rexml/parsers/baseparser.rb#164
3981
4300
  def initialize(source); end
3982
4301
 
3983
- # source://rexml//lib/rexml/parsers/baseparser.rb#169
4302
+ # source://rexml//lib/rexml/parsers/baseparser.rb#175
3984
4303
  def add_listener(listener); end
3985
4304
 
3986
4305
  # Returns true if there are no more events
3987
4306
  #
3988
4307
  # @return [Boolean]
3989
4308
  #
3990
- # source://rexml//lib/rexml/parsers/baseparser.rb#198
4309
+ # source://rexml//lib/rexml/parsers/baseparser.rb#210
3991
4310
  def empty?; end
3992
4311
 
3993
- # source://rexml//lib/rexml/parsers/baseparser.rb#530
4312
+ # source://rexml//lib/rexml/parsers/baseparser.rb#532
3994
4313
  def entity(reference, entities); end
3995
4314
 
3996
4315
  # Returns the value of attribute entity_expansion_count.
3997
4316
  #
3998
- # source://rexml//lib/rexml/parsers/baseparser.rb#174
4317
+ # source://rexml//lib/rexml/parsers/baseparser.rb#180
3999
4318
  def entity_expansion_count; end
4000
4319
 
4320
+ # Sets the attribute entity_expansion_limit
4321
+ #
4322
+ # @param value the value to set the attribute entity_expansion_limit to.
4323
+ #
4324
+ # source://rexml//lib/rexml/parsers/baseparser.rb#181
4325
+ def entity_expansion_limit=(_arg0); end
4326
+
4327
+ # Sets the attribute entity_expansion_text_limit
4328
+ #
4329
+ # @param value the value to set the attribute entity_expansion_text_limit to.
4330
+ #
4331
+ # source://rexml//lib/rexml/parsers/baseparser.rb#182
4332
+ def entity_expansion_text_limit=(_arg0); end
4333
+
4001
4334
  # Returns true if there are more events. Synonymous with !empty?
4002
4335
  #
4003
4336
  # @return [Boolean]
4004
4337
  #
4005
- # source://rexml//lib/rexml/parsers/baseparser.rb#203
4338
+ # source://rexml//lib/rexml/parsers/baseparser.rb#215
4006
4339
  def has_next?; end
4007
4340
 
4008
4341
  # Escapes all possible entities
4009
4342
  #
4010
- # source://rexml//lib/rexml/parsers/baseparser.rb#541
4343
+ # source://rexml//lib/rexml/parsers/baseparser.rb#543
4011
4344
  def normalize(input, entities = T.unsafe(nil), entity_filter = T.unsafe(nil)); end
4012
4345
 
4013
4346
  # Peek at the +depth+ event in the stack. The first element on the stack
@@ -4017,72 +4350,90 @@ class REXML::Parsers::BaseParser
4017
4350
  # event, so you can effectively pre-parse the entire document (pull the
4018
4351
  # entire thing into memory) using this method.
4019
4352
  #
4020
- # source://rexml//lib/rexml/parsers/baseparser.rb#219
4353
+ # source://rexml//lib/rexml/parsers/baseparser.rb#231
4021
4354
  def peek(depth = T.unsafe(nil)); end
4022
4355
 
4023
- # source://rexml//lib/rexml/parsers/baseparser.rb#188
4356
+ # source://rexml//lib/rexml/parsers/baseparser.rb#200
4024
4357
  def position; end
4025
4358
 
4026
4359
  # Returns the next event. This is a +PullEvent+ object.
4027
4360
  #
4028
- # source://rexml//lib/rexml/parsers/baseparser.rb#234
4361
+ # source://rexml//lib/rexml/parsers/baseparser.rb#246
4029
4362
  def pull; end
4030
4363
 
4364
+ # source://rexml//lib/rexml/parsers/baseparser.rb#189
4365
+ def reset; end
4366
+
4031
4367
  # Returns the value of attribute source.
4032
4368
  #
4033
- # source://rexml//lib/rexml/parsers/baseparser.rb#173
4369
+ # source://rexml//lib/rexml/parsers/baseparser.rb#179
4034
4370
  def source; end
4035
4371
 
4036
- # source://rexml//lib/rexml/parsers/baseparser.rb#176
4372
+ # source://rexml//lib/rexml/parsers/baseparser.rb#184
4037
4373
  def stream=(source); end
4038
4374
 
4039
4375
  # Unescapes all possible entities
4040
4376
  #
4041
- # source://rexml//lib/rexml/parsers/baseparser.rb#557
4377
+ # source://rexml//lib/rexml/parsers/baseparser.rb#559
4042
4378
  def unnormalize(string, entities = T.unsafe(nil), filter = T.unsafe(nil)); end
4043
4379
 
4044
4380
  # Push an event back on the head of the stream. This method
4045
4381
  # has (theoretically) infinite depth.
4046
4382
  #
4047
- # source://rexml//lib/rexml/parsers/baseparser.rb#209
4383
+ # source://rexml//lib/rexml/parsers/baseparser.rb#221
4048
4384
  def unshift(token); end
4049
4385
 
4050
4386
  private
4051
4387
 
4052
- # source://rexml//lib/rexml/parsers/baseparser.rb#602
4388
+ # source://rexml//lib/rexml/parsers/baseparser.rb#608
4053
4389
  def add_namespace(prefix, uri); end
4054
4390
 
4055
4391
  # @return [Boolean]
4056
4392
  #
4057
- # source://rexml//lib/rexml/parsers/baseparser.rb#635
4393
+ # source://rexml//lib/rexml/parsers/baseparser.rb#641
4058
4394
  def need_source_encoding_update?(xml_declaration_encoding); end
4059
4395
 
4060
- # source://rexml//lib/rexml/parsers/baseparser.rb#755
4396
+ # source://rexml//lib/rexml/parsers/baseparser.rb#647
4397
+ def normalize_xml_declaration_encoding(xml_declaration_encoding); end
4398
+
4399
+ # source://rexml//lib/rexml/parsers/baseparser.rb#844
4400
+ def parse_attribute_value_with_equal(name); end
4401
+
4402
+ # source://rexml//lib/rexml/parsers/baseparser.rb#863
4061
4403
  def parse_attributes(prefixes); end
4062
4404
 
4063
- # source://rexml//lib/rexml/parsers/baseparser.rb#654
4405
+ # source://rexml//lib/rexml/parsers/baseparser.rb#664
4064
4406
  def parse_id(base_error_message, accept_external_id:, accept_public_id:); end
4065
4407
 
4066
- # source://rexml//lib/rexml/parsers/baseparser.rb#682
4408
+ # source://rexml//lib/rexml/parsers/baseparser.rb#692
4067
4409
  def parse_id_invalid_details(accept_external_id:, accept_public_id:); end
4068
4410
 
4069
- # source://rexml//lib/rexml/parsers/baseparser.rb#641
4411
+ # source://rexml//lib/rexml/parsers/baseparser.rb#651
4070
4412
  def parse_name(base_error_message); end
4071
4413
 
4072
- # source://rexml//lib/rexml/parsers/baseparser.rb#617
4414
+ # source://rexml//lib/rexml/parsers/baseparser.rb#623
4073
4415
  def pop_namespaces_restore; end
4074
4416
 
4075
- # source://rexml//lib/rexml/parsers/baseparser.rb#720
4417
+ # source://rexml//lib/rexml/parsers/baseparser.rb#730
4418
+ def process_comment; end
4419
+
4420
+ # source://rexml//lib/rexml/parsers/baseparser.rb#742
4076
4421
  def process_instruction; end
4077
4422
 
4078
- # source://rexml//lib/rexml/parsers/baseparser.rb#244
4423
+ # source://rexml//lib/rexml/parsers/baseparser.rb#256
4079
4424
  def pull_event; end
4080
4425
 
4081
- # source://rexml//lib/rexml/parsers/baseparser.rb#611
4426
+ # source://rexml//lib/rexml/parsers/baseparser.rb#617
4082
4427
  def push_namespaces_restore; end
4083
4428
 
4084
- # source://rexml//lib/rexml/parsers/baseparser.rb#628
4429
+ # source://rexml//lib/rexml/parsers/baseparser.rb#634
4085
4430
  def record_entity_expansion(delta = T.unsafe(nil)); end
4431
+
4432
+ # source://rexml//lib/rexml/parsers/baseparser.rb#830
4433
+ def scan_quote; end
4434
+
4435
+ # source://rexml//lib/rexml/parsers/baseparser.rb#764
4436
+ def xml_declaration; end
4086
4437
  end
4087
4438
 
4088
4439
  # source://rexml//lib/rexml/parsers/baseparser.rb#130
@@ -4097,31 +4448,34 @@ REXML::Parsers::BaseParser::PUBLIC_ID = T.let(T.unsafe(nil), Regexp)
4097
4448
  # source://rexml//lib/rexml/parsers/baseparser.rb#143
4098
4449
  module REXML::Parsers::BaseParser::Private; end
4099
4450
 
4100
- # source://rexml//lib/rexml/parsers/baseparser.rb#147
4451
+ # source://rexml//lib/rexml/parsers/baseparser.rb#148
4101
4452
  REXML::Parsers::BaseParser::Private::ATTLISTDECL_END = T.let(T.unsafe(nil), Regexp)
4102
4453
 
4103
- # source://rexml//lib/rexml/parsers/baseparser.rb#152
4454
+ # source://rexml//lib/rexml/parsers/baseparser.rb#153
4104
4455
  REXML::Parsers::BaseParser::Private::CARRIAGE_RETURN_NEWLINE_PATTERN = T.let(T.unsafe(nil), Regexp)
4105
4456
 
4106
- # source://rexml//lib/rexml/parsers/baseparser.rb#153
4457
+ # source://rexml//lib/rexml/parsers/baseparser.rb#154
4107
4458
  REXML::Parsers::BaseParser::Private::CHARACTER_REFERENCES = T.let(T.unsafe(nil), Regexp)
4108
4459
 
4109
4460
  # source://rexml//lib/rexml/parsers/baseparser.rb#146
4110
4461
  REXML::Parsers::BaseParser::Private::CLOSE_PATTERN = T.let(T.unsafe(nil), Regexp)
4111
4462
 
4112
- # source://rexml//lib/rexml/parsers/baseparser.rb#154
4463
+ # source://rexml//lib/rexml/parsers/baseparser.rb#155
4113
4464
  REXML::Parsers::BaseParser::Private::DEFAULT_ENTITIES_PATTERNS = T.let(T.unsafe(nil), Hash)
4114
4465
 
4115
- # source://rexml//lib/rexml/parsers/baseparser.rb#151
4466
+ # source://rexml//lib/rexml/parsers/baseparser.rb#152
4116
4467
  REXML::Parsers::BaseParser::Private::ENTITYDECL_PATTERN = T.let(T.unsafe(nil), Regexp)
4117
4468
 
4118
- # source://rexml//lib/rexml/parsers/baseparser.rb#149
4469
+ # source://rexml//lib/rexml/parsers/baseparser.rb#147
4470
+ REXML::Parsers::BaseParser::Private::EQUAL_PATTERN = T.let(T.unsafe(nil), Regexp)
4471
+
4472
+ # source://rexml//lib/rexml/parsers/baseparser.rb#150
4119
4473
  REXML::Parsers::BaseParser::Private::GEDECL_PATTERN = T.let(T.unsafe(nil), String)
4120
4474
 
4121
- # source://rexml//lib/rexml/parsers/baseparser.rb#148
4475
+ # source://rexml//lib/rexml/parsers/baseparser.rb#149
4122
4476
  REXML::Parsers::BaseParser::Private::NAME_PATTERN = T.let(T.unsafe(nil), Regexp)
4123
4477
 
4124
- # source://rexml//lib/rexml/parsers/baseparser.rb#150
4478
+ # source://rexml//lib/rexml/parsers/baseparser.rb#151
4125
4479
  REXML::Parsers::BaseParser::Private::PEDECL_PATTERN = T.let(T.unsafe(nil), String)
4126
4480
 
4127
4481
  # source://rexml//lib/rexml/parsers/baseparser.rb#144
@@ -4130,6 +4484,9 @@ REXML::Parsers::BaseParser::Private::PEREFERENCE_PATTERN = T.let(T.unsafe(nil),
4130
4484
  # source://rexml//lib/rexml/parsers/baseparser.rb#145
4131
4485
  REXML::Parsers::BaseParser::Private::TAG_PATTERN = T.let(T.unsafe(nil), Regexp)
4132
4486
 
4487
+ # source://rexml//lib/rexml/parsers/baseparser.rb#160
4488
+ REXML::Parsers::BaseParser::Private::XML_PREFIXED_NAMESPACE = T.let(T.unsafe(nil), String)
4489
+
4133
4490
  # source://rexml//lib/rexml/parsers/baseparser.rb#66
4134
4491
  REXML::Parsers::BaseParser::QNAME = T.let(T.unsafe(nil), Regexp)
4135
4492
 
@@ -4150,6 +4507,12 @@ class REXML::Parsers::StreamParser
4150
4507
  def entity_expansion_count; end
4151
4508
 
4152
4509
  # source://rexml//lib/rexml/parsers/streamparser.rb#21
4510
+ def entity_expansion_limit=(limit); end
4511
+
4512
+ # source://rexml//lib/rexml/parsers/streamparser.rb#25
4513
+ def entity_expansion_text_limit=(limit); end
4514
+
4515
+ # source://rexml//lib/rexml/parsers/streamparser.rb#29
4153
4516
  def parse; end
4154
4517
  end
4155
4518
 
@@ -4190,7 +4553,7 @@ class REXML::Parsers::XPathParser
4190
4553
 
4191
4554
  # For backward compatibility
4192
4555
  #
4193
- # source://rexml//lib/rexml/parsers/xpathparser.rb#174
4556
+ # source://rexml//lib/rexml/parsers/xpathparser.rb#221
4194
4557
  def preciate_to_string(parsed, &block); end
4195
4558
 
4196
4559
  # source://rexml//lib/rexml/parsers/xpathparser.rb#36
@@ -4201,61 +4564,35 @@ class REXML::Parsers::XPathParser
4201
4564
 
4202
4565
  private
4203
4566
 
4204
- # | AdditiveExpr ('+' | '-') MultiplicativeExpr
4205
- # | MultiplicativeExpr
4206
- #
4207
4567
  # source://rexml//lib/rexml/parsers/xpathparser.rb#505
4208
4568
  def AdditiveExpr(path, parsed); end
4209
4569
 
4210
- # | AndExpr S 'and' S EqualityExpr
4211
- # | EqualityExpr
4212
- #
4213
4570
  # source://rexml//lib/rexml/parsers/xpathparser.rb#438
4214
4571
  def AndExpr(path, parsed); end
4215
4572
 
4216
- # | EqualityExpr ('=' | '!=') RelationalExpr
4217
- # | RelationalExpr
4218
- #
4219
4573
  # source://rexml//lib/rexml/parsers/xpathparser.rb#457
4220
4574
  def EqualityExpr(path, parsed); end
4221
4575
 
4222
- # | FilterExpr Predicate
4223
- # | PrimaryExpr
4224
- #
4225
4576
  # source://rexml//lib/rexml/parsers/xpathparser.rb#608
4226
4577
  def FilterExpr(path, parsed); end
4227
4578
 
4228
- # | FUNCTION_NAME '(' ( expr ( ',' expr )* )? ')'
4229
- #
4230
4579
  # source://rexml//lib/rexml/parsers/xpathparser.rb#663
4231
4580
  def FunctionCall(rest, parsed); end
4232
4581
 
4233
4582
  # LocationPath
4234
- # | RelativeLocationPath
4235
- # | '/' RelativeLocationPath?
4236
- # | '//' RelativeLocationPath
4237
4583
  #
4238
4584
  # source://rexml//lib/rexml/parsers/xpathparser.rb#243
4239
4585
  def LocationPath(path, parsed); end
4240
4586
 
4241
- # | MultiplicativeExpr ('*' | S ('div' | 'mod') S) UnaryExpr
4242
- # | UnaryExpr
4243
- #
4244
4587
  # source://rexml//lib/rexml/parsers/xpathparser.rb#528
4245
4588
  def MultiplicativeExpr(path, parsed); end
4246
4589
 
4247
4590
  # source://rexml//lib/rexml/parsers/xpathparser.rb#343
4248
4591
  def NodeTest(path, parsed); end
4249
4592
 
4250
- # | OrExpr S 'or' S AndExpr
4251
- # | AndExpr
4252
- #
4253
4593
  # source://rexml//lib/rexml/parsers/xpathparser.rb#419
4254
4594
  def OrExpr(path, parsed); end
4255
4595
 
4256
- # | LocationPath
4257
- # | FilterExpr ('/' | '//') RelativeLocationPath
4258
- #
4259
4596
  # source://rexml//lib/rexml/parsers/xpathparser.rb#590
4260
4597
  def PathExpr(path, parsed); end
4261
4598
 
@@ -4267,24 +4604,15 @@ class REXML::Parsers::XPathParser
4267
4604
  # source://rexml//lib/rexml/parsers/xpathparser.rb#626
4268
4605
  def PrimaryExpr(path, parsed); end
4269
4606
 
4270
- # | RelationalExpr ('<' | '>' | '<=' | '>=') AdditiveExpr
4271
- # | AdditiveExpr
4272
- #
4273
4607
  # source://rexml//lib/rexml/parsers/xpathparser.rb#480
4274
4608
  def RelationalExpr(path, parsed); end
4275
4609
 
4276
4610
  # source://rexml//lib/rexml/parsers/xpathparser.rb#267
4277
4611
  def RelativeLocationPath(path, parsed); end
4278
4612
 
4279
- # | '-' UnaryExpr
4280
- # | UnionExpr
4281
- #
4282
4613
  # source://rexml//lib/rexml/parsers/xpathparser.rb#553
4283
4614
  def UnaryExpr(path, parsed); end
4284
4615
 
4285
- # | UnionExpr '|' PathExpr
4286
- # | PathExpr
4287
- #
4288
4616
  # source://rexml//lib/rexml/parsers/xpathparser.rb#571
4289
4617
  def UnionExpr(path, parsed); end
4290
4618
 
@@ -4308,11 +4636,6 @@ REXML::Parsers::XPathParser::LOCAL_NAME_WILDCARD = T.let(T.unsafe(nil), Regexp)
4308
4636
  # true/false, if a positive match
4309
4637
  # String, if a name match
4310
4638
  # NodeTest
4311
- # | ('*' | NCNAME ':' '*' | QNAME) NameTest
4312
- # | '*' ':' NCNAME NameTest since XPath 2.0
4313
- # | NODE_TYPE '(' ')' NodeType
4314
- # | PI '(' LITERAL ')' PI
4315
- # | '[' expr ']' Predicate
4316
4639
  #
4317
4640
  # source://rexml//lib/rexml/parsers/xpathparser.rb#338
4318
4641
  REXML::Parsers::XPathParser::PREFIX_WILDCARD = T.let(T.unsafe(nil), Regexp)
@@ -4328,10 +4651,35 @@ class REXML::ReferenceWriter
4328
4651
  def write(output); end
4329
4652
  end
4330
4653
 
4654
+ # source://rexml//lib/rexml/security.rb#3
4655
+ module REXML::Security
4656
+ class << self
4657
+ # Get the entity expansion limit. By default the limit is set to 10000.
4658
+ #
4659
+ # source://rexml//lib/rexml/security.rb#12
4660
+ def entity_expansion_limit; end
4661
+
4662
+ # Set the entity expansion limit. By default the limit is set to 10000.
4663
+ #
4664
+ # source://rexml//lib/rexml/security.rb#7
4665
+ def entity_expansion_limit=(val); end
4666
+
4667
+ # Get the entity expansion limit. By default the limit is set to 10240.
4668
+ #
4669
+ # source://rexml//lib/rexml/security.rb#24
4670
+ def entity_expansion_text_limit; end
4671
+
4672
+ # Set the entity expansion limit. By default the limit is set to 10240.
4673
+ #
4674
+ # source://rexml//lib/rexml/security.rb#19
4675
+ def entity_expansion_text_limit=(val); end
4676
+ end
4677
+ end
4678
+
4331
4679
  # A Source can be searched for patterns, and wraps buffers and other
4332
4680
  # objects and provides consumption of text
4333
4681
  #
4334
- # source://rexml//lib/rexml/source.rb#51
4682
+ # source://rexml//lib/rexml/source.rb#61
4335
4683
  class REXML::Source
4336
4684
  include ::REXML::Encoding
4337
4685
 
@@ -4342,82 +4690,114 @@ class REXML::Source
4342
4690
  # @param encoding if non-null, sets the encoding of the source to this
4343
4691
  # @return [Source] a new instance of Source
4344
4692
  #
4345
- # source://rexml//lib/rexml/source.rb#71
4693
+ # source://rexml//lib/rexml/source.rb#88
4346
4694
  def initialize(arg, encoding = T.unsafe(nil)); end
4347
4695
 
4348
4696
  # The current buffer (what we're going to read next)
4349
4697
  #
4350
- # source://rexml//lib/rexml/source.rb#83
4698
+ # source://rexml//lib/rexml/source.rb#101
4351
4699
  def buffer; end
4352
4700
 
4353
- # source://rexml//lib/rexml/source.rb#93
4701
+ # source://rexml//lib/rexml/source.rb#111
4354
4702
  def buffer_encoding=(encoding); end
4355
4703
 
4356
4704
  # @return the current line in the source
4357
4705
  #
4358
- # source://rexml//lib/rexml/source.rb#142
4706
+ # source://rexml//lib/rexml/source.rb#180
4359
4707
  def current_line; end
4360
4708
 
4361
- # source://rexml//lib/rexml/source.rb#87
4709
+ # source://rexml//lib/rexml/source.rb#105
4362
4710
  def drop_parsed_content; end
4363
4711
 
4364
4712
  # @return [Boolean] true if the Source is exhausted
4365
4713
  #
4366
- # source://rexml//lib/rexml/source.rb#137
4714
+ # source://rexml//lib/rexml/source.rb#175
4367
4715
  def empty?; end
4368
4716
 
4369
4717
  # Returns the value of attribute encoding.
4370
4718
  #
4371
- # source://rexml//lib/rexml/source.rb#55
4719
+ # source://rexml//lib/rexml/source.rb#65
4372
4720
  def encoding; end
4373
4721
 
4374
4722
  # Inherited from Encoding
4375
4723
  # Overridden to support optimized en/decoding
4376
4724
  #
4377
- # source://rexml//lib/rexml/source.rb#99
4725
+ # source://rexml//lib/rexml/source.rb#117
4378
4726
  def encoding=(enc); end
4379
4727
 
4380
- # source://rexml//lib/rexml/source.rb#117
4728
+ # source://rexml//lib/rexml/source.rb#135
4381
4729
  def ensure_buffer; end
4382
4730
 
4383
4731
  # The line number of the last consumed text
4384
4732
  #
4385
- # source://rexml//lib/rexml/source.rb#54
4733
+ # source://rexml//lib/rexml/source.rb#64
4386
4734
  def line; end
4387
4735
 
4388
- # source://rexml//lib/rexml/source.rb#120
4736
+ # source://rexml//lib/rexml/source.rb#138
4389
4737
  def match(pattern, cons = T.unsafe(nil)); end
4390
4738
 
4391
- # source://rexml//lib/rexml/source.rb#128
4739
+ # @return [Boolean]
4740
+ #
4741
+ # source://rexml//lib/rexml/source.rb#146
4742
+ def match?(pattern, cons = T.unsafe(nil)); end
4743
+
4744
+ # source://rexml//lib/rexml/source.rb#166
4745
+ def peek_byte; end
4746
+
4747
+ # source://rexml//lib/rexml/source.rb#158
4392
4748
  def position; end
4393
4749
 
4394
- # source://rexml//lib/rexml/source.rb#132
4750
+ # source://rexml//lib/rexml/source.rb#162
4395
4751
  def position=(pos); end
4396
4752
 
4397
- # source://rexml//lib/rexml/source.rb#104
4753
+ # source://rexml//lib/rexml/source.rb#122
4398
4754
  def read(term = T.unsafe(nil)); end
4399
4755
 
4400
- # source://rexml//lib/rexml/source.rb#107
4756
+ # source://rexml//lib/rexml/source.rb#125
4401
4757
  def read_until(term); end
4402
4758
 
4759
+ # source://rexml//lib/rexml/source.rb#170
4760
+ def scan_byte; end
4761
+
4762
+ # source://rexml//lib/rexml/source.rb#154
4763
+ def skip_spaces; end
4764
+
4403
4765
  private
4404
4766
 
4405
- # source://rexml//lib/rexml/source.rb#151
4767
+ # source://rexml//lib/rexml/source.rb#189
4406
4768
  def detect_encoding; end
4407
4769
 
4408
- # source://rexml//lib/rexml/source.rb#169
4770
+ # source://rexml//lib/rexml/source.rb#207
4409
4771
  def encoding_updated; end
4410
4772
  end
4411
4773
 
4412
- # source://rexml//lib/rexml/source.rb#57
4774
+ # source://rexml//lib/rexml/source.rb#67
4413
4775
  module REXML::Source::Private; end
4414
4776
 
4415
- # source://rexml//lib/rexml/source.rb#59
4777
+ # source://rexml//lib/rexml/source.rb#70
4416
4778
  REXML::Source::Private::PRE_DEFINED_TERM_PATTERNS = T.let(T.unsafe(nil), Hash)
4417
4779
 
4418
- # source://rexml//lib/rexml/source.rb#58
4780
+ # source://rexml//lib/rexml/source.rb#69
4419
4781
  REXML::Source::Private::SCANNER_RESET_SIZE = T.let(T.unsafe(nil), Integer)
4420
4782
 
4783
+ # source://rexml//lib/rexml/source.rb#68
4784
+ REXML::Source::Private::SPACES_PATTERN = T.let(T.unsafe(nil), Regexp)
4785
+
4786
+ # Generates Source-s. USE THIS CLASS.
4787
+ #
4788
+ # source://rexml//lib/rexml/source.rb#38
4789
+ class REXML::SourceFactory
4790
+ class << self
4791
+ # Generates a Source object
4792
+ #
4793
+ # @param arg Either a String, or an IO
4794
+ # @return a Source, or nil if a bad argument was given
4795
+ #
4796
+ # source://rexml//lib/rexml/source.rb#42
4797
+ def create_from(arg); end
4798
+ end
4799
+ end
4800
+
4421
4801
  # Represents text nodes in an XML document
4422
4802
  #
4423
4803
  # source://rexml//lib/rexml/text.rb#11
@@ -4463,7 +4843,7 @@ class REXML::Text < ::REXML::Child
4463
4843
  #
4464
4844
  # @return [Text] a new instance of Text
4465
4845
  #
4466
- # source://rexml//lib/rexml/text.rb#94
4846
+ # source://rexml//lib/rexml/text.rb#79
4467
4847
  def initialize(arg, respect_whitespace = T.unsafe(nil), parent = T.unsafe(nil), raw = T.unsafe(nil), entity_filter = T.unsafe(nil), illegal = T.unsafe(nil)); end
4468
4848
 
4469
4849
  # Appends text to this text node. The text is appended in the +raw+ mode
@@ -4472,36 +4852,36 @@ class REXML::Text < ::REXML::Child
4472
4852
  # +returns+ the text itself to enable method chain like
4473
4853
  # 'text << "XXX" << "YYY"'.
4474
4854
  #
4475
- # source://rexml//lib/rexml/text.rb#214
4855
+ # source://rexml//lib/rexml/text.rb#189
4476
4856
  def <<(to_append); end
4477
4857
 
4478
4858
  # +other+ a String or a Text
4479
4859
  # +returns+ the result of (to_s <=> arg.to_s)
4480
4860
  #
4481
- # source://rexml//lib/rexml/text.rb#223
4861
+ # source://rexml//lib/rexml/text.rb#198
4482
4862
  def <=>(other); end
4483
4863
 
4484
- # source://rexml//lib/rexml/text.rb#204
4864
+ # source://rexml//lib/rexml/text.rb#179
4485
4865
  def clone; end
4486
4866
 
4487
- # source://rexml//lib/rexml/text.rb#227
4867
+ # source://rexml//lib/rexml/text.rb#202
4488
4868
  def doctype; end
4489
4869
 
4490
4870
  # @return [Boolean]
4491
4871
  #
4492
- # source://rexml//lib/rexml/text.rb#199
4872
+ # source://rexml//lib/rexml/text.rb#174
4493
4873
  def empty?; end
4494
4874
 
4495
- # source://rexml//lib/rexml/text.rb#298
4875
+ # source://rexml//lib/rexml/text.rb#271
4496
4876
  def indent_text(string, level = T.unsafe(nil), style = T.unsafe(nil), indentfirstline = T.unsafe(nil)); end
4497
4877
 
4498
- # source://rexml//lib/rexml/text.rb#253
4878
+ # source://rexml//lib/rexml/text.rb#225
4499
4879
  def inspect; end
4500
4880
 
4501
- # source://rexml//lib/rexml/text.rb#195
4881
+ # source://rexml//lib/rexml/text.rb#170
4502
4882
  def node_type; end
4503
4883
 
4504
- # source://rexml//lib/rexml/text.rb#125
4884
+ # source://rexml//lib/rexml/text.rb#110
4505
4885
  def parent=(parent); end
4506
4886
 
4507
4887
  # If +raw+ is true, then REXML leaves the value alone
@@ -4528,7 +4908,7 @@ class REXML::Text < ::REXML::Child
4528
4908
  # u = Text.new( "sean russell", false, nil, true )
4529
4909
  # u.to_s #-> "sean russell"
4530
4910
  #
4531
- # source://rexml//lib/rexml/text.rb#248
4911
+ # source://rexml//lib/rexml/text.rb#220
4532
4912
  def to_s; end
4533
4913
 
4534
4914
  # Returns the string value of this text. This is the text without
@@ -4545,7 +4925,7 @@ class REXML::Text < ::REXML::Child
4545
4925
  # u = Text.new( "sean russell", false, nil, true )
4546
4926
  # u.value #-> "sean russell"
4547
4927
  #
4548
- # source://rexml//lib/rexml/text.rb#270
4928
+ # source://rexml//lib/rexml/text.rb#242
4549
4929
  def value; end
4550
4930
 
4551
4931
  # Sets the contents of this text node. This expects the text to be
@@ -4556,16 +4936,16 @@ class REXML::Text < ::REXML::Child
4556
4936
  # e[0].value = "bar" # <a>bar</a>
4557
4937
  # e[0].value = "<a>" # <a>&lt;a&gt;</a>
4558
4938
  #
4559
- # source://rexml//lib/rexml/text.rb#281
4939
+ # source://rexml//lib/rexml/text.rb#254
4560
4940
  def value=(val); end
4561
4941
 
4562
- # source://rexml//lib/rexml/text.rb#287
4942
+ # source://rexml//lib/rexml/text.rb#260
4563
4943
  def wrap(string, width, addnewline = T.unsafe(nil)); end
4564
4944
 
4565
4945
  # == DEPRECATED
4566
4946
  # See REXML::Formatters
4567
4947
  #
4568
- # source://rexml//lib/rexml/text.rb#313
4948
+ # source://rexml//lib/rexml/text.rb#288
4569
4949
  def write(writer, indent = T.unsafe(nil), transitive = T.unsafe(nil), ie_hack = T.unsafe(nil)); end
4570
4950
 
4571
4951
  # Writes out text, substituting special characters beforehand.
@@ -4583,43 +4963,43 @@ class REXML::Text < ::REXML::Child
4583
4963
  # }
4584
4964
  # puts ascOut
4585
4965
  #
4586
- # source://rexml//lib/rexml/text.rb#345
4966
+ # source://rexml//lib/rexml/text.rb#318
4587
4967
  def write_with_substitution(out, input); end
4588
4968
 
4589
4969
  # FIXME
4590
4970
  # This probably won't work properly
4591
4971
  #
4592
- # source://rexml//lib/rexml/text.rb#325
4972
+ # source://rexml//lib/rexml/text.rb#300
4593
4973
  def xpath; end
4594
4974
 
4595
4975
  private
4596
4976
 
4597
- # source://rexml//lib/rexml/text.rb#358
4977
+ # source://rexml//lib/rexml/text.rb#331
4598
4978
  def clear_cache; end
4599
4979
 
4600
4980
  class << self
4601
4981
  # check for illegal characters
4602
4982
  #
4603
- # source://rexml//lib/rexml/text.rb#131
4604
- def check(string, pattern, doctype); end
4983
+ # source://rexml//lib/rexml/text.rb#116
4984
+ def check(string, pattern, doctype = T.unsafe(nil)); end
4605
4985
 
4606
- # source://rexml//lib/rexml/text.rb#427
4986
+ # source://rexml//lib/rexml/text.rb#401
4607
4987
  def expand(ref, doctype, filter); end
4608
4988
 
4609
4989
  # Escapes all possible entities
4610
4990
  #
4611
- # source://rexml//lib/rexml/text.rb#390
4991
+ # source://rexml//lib/rexml/text.rb#363
4612
4992
  def normalize(input, doctype = T.unsafe(nil), entity_filter = T.unsafe(nil)); end
4613
4993
 
4614
4994
  # Reads text, substituting entities
4615
4995
  #
4616
- # source://rexml//lib/rexml/text.rb#364
4996
+ # source://rexml//lib/rexml/text.rb#337
4617
4997
  def read_with_substitution(input, illegal = T.unsafe(nil)); end
4618
4998
 
4619
4999
  # Unescapes all possible entities
4620
5000
  #
4621
- # source://rexml//lib/rexml/text.rb#414
4622
- def unnormalize(string, doctype = T.unsafe(nil), filter = T.unsafe(nil), illegal = T.unsafe(nil)); end
5001
+ # source://rexml//lib/rexml/text.rb#387
5002
+ def unnormalize(string, doctype = T.unsafe(nil), filter = T.unsafe(nil), illegal = T.unsafe(nil), entity_expansion_text_limit: T.unsafe(nil)); end
4623
5003
  end
4624
5004
  end
4625
5005
 
@@ -4671,12 +5051,12 @@ class REXML::XMLDecl < ::REXML::Child
4671
5051
  # source://rexml//lib/rexml/xmldecl.rb#98
4672
5052
  def nowrite; end
4673
5053
 
4674
- # source://rexml//lib/rexml/encoding.rb#7
5054
+ # source://rexml//lib/rexml/xmldecl.rb#74
4675
5055
  def old_enc=(encoding); end
4676
5056
 
4677
5057
  # Returns the value of attribute standalone.
4678
5058
  #
4679
- # source://rexml//lib/rexml/xmldecl.rb#17
5059
+ # source://rexml//lib/rexml/xmldecl.rb#73
4680
5060
  def stand_alone?; end
4681
5061
 
4682
5062
  # Returns the value of attribute standalone.
@@ -4743,26 +5123,83 @@ class REXML::XMLDecl < ::REXML::Child
4743
5123
  end
4744
5124
  end
4745
5125
 
5126
+ # Wrapper class. Use this class to access the XPath functions.
5127
+ #
5128
+ # source://rexml//lib/rexml/xpath.rb#7
5129
+ class REXML::XPath
5130
+ include ::REXML::Functions
5131
+
5132
+ class << self
5133
+ # Iterates over nodes that match the given path, calling the supplied
5134
+ # block with the match.
5135
+ # element::
5136
+ # The context element
5137
+ # path::
5138
+ # The xpath to search for. If not supplied or nil, defaults to '*'
5139
+ # namespaces::
5140
+ # If supplied, a Hash which defines a namespace mapping
5141
+ # variables::
5142
+ # If supplied, a Hash which maps $variables in the query
5143
+ # to values. This can be used to avoid XPath injection attacks
5144
+ # or to automatically handle escaping string values.
5145
+ #
5146
+ # XPath.each( node ) { |el| ... }
5147
+ # XPath.each( node, '/*[@attr='v']' ) { |el| ... }
5148
+ # XPath.each( node, 'ancestor::x' ) { |el| ... }
5149
+ # XPath.each( node, '/book/publisher/text()=$publisher', {}, {"publisher"=>"O'Reilly"}) \
5150
+ # {|el| ... }
5151
+ #
5152
+ # source://rexml//lib/rexml/xpath.rb#55
5153
+ def each(element, path = T.unsafe(nil), namespaces = T.unsafe(nil), variables = T.unsafe(nil), options = T.unsafe(nil), &block); end
5154
+
5155
+ # Finds and returns the first node that matches the supplied xpath.
5156
+ # element::
5157
+ # The context element
5158
+ # path::
5159
+ # The xpath to search for. If not supplied or nil, returns the first
5160
+ # node matching '*'.
5161
+ # namespaces::
5162
+ # If supplied, a Hash which defines a namespace mapping.
5163
+ # variables::
5164
+ # If supplied, a Hash which maps $variables in the query
5165
+ # to values. This can be used to avoid XPath injection attacks
5166
+ # or to automatically handle escaping string values.
5167
+ #
5168
+ # XPath.first( node )
5169
+ # XPath.first( doc, "//b"} )
5170
+ # XPath.first( node, "a/x:b", { "x"=>"http://doofus" } )
5171
+ # XPath.first( node, '/book/publisher/text()=$publisher', {}, {"publisher"=>"O'Reilly"})
5172
+ #
5173
+ # source://rexml//lib/rexml/xpath.rb#31
5174
+ def first(element, path = T.unsafe(nil), namespaces = T.unsafe(nil), variables = T.unsafe(nil), options = T.unsafe(nil)); end
5175
+
5176
+ # Returns an array of nodes matching a given XPath.
5177
+ #
5178
+ # source://rexml//lib/rexml/xpath.rb#62
5179
+ def match(element, path = T.unsafe(nil), namespaces = T.unsafe(nil), variables = T.unsafe(nil), options = T.unsafe(nil)); end
5180
+ end
5181
+ end
5182
+
4746
5183
  # @private
4747
5184
  #
4748
- # source://rexml//lib/rexml/xpath_parser.rb#963
5185
+ # source://rexml//lib/rexml/xpath_parser.rb#965
4749
5186
  class REXML::XPathNode
4750
5187
  # @return [XPathNode] a new instance of XPathNode
4751
5188
  #
4752
- # source://rexml//lib/rexml/xpath_parser.rb#965
5189
+ # source://rexml//lib/rexml/xpath_parser.rb#967
4753
5190
  def initialize(node, context = T.unsafe(nil)); end
4754
5191
 
4755
5192
  # Returns the value of attribute context.
4756
5193
  #
4757
- # source://rexml//lib/rexml/xpath_parser.rb#964
5194
+ # source://rexml//lib/rexml/xpath_parser.rb#966
4758
5195
  def context; end
4759
5196
 
4760
- # source://rexml//lib/rexml/xpath_parser.rb#974
5197
+ # source://rexml//lib/rexml/xpath_parser.rb#976
4761
5198
  def position; end
4762
5199
 
4763
5200
  # Returns the value of attribute raw_node.
4764
5201
  #
4765
- # source://rexml//lib/rexml/xpath_parser.rb#964
5202
+ # source://rexml//lib/rexml/xpath_parser.rb#966
4766
5203
  def raw_node; end
4767
5204
  end
4768
5205
 
@@ -4780,7 +5217,7 @@ class REXML::XPathParser
4780
5217
  # source://rexml//lib/rexml/xpath_parser.rb#60
4781
5218
  def initialize(strict: T.unsafe(nil)); end
4782
5219
 
4783
- # source://rexml//lib/rexml/xpath_parser.rb#94
5220
+ # source://rexml//lib/rexml/xpath_parser.rb#107
4784
5221
  def []=(variable_name, value); end
4785
5222
 
4786
5223
  # Performs a depth-first (document order) XPath search, and returns the
@@ -4788,66 +5225,66 @@ class REXML::XPathParser
4788
5225
  #
4789
5226
  # FIXME: This method is incomplete!
4790
5227
  #
4791
- # source://rexml//lib/rexml/xpath_parser.rb#103
5228
+ # source://rexml//lib/rexml/xpath_parser.rb#116
4792
5229
  def first(path_stack, node); end
4793
5230
 
4794
- # source://rexml//lib/rexml/xpath_parser.rb#84
4795
- def get_first(path, nodeset); end
5231
+ # source://rexml//lib/rexml/xpath_parser.rb#97
5232
+ def get_first(path, node); end
4796
5233
 
4797
- # source://rexml//lib/rexml/xpath_parser.rb#139
4798
- def match(path_stack, nodeset); end
5234
+ # source://rexml//lib/rexml/xpath_parser.rb#153
5235
+ def match(path_stack, node); end
4799
5236
 
4800
5237
  # source://rexml//lib/rexml/xpath_parser.rb#69
4801
5238
  def namespaces=(namespaces = T.unsafe(nil)); end
4802
5239
 
4803
5240
  # source://rexml//lib/rexml/xpath_parser.rb#79
4804
- def parse(path, nodeset); end
5241
+ def parse(path, node); end
4805
5242
 
4806
- # source://rexml//lib/rexml/xpath_parser.rb#89
4807
- def predicate(path, nodeset); end
5243
+ # source://rexml//lib/rexml/xpath_parser.rb#102
5244
+ def predicate(path, node); end
4808
5245
 
4809
5246
  # source://rexml//lib/rexml/xpath_parser.rb#74
4810
5247
  def variables=(vars = T.unsafe(nil)); end
4811
5248
 
4812
5249
  private
4813
5250
 
4814
- # source://rexml//lib/rexml/xpath_parser.rb#779
5251
+ # source://rexml//lib/rexml/xpath_parser.rb#781
4815
5252
  def child(nodeset); end
4816
5253
 
4817
- # source://rexml//lib/rexml/xpath_parser.rb#920
5254
+ # source://rexml//lib/rexml/xpath_parser.rb#922
4818
5255
  def compare(a, operator, b); end
4819
5256
 
4820
- # source://rexml//lib/rexml/xpath_parser.rb#682
5257
+ # source://rexml//lib/rexml/xpath_parser.rb#687
4821
5258
  def descendant(nodeset, include_self); end
4822
5259
 
4823
- # source://rexml//lib/rexml/xpath_parser.rb#693
5260
+ # source://rexml//lib/rexml/xpath_parser.rb#698
4824
5261
  def descendant_recursive(raw_node, new_nodeset, new_nodes, include_self); end
4825
5262
 
4826
- # source://rexml//lib/rexml/xpath_parser.rb#942
5263
+ # source://rexml//lib/rexml/xpath_parser.rb#944
4827
5264
  def each_unnode(nodeset); end
4828
5265
 
4829
- # source://rexml//lib/rexml/xpath_parser.rb#641
5266
+ # source://rexml//lib/rexml/xpath_parser.rb#646
4830
5267
  def enter(tag, *args); end
4831
5268
 
4832
- # source://rexml//lib/rexml/xpath_parser.rb#819
5269
+ # source://rexml//lib/rexml/xpath_parser.rb#821
4833
5270
  def equality_relational_compare(set1, op, set2); end
4834
5271
 
4835
- # source://rexml//lib/rexml/xpath_parser.rb#591
5272
+ # source://rexml//lib/rexml/xpath_parser.rb#596
4836
5273
  def evaluate_predicate(expression, nodesets); end
4837
5274
 
4838
5275
  # Expr takes a stack of path elements and a set of nodes (either a Parent
4839
5276
  # or an Array and returns an Array of matching nodes
4840
5277
  #
4841
- # source://rexml//lib/rexml/xpath_parser.rb#175
5278
+ # source://rexml//lib/rexml/xpath_parser.rb#186
4842
5279
  def expr(path_stack, nodeset, context = T.unsafe(nil)); end
4843
5280
 
4844
- # source://rexml//lib/rexml/xpath_parser.rb#582
5281
+ # source://rexml//lib/rexml/xpath_parser.rb#587
4845
5282
  def filter_nodeset(nodeset); end
4846
5283
 
4847
- # source://rexml//lib/rexml/xpath_parser.rb#749
5284
+ # source://rexml//lib/rexml/xpath_parser.rb#754
4848
5285
  def following(node); end
4849
5286
 
4850
- # source://rexml//lib/rexml/xpath_parser.rb#760
5287
+ # source://rexml//lib/rexml/xpath_parser.rb#765
4851
5288
  def following_node_of(node); end
4852
5289
 
4853
5290
  # Returns a String namespace for a node, given a prefix
@@ -4856,22 +5293,22 @@ class REXML::XPathParser
4856
5293
  # 1. Use the supplied namespace mapping first.
4857
5294
  # 2. If no mapping was supplied, use the context node to look up the namespace
4858
5295
  #
4859
- # source://rexml//lib/rexml/xpath_parser.rb#163
5296
+ # source://rexml//lib/rexml/xpath_parser.rb#174
4860
5297
  def get_namespace(node, prefix); end
4861
5298
 
4862
- # source://rexml//lib/rexml/xpath_parser.rb#646
5299
+ # source://rexml//lib/rexml/xpath_parser.rb#651
4863
5300
  def leave(tag, *args); end
4864
5301
 
4865
- # source://rexml//lib/rexml/xpath_parser.rb#767
5302
+ # source://rexml//lib/rexml/xpath_parser.rb#771
4866
5303
  def next_sibling_node(node); end
4867
5304
 
4868
- # source://rexml//lib/rexml/xpath_parser.rb#477
5305
+ # source://rexml//lib/rexml/xpath_parser.rb#488
4869
5306
  def node_test(path_stack, nodesets, any_type: T.unsafe(nil)); end
4870
5307
 
4871
- # source://rexml//lib/rexml/xpath_parser.rb#806
5308
+ # source://rexml//lib/rexml/xpath_parser.rb#808
4872
5309
  def norm(b); end
4873
5310
 
4874
- # source://rexml//lib/rexml/xpath_parser.rb#894
5311
+ # source://rexml//lib/rexml/xpath_parser.rb#896
4875
5312
  def normalize_compare_values(a, operator, b); end
4876
5313
 
4877
5314
  # Builds a nodeset of all of the preceding nodes of the supplied node,
@@ -4879,10 +5316,10 @@ class REXML::XPathParser
4879
5316
  # preceding:: includes every element in the document that precedes this node,
4880
5317
  # except for ancestors
4881
5318
  #
4882
- # source://rexml//lib/rexml/xpath_parser.rb#712
5319
+ # source://rexml//lib/rexml/xpath_parser.rb#717
4883
5320
  def preceding(node); end
4884
5321
 
4885
- # source://rexml//lib/rexml/xpath_parser.rb#734
5322
+ # source://rexml//lib/rexml/xpath_parser.rb#739
4886
5323
  def preceding_node_of(node); end
4887
5324
 
4888
5325
  # Reorders an array of nodes so that they are in document order
@@ -4894,24 +5331,24 @@ class REXML::XPathParser
4894
5331
  # I wouldn't have to do this. Maybe add a document IDX for each node?
4895
5332
  # Problems with mutable documents. Or, rewrite everything.
4896
5333
  #
4897
- # source://rexml//lib/rexml/xpath_parser.rb#659
5334
+ # source://rexml//lib/rexml/xpath_parser.rb#664
4898
5335
  def sort(array_of_nodes, order); end
4899
5336
 
4900
- # source://rexml//lib/rexml/xpath_parser.rb#441
5337
+ # source://rexml//lib/rexml/xpath_parser.rb#452
4901
5338
  def step(path_stack, any_type: T.unsafe(nil), order: T.unsafe(nil)); end
4902
5339
 
4903
5340
  # @return [Boolean]
4904
5341
  #
4905
- # source://rexml//lib/rexml/xpath_parser.rb#154
5342
+ # source://rexml//lib/rexml/xpath_parser.rb#165
4906
5343
  def strict?; end
4907
5344
 
4908
- # source://rexml//lib/rexml/xpath_parser.rb#634
5345
+ # source://rexml//lib/rexml/xpath_parser.rb#639
4909
5346
  def trace(*args); end
4910
5347
 
4911
- # source://rexml//lib/rexml/xpath_parser.rb#954
5348
+ # source://rexml//lib/rexml/xpath_parser.rb#956
4912
5349
  def unnode(nodeset); end
4913
5350
 
4914
- # source://rexml//lib/rexml/xpath_parser.rb#881
5351
+ # source://rexml//lib/rexml/xpath_parser.rb#883
4915
5352
  def value_type(value); end
4916
5353
  end
4917
5354