openfeature-sdk-sorbet 0.2.0.2 → 0.3.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 (55) hide show
  1. checksums.yaml +4 -4
  2. data/.rubocop.yml +2 -1
  3. data/.ruby-version +1 -1
  4. data/.tool-versions +1 -1
  5. data/CHANGELOG.md +9 -6
  6. data/Gemfile +1 -1
  7. data/Gemfile.lock +55 -49
  8. data/README.md +23 -6
  9. data/lib/open_feature/client.rb +90 -32
  10. data/lib/open_feature/client_metadata.rb +1 -0
  11. data/lib/open_feature/evaluation_context.rb +7 -5
  12. data/lib/open_feature/evaluation_details.rb +2 -2
  13. data/lib/open_feature/hook.rb +41 -1
  14. data/lib/open_feature/hook_context.rb +30 -0
  15. data/lib/open_feature/hooks.rb +22 -0
  16. data/lib/open_feature/multiple_source_provider.rb +28 -12
  17. data/lib/open_feature/no_op_provider.rb +2 -3
  18. data/lib/open_feature/provider.rb +16 -2
  19. data/lib/open_feature/provider_status.rb +13 -0
  20. data/lib/open_feature.rb +9 -2
  21. data/sorbet/rbi/gems/.gitattributes +1 -0
  22. data/sorbet/rbi/gems/{json@2.6.3.rbi → json@2.7.1.rbi} +80 -60
  23. data/sorbet/rbi/gems/language_server-protocol@3.17.0.3.rbi +14237 -0
  24. data/sorbet/rbi/gems/{minitest@5.18.0.rbi → minitest@5.21.2.rbi} +299 -258
  25. data/sorbet/rbi/gems/{parallel@1.23.0.rbi → parallel@1.24.0.rbi} +8 -1
  26. data/sorbet/rbi/gems/{parser@3.2.2.1.rbi → parser@3.3.0.5.rbi} +438 -2219
  27. data/sorbet/rbi/gems/prism@0.19.0.rbi +25199 -0
  28. data/sorbet/rbi/gems/psych@5.1.2.rbi +1731 -0
  29. data/sorbet/rbi/gems/racc@1.7.3.rbi +157 -0
  30. data/sorbet/rbi/gems/{rake@13.0.6.rbi → rake@13.1.0.rbi} +68 -65
  31. data/sorbet/rbi/gems/{rbi@0.0.16.rbi → rbi@0.1.6.rbi} +628 -755
  32. data/sorbet/rbi/gems/{regexp_parser@2.8.0.rbi → regexp_parser@2.9.0.rbi} +203 -180
  33. data/sorbet/rbi/gems/{rexml@3.2.5.rbi → rexml@3.2.6.rbi} +116 -52
  34. data/sorbet/rbi/gems/{rubocop-ast@1.28.1.rbi → rubocop-ast@1.30.0.rbi} +178 -84
  35. data/sorbet/rbi/gems/{rubocop-minitest@0.31.0.rbi → rubocop-minitest@0.34.5.rbi} +280 -232
  36. data/sorbet/rbi/gems/{rubocop-performance@1.17.1.rbi → rubocop-performance@1.20.2.rbi} +397 -172
  37. data/sorbet/rbi/gems/{rubocop-sorbet@0.7.0.rbi → rubocop-sorbet@0.7.6.rbi} +728 -261
  38. data/sorbet/rbi/gems/{rubocop@1.51.0.rbi → rubocop@1.60.2.rbi} +4006 -1936
  39. data/sorbet/rbi/gems/spoom@1.2.1.rbi +17 -56
  40. data/sorbet/rbi/gems/stringio@3.1.0.rbi +8 -0
  41. data/sorbet/rbi/gems/{tapioca@0.11.6.rbi → tapioca@0.11.17.rbi} +778 -576
  42. data/sorbet/rbi/gems/{thor@1.2.2.rbi → thor@1.3.0.rbi} +775 -395
  43. data/sorbet/rbi/gems/yard-sorbet@0.8.1.rbi +1 -1
  44. data/sorbet/rbi/gems/yard@0.9.34.rbi +2 -2
  45. data/sorbet/rbi/gems/{zeitwerk@2.6.8.rbi → zeitwerk@2.6.12.rbi} +78 -67
  46. data/sorbet/tapioca/config.yml +2 -2
  47. data/sorbet/tapioca/require.rb +3 -1
  48. metadata +36 -31
  49. data/openfeature-sdk-sorbet.gemspec +0 -35
  50. data/sorbet/rbi/gems/diff-lcs@1.5.0.rbi +0 -1083
  51. data/sorbet/rbi/gems/irb@1.6.4.rbi +0 -342
  52. data/sorbet/rbi/gems/unparser@0.6.7.rbi +0 -4524
  53. /data/sorbet/rbi/gems/{io-console@0.6.0.rbi → io-console@0.7.2.rbi} +0 -0
  54. /data/sorbet/rbi/gems/{reline@0.3.3.rbi → reline@0.4.2.rbi} +0 -0
  55. /data/sorbet/rbi/gems/{unicode-display_width@2.4.2.rbi → unicode-display_width@2.5.0.rbi} +0 -0
@@ -101,18 +101,18 @@ class REXML::Attribute
101
101
  #
102
102
  # @return [Attribute] a new instance of Attribute
103
103
  #
104
- # source://rexml//lib/rexml/attribute.rb#45
104
+ # source://rexml//lib/rexml/attribute.rb#42
105
105
  def initialize(first, second = T.unsafe(nil), parent = T.unsafe(nil)); end
106
106
 
107
107
  # Returns true if other is an Attribute and has the same name and value,
108
108
  # false otherwise.
109
109
  #
110
- # source://rexml//lib/rexml/attribute.rb#109
110
+ # source://rexml//lib/rexml/attribute.rb#106
111
111
  def ==(other); end
112
112
 
113
113
  # Returns a copy of this attribute
114
114
  #
115
- # source://rexml//lib/rexml/attribute.rb#158
115
+ # source://rexml//lib/rexml/attribute.rb#163
116
116
  def clone; end
117
117
 
118
118
  # source://rexml//lib/rexml/attribute.rb#132
@@ -128,15 +128,15 @@ class REXML::Attribute
128
128
  #
129
129
  # Returns this attribute
130
130
  #
131
- # source://rexml//lib/rexml/attribute.rb#166
131
+ # source://rexml//lib/rexml/attribute.rb#171
132
132
  def element=(element); end
133
133
 
134
134
  # Creates (and returns) a hash from both the name and value
135
135
  #
136
- # source://rexml//lib/rexml/attribute.rb#114
136
+ # source://rexml//lib/rexml/attribute.rb#111
137
137
  def hash; end
138
138
 
139
- # source://rexml//lib/rexml/attribute.rb#192
139
+ # source://rexml//lib/rexml/attribute.rb#197
140
140
  def inspect; end
141
141
 
142
142
  # Returns the namespace URL, if defined, or nil otherwise
@@ -161,17 +161,17 @@ class REXML::Attribute
161
161
  # e.add_attribute("a", "b")
162
162
  # e.attribute("a").namespace # => ""
163
163
  #
164
- # source://rexml//lib/rexml/attribute.rb#98
164
+ # source://rexml//lib/rexml/attribute.rb#95
165
165
  def namespace(arg = T.unsafe(nil)); end
166
166
 
167
- # source://rexml//lib/rexml/attribute.rb#188
167
+ # source://rexml//lib/rexml/attribute.rb#193
168
168
  def node_type; end
169
169
 
170
170
  # The normalized value of this attribute. That is, the attribute with
171
171
  # entities intact.
172
172
  #
173
- # source://rexml//lib/rexml/attribute.rb#18
174
- def normalized=(_arg0); end
173
+ # source://rexml//lib/rexml/attribute.rb#157
174
+ def normalized=(new_normalized); end
175
175
 
176
176
  # Returns the namespace of the attribute.
177
177
  #
@@ -183,14 +183,14 @@ class REXML::Attribute
183
183
  # a = Attribute.new( "x", "y" )
184
184
  # a.prefix # -> ""
185
185
  #
186
- # source://rexml//lib/rexml/attribute.rb#73
186
+ # source://rexml//lib/rexml/attribute.rb#70
187
187
  def prefix; end
188
188
 
189
189
  # Removes this Attribute from the tree, and returns true if successful
190
190
  #
191
191
  # This method is usually not called directly.
192
192
  #
193
- # source://rexml//lib/rexml/attribute.rb#179
193
+ # source://rexml//lib/rexml/attribute.rb#184
194
194
  def remove; end
195
195
 
196
196
  # Returns the attribute value, with entities replaced
@@ -205,21 +205,21 @@ class REXML::Attribute
205
205
  # b = Attribute.new( "ns:x", "y" )
206
206
  # b.to_string # -> "ns:x='y'"
207
207
  #
208
- # source://rexml//lib/rexml/attribute.rb#124
208
+ # source://rexml//lib/rexml/attribute.rb#121
209
209
  def to_string; end
210
210
 
211
211
  # Returns the UNNORMALIZED value of this attribute. That is, entities
212
212
  # have been expanded to their values
213
213
  #
214
- # source://rexml//lib/rexml/attribute.rb#150
214
+ # source://rexml//lib/rexml/attribute.rb#149
215
215
  def value; end
216
216
 
217
217
  # Writes this attribute (EG, puts 'key="value"' to the output)
218
218
  #
219
- # source://rexml//lib/rexml/attribute.rb#184
219
+ # source://rexml//lib/rexml/attribute.rb#189
220
220
  def write(output, indent = T.unsafe(nil)); end
221
221
 
222
- # source://rexml//lib/rexml/attribute.rb#198
222
+ # source://rexml//lib/rexml/attribute.rb#203
223
223
  def xpath; end
224
224
  end
225
225
 
@@ -978,7 +978,7 @@ class REXML::Document < ::REXML::Element
978
978
  # d.to_s # => "<root><foo>Foo</foo><bar>Bar</bar></root>"
979
979
  #
980
980
  # When argument +document+ is given, it must be an existing
981
- # document object, whose context and attributes (but not chidren)
981
+ # document object, whose context and attributes (but not children)
982
982
  # are cloned into the new document:
983
983
  #
984
984
  # d = REXML::Document.new(xml_string)
@@ -2225,7 +2225,7 @@ class REXML::Element < ::REXML::Parent
2225
2225
  # :call-seq:
2226
2226
  # has_text? -> true or false
2227
2227
  #
2228
- # Returns +true if the element has one or more text noded,
2228
+ # Returns +true+ if the element has one or more text noded,
2229
2229
  # +false+ otherwise:
2230
2230
  #
2231
2231
  # d = REXML::Document.new '<a><b/>text<c/></a>'
@@ -2473,7 +2473,7 @@ class REXML::Element < ::REXML::Parent
2473
2473
  # text(xpath = nil) -> text_string or nil
2474
2474
  #
2475
2475
  # Returns the text string from the first text node child
2476
- # in a specified element, if it exists, # +nil+ otherwise.
2476
+ # in a specified element, if it exists, +nil+ otherwise.
2477
2477
  #
2478
2478
  # With no argument, returns the text from the first text node in +self+:
2479
2479
  #
@@ -2481,7 +2481,7 @@ class REXML::Element < ::REXML::Parent
2481
2481
  # d.root.text.class # => String
2482
2482
  # d.root.text # => "some text "
2483
2483
  #
2484
- # With argument +xpath+, returns text from the the first text node
2484
+ # With argument +xpath+, returns text from the first text node
2485
2485
  # in the element that matches +xpath+:
2486
2486
  #
2487
2487
  # d.root.text(1) # => "this is bold!"
@@ -3252,6 +3252,9 @@ class REXML::Entity < ::REXML::Child
3252
3252
  # source://rexml//lib/rexml/entity.rb#85
3253
3253
  def normalized; end
3254
3254
 
3255
+ # source://rexml//lib/rexml/entity.rb#138
3256
+ def parent=(other); end
3257
+
3255
3258
  # Returns the value of attribute pubid.
3256
3259
  #
3257
3260
  # source://rexml//lib/rexml/entity.rb#22
@@ -3298,6 +3301,11 @@ class REXML::Entity < ::REXML::Child
3298
3301
  # source://rexml//lib/rexml/entity.rb#97
3299
3302
  def write(out, indent = T.unsafe(nil)); end
3300
3303
 
3304
+ private
3305
+
3306
+ # source://rexml//lib/rexml/entity.rb#144
3307
+ def resolve_value; end
3308
+
3301
3309
  class << self
3302
3310
  # Evaluates whether the given string matches an entity definition,
3303
3311
  # returning true if so, and false otherwise.
@@ -3554,6 +3562,54 @@ class REXML::Instruction < ::REXML::Child
3554
3562
  def write(writer, indent = T.unsafe(nil), transitive = T.unsafe(nil), ie_hack = T.unsafe(nil)); end
3555
3563
  end
3556
3564
 
3565
+ # Adds named attributes to an object.
3566
+ #
3567
+ # source://rexml//lib/rexml/namespace.rb#7
3568
+ module REXML::Namespace
3569
+ include ::REXML::XMLTokens
3570
+
3571
+ # The name of the object, valid if set
3572
+ #
3573
+ # source://rexml//lib/rexml/namespace.rb#9
3574
+ def expanded_name; end
3575
+
3576
+ # Fully expand the name, even if the prefix wasn't specified in the
3577
+ # source file.
3578
+ #
3579
+ # source://rexml//lib/rexml/namespace.rb#57
3580
+ def fully_expanded_name; end
3581
+
3582
+ # Compares names optionally WITH namespaces
3583
+ #
3584
+ # @return [Boolean]
3585
+ #
3586
+ # source://rexml//lib/rexml/namespace.rb#43
3587
+ def has_name?(other, ns = T.unsafe(nil)); end
3588
+
3589
+ # The name of the object, valid if set
3590
+ #
3591
+ # source://rexml//lib/rexml/namespace.rb#9
3592
+ def name; end
3593
+
3594
+ # Sets the name and the expanded name
3595
+ #
3596
+ # source://rexml//lib/rexml/namespace.rb#17
3597
+ def name=(name); end
3598
+
3599
+ # The expanded name of the object, valid if name is set
3600
+ #
3601
+ # source://rexml//lib/rexml/namespace.rb#11
3602
+ def prefix; end
3603
+
3604
+ # The expanded name of the object, valid if name is set
3605
+ #
3606
+ # source://rexml//lib/rexml/namespace.rb#11
3607
+ def prefix=(_arg0); end
3608
+ end
3609
+
3610
+ # source://rexml//lib/rexml/namespace.rb#13
3611
+ REXML::Namespace::NAME_WITHOUT_NAMESPACE = T.let(T.unsafe(nil), Regexp)
3612
+
3557
3613
  # source://rexml//lib/rexml/doctype.rb#280
3558
3614
  class REXML::NotationDecl < ::REXML::Child
3559
3615
  # @return [NotationDecl] a new instance of NotationDecl
@@ -3972,57 +4028,62 @@ end
3972
4028
  # There is strange, dark magic at work in this code. Beware. Go back! Go
3973
4029
  # back while you still can!
3974
4030
  #
3975
- # source://rexml//lib/rexml/parsers/xpathparser.rb#11
4031
+ # source://rexml//lib/rexml/parsers/xpathparser.rb#12
3976
4032
  class REXML::Parsers::XPathParser
3977
4033
  include ::REXML::XMLTokens
3978
4034
 
3979
- # source://rexml//lib/rexml/parsers/xpathparser.rb#41
3980
- def abbreviate(path); end
4035
+ # source://rexml//lib/rexml/parsers/xpathparser.rb#42
4036
+ def abbreviate(path_or_parsed); end
3981
4037
 
3982
- # source://rexml//lib/rexml/parsers/xpathparser.rb#99
3983
- def expand(path); end
4038
+ # source://rexml//lib/rexml/parsers/xpathparser.rb#132
4039
+ def expand(path_or_parsed); end
3984
4040
 
3985
- # source://rexml//lib/rexml/parsers/xpathparser.rb#15
4041
+ # source://rexml//lib/rexml/parsers/xpathparser.rb#16
3986
4042
  def namespaces=(namespaces); end
3987
4043
 
3988
- # source://rexml//lib/rexml/parsers/xpathparser.rb#20
4044
+ # source://rexml//lib/rexml/parsers/xpathparser.rb#21
3989
4045
  def parse(path); end
3990
4046
 
3991
- # source://rexml//lib/rexml/parsers/xpathparser.rb#35
4047
+ # For backward compatibility
4048
+ #
4049
+ # source://rexml//lib/rexml/parsers/xpathparser.rb#174
4050
+ def preciate_to_string(parsed, &block); end
4051
+
4052
+ # source://rexml//lib/rexml/parsers/xpathparser.rb#36
3992
4053
  def predicate(path); end
3993
4054
 
3994
- # source://rexml//lib/rexml/parsers/xpathparser.rb#138
3995
- def predicate_to_string(path, &block); end
4055
+ # source://rexml//lib/rexml/parsers/xpathparser.rb#174
4056
+ def predicate_to_path(parsed, &block); end
3996
4057
 
3997
4058
  private
3998
4059
 
3999
4060
  # | AdditiveExpr ('+' | '-') MultiplicativeExpr
4000
4061
  # | MultiplicativeExpr
4001
4062
  #
4002
- # source://rexml//lib/rexml/parsers/xpathparser.rb#455
4063
+ # source://rexml//lib/rexml/parsers/xpathparser.rb#505
4003
4064
  def AdditiveExpr(path, parsed); end
4004
4065
 
4005
4066
  # | AndExpr S 'and' S EqualityExpr
4006
4067
  # | EqualityExpr
4007
4068
  #
4008
- # source://rexml//lib/rexml/parsers/xpathparser.rb#388
4069
+ # source://rexml//lib/rexml/parsers/xpathparser.rb#438
4009
4070
  def AndExpr(path, parsed); end
4010
4071
 
4011
4072
  # | EqualityExpr ('=' | '!=') RelationalExpr
4012
4073
  # | RelationalExpr
4013
4074
  #
4014
- # source://rexml//lib/rexml/parsers/xpathparser.rb#407
4075
+ # source://rexml//lib/rexml/parsers/xpathparser.rb#457
4015
4076
  def EqualityExpr(path, parsed); end
4016
4077
 
4017
4078
  # | FilterExpr Predicate
4018
4079
  # | PrimaryExpr
4019
4080
  #
4020
- # source://rexml//lib/rexml/parsers/xpathparser.rb#558
4081
+ # source://rexml//lib/rexml/parsers/xpathparser.rb#608
4021
4082
  def FilterExpr(path, parsed); end
4022
4083
 
4023
4084
  # | FUNCTION_NAME '(' ( expr ( ',' expr )* )? ')'
4024
4085
  #
4025
- # source://rexml//lib/rexml/parsers/xpathparser.rb#613
4086
+ # source://rexml//lib/rexml/parsers/xpathparser.rb#663
4026
4087
  def FunctionCall(rest, parsed); end
4027
4088
 
4028
4089
  # LocationPath
@@ -4030,69 +4091,72 @@ class REXML::Parsers::XPathParser
4030
4091
  # | '/' RelativeLocationPath?
4031
4092
  # | '//' RelativeLocationPath
4032
4093
  #
4033
- # source://rexml//lib/rexml/parsers/xpathparser.rb#193
4094
+ # source://rexml//lib/rexml/parsers/xpathparser.rb#243
4034
4095
  def LocationPath(path, parsed); end
4035
4096
 
4036
4097
  # | MultiplicativeExpr ('*' | S ('div' | 'mod') S) UnaryExpr
4037
4098
  # | UnaryExpr
4038
4099
  #
4039
- # source://rexml//lib/rexml/parsers/xpathparser.rb#478
4100
+ # source://rexml//lib/rexml/parsers/xpathparser.rb#528
4040
4101
  def MultiplicativeExpr(path, parsed); end
4041
4102
 
4042
- # source://rexml//lib/rexml/parsers/xpathparser.rb#293
4103
+ # source://rexml//lib/rexml/parsers/xpathparser.rb#343
4043
4104
  def NodeTest(path, parsed); end
4044
4105
 
4045
4106
  # | OrExpr S 'or' S AndExpr
4046
4107
  # | AndExpr
4047
4108
  #
4048
- # source://rexml//lib/rexml/parsers/xpathparser.rb#369
4109
+ # source://rexml//lib/rexml/parsers/xpathparser.rb#419
4049
4110
  def OrExpr(path, parsed); end
4050
4111
 
4051
4112
  # | LocationPath
4052
4113
  # | FilterExpr ('/' | '//') RelativeLocationPath
4053
4114
  #
4054
- # source://rexml//lib/rexml/parsers/xpathparser.rb#540
4115
+ # source://rexml//lib/rexml/parsers/xpathparser.rb#590
4055
4116
  def PathExpr(path, parsed); end
4056
4117
 
4057
4118
  # Filters the supplied nodeset on the predicate(s)
4058
4119
  #
4059
- # source://rexml//lib/rexml/parsers/xpathparser.rb#345
4120
+ # source://rexml//lib/rexml/parsers/xpathparser.rb#395
4060
4121
  def Predicate(path, parsed); end
4061
4122
 
4062
- # source://rexml//lib/rexml/parsers/xpathparser.rb#576
4123
+ # source://rexml//lib/rexml/parsers/xpathparser.rb#626
4063
4124
  def PrimaryExpr(path, parsed); end
4064
4125
 
4065
4126
  # | RelationalExpr ('<' | '>' | '<=' | '>=') AdditiveExpr
4066
4127
  # | AdditiveExpr
4067
4128
  #
4068
- # source://rexml//lib/rexml/parsers/xpathparser.rb#430
4129
+ # source://rexml//lib/rexml/parsers/xpathparser.rb#480
4069
4130
  def RelationalExpr(path, parsed); end
4070
4131
 
4071
- # source://rexml//lib/rexml/parsers/xpathparser.rb#217
4132
+ # source://rexml//lib/rexml/parsers/xpathparser.rb#267
4072
4133
  def RelativeLocationPath(path, parsed); end
4073
4134
 
4074
4135
  # | '-' UnaryExpr
4075
4136
  # | UnionExpr
4076
4137
  #
4077
- # source://rexml//lib/rexml/parsers/xpathparser.rb#503
4138
+ # source://rexml//lib/rexml/parsers/xpathparser.rb#553
4078
4139
  def UnaryExpr(path, parsed); end
4079
4140
 
4080
4141
  # | UnionExpr '|' PathExpr
4081
4142
  # | PathExpr
4082
4143
  #
4083
- # source://rexml//lib/rexml/parsers/xpathparser.rb#521
4144
+ # source://rexml//lib/rexml/parsers/xpathparser.rb#571
4084
4145
  def UnionExpr(path, parsed); end
4085
4146
 
4086
4147
  # get_group( '[foo]bar' ) -> ['bar', '[foo]']
4087
4148
  #
4088
- # source://rexml//lib/rexml/parsers/xpathparser.rb#626
4149
+ # source://rexml//lib/rexml/parsers/xpathparser.rb#676
4089
4150
  def get_group(string); end
4090
4151
 
4091
- # source://rexml//lib/rexml/parsers/xpathparser.rb#644
4152
+ # source://rexml//lib/rexml/parsers/xpathparser.rb#694
4092
4153
  def parse_args(string); end
4154
+
4155
+ # source://rexml//lib/rexml/parsers/xpathparser.rb#224
4156
+ def quote_literal(literal); end
4093
4157
  end
4094
4158
 
4095
- # source://rexml//lib/rexml/parsers/xpathparser.rb#289
4159
+ # source://rexml//lib/rexml/parsers/xpathparser.rb#339
4096
4160
  REXML::Parsers::XPathParser::LOCAL_NAME_WILDCARD = T.let(T.unsafe(nil), Regexp)
4097
4161
 
4098
4162
  # Returns a 1-1 map of the nodeset
@@ -4106,7 +4170,7 @@ REXML::Parsers::XPathParser::LOCAL_NAME_WILDCARD = T.let(T.unsafe(nil), Regexp)
4106
4170
  # | PI '(' LITERAL ')' PI
4107
4171
  # | '[' expr ']' Predicate
4108
4172
  #
4109
- # source://rexml//lib/rexml/parsers/xpathparser.rb#288
4173
+ # source://rexml//lib/rexml/parsers/xpathparser.rb#338
4110
4174
  REXML::Parsers::XPathParser::PREFIX_WILDCARD = T.let(T.unsafe(nil), Regexp)
4111
4175
 
4112
4176
  # source://rexml//lib/rexml/doctype.rb#10
@@ -4401,7 +4465,7 @@ class REXML::Text < ::REXML::Child
4401
4465
  # source://rexml//lib/rexml/text.rb#131
4402
4466
  def check(string, pattern, doctype); end
4403
4467
 
4404
- # source://rexml//lib/rexml/text.rb#405
4468
+ # source://rexml//lib/rexml/text.rb#407
4405
4469
  def expand(ref, doctype, filter); end
4406
4470
 
4407
4471
  # Escapes all possible entities
@@ -4416,7 +4480,7 @@ class REXML::Text < ::REXML::Child
4416
4480
 
4417
4481
  # Unescapes all possible entities
4418
4482
  #
4419
- # source://rexml//lib/rexml/text.rb#392
4483
+ # source://rexml//lib/rexml/text.rb#394
4420
4484
  def unnormalize(string, doctype = T.unsafe(nil), filter = T.unsafe(nil), illegal = T.unsafe(nil)); end
4421
4485
  end
4422
4486
  end