stripe 10.13.0.pre.beta.1 → 10.13.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (103) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +46 -300
  3. data/OPENAPI_VERSION +1 -1
  4. data/README.md +0 -11
  5. data/VERSION +1 -1
  6. data/lib/stripe/api_operations/request.rb +1 -2
  7. data/lib/stripe/api_version.rb +0 -1
  8. data/lib/stripe/object_types.rb +1 -23
  9. data/lib/stripe/resources/customer.rb +0 -11
  10. data/lib/stripe/resources/financial_connections/account.rb +0 -3
  11. data/lib/stripe/resources/forwarding/request.rb +50 -0
  12. data/lib/stripe/resources/invoice.rb +0 -113
  13. data/lib/stripe/resources/payment_intent.rb +0 -50
  14. data/lib/stripe/resources/quote.rb +0 -104
  15. data/lib/stripe/resources/subscription_schedule.rb +0 -20
  16. data/lib/stripe/resources/terminal/reader.rb +0 -60
  17. data/lib/stripe/resources.rb +1 -22
  18. data/lib/stripe/stripe_client.rb +28 -62
  19. data/lib/stripe/stripe_configuration.rb +1 -2
  20. data/lib/stripe/util.rb +1 -8
  21. data/lib/stripe/version.rb +1 -1
  22. data/lib/stripe.rb +0 -54
  23. data/stripe.gemspec +3 -0
  24. metadata +5 -84
  25. data/bin/tapioca +0 -27
  26. data/lib/stripe/request_signing_authenticator.rb +0 -79
  27. data/lib/stripe/resources/account_notice.rb +0 -32
  28. data/lib/stripe/resources/billing/meter.rb +0 -83
  29. data/lib/stripe/resources/billing/meter_event.rb +0 -27
  30. data/lib/stripe/resources/billing/meter_event_adjustment.rb +0 -26
  31. data/lib/stripe/resources/billing/meter_event_summary.rb +0 -15
  32. data/lib/stripe/resources/capital/financing_offer.rb +0 -49
  33. data/lib/stripe/resources/capital/financing_summary.rb +0 -15
  34. data/lib/stripe/resources/capital/financing_transaction.rb +0 -27
  35. data/lib/stripe/resources/customer_entitlement.rb +0 -12
  36. data/lib/stripe/resources/customer_entitlement_summary.rb +0 -12
  37. data/lib/stripe/resources/entitlements/feature.rb +0 -38
  38. data/lib/stripe/resources/financial_connections/account_inferred_balance.rb +0 -14
  39. data/lib/stripe/resources/gift_cards/card.rb +0 -59
  40. data/lib/stripe/resources/gift_cards/transaction.rb +0 -93
  41. data/lib/stripe/resources/invoice_payment.rb +0 -12
  42. data/lib/stripe/resources/issuing/credit_underwriting_record.rb +0 -88
  43. data/lib/stripe/resources/margin.rb +0 -37
  44. data/lib/stripe/resources/order.rb +0 -120
  45. data/lib/stripe/resources/quote_phase.rb +0 -39
  46. data/lib/stripe/resources/quote_preview_invoice.rb +0 -43
  47. data/lib/stripe/resources/quote_preview_subscription_schedule.rb +0 -11
  48. data/lib/stripe/resources/tax/form.rb +0 -49
  49. data/sorbet/config +0 -4
  50. data/sorbet/rbi/annotations/.gitattributes +0 -1
  51. data/sorbet/rbi/annotations/coveralls_reborn.rbi +0 -3
  52. data/sorbet/rbi/gems/.gitattributes +0 -1
  53. data/sorbet/rbi/gems/addressable@2.8.6.rbi +0 -1993
  54. data/sorbet/rbi/gems/ast@2.4.2.rbi +0 -584
  55. data/sorbet/rbi/gems/byebug@11.1.3.rbi +0 -3606
  56. data/sorbet/rbi/gems/coderay@1.1.3.rbi +0 -3437
  57. data/sorbet/rbi/gems/coveralls_reborn@0.25.0.rbi +0 -8
  58. data/sorbet/rbi/gems/crack@0.4.5.rbi +0 -144
  59. data/sorbet/rbi/gems/docile@1.4.0.rbi +0 -8
  60. data/sorbet/rbi/gems/erubi@1.12.0.rbi +0 -146
  61. data/sorbet/rbi/gems/hashdiff@1.1.0.rbi +0 -352
  62. data/sorbet/rbi/gems/jaro_winkler@1.5.4.rbi +0 -19
  63. data/sorbet/rbi/gems/json@2.7.1.rbi +0 -1561
  64. data/sorbet/rbi/gems/language_server-protocol@3.17.0.3.rbi +0 -14237
  65. data/sorbet/rbi/gems/method_source@1.0.0.rbi +0 -272
  66. data/sorbet/rbi/gems/mocha@1.16.1.rbi +0 -11
  67. data/sorbet/rbi/gems/netrc@0.11.0.rbi +0 -161
  68. data/sorbet/rbi/gems/parallel@1.24.0.rbi +0 -280
  69. data/sorbet/rbi/gems/parser@3.2.2.4.rbi +0 -9454
  70. data/sorbet/rbi/gems/power_assert@2.0.3.rbi +0 -414
  71. data/sorbet/rbi/gems/prettier_print@1.2.1.rbi +0 -951
  72. data/sorbet/rbi/gems/prism@0.19.0.rbi +0 -29883
  73. data/sorbet/rbi/gems/pry-byebug@3.10.1.rbi +0 -1150
  74. data/sorbet/rbi/gems/pry@0.14.2.rbi +0 -10085
  75. data/sorbet/rbi/gems/public_suffix@5.0.4.rbi +0 -931
  76. data/sorbet/rbi/gems/racc@1.7.3.rbi +0 -161
  77. data/sorbet/rbi/gems/rack@3.0.8.rbi +0 -5193
  78. data/sorbet/rbi/gems/rainbow@3.1.1.rbi +0 -402
  79. data/sorbet/rbi/gems/rake@13.1.0.rbi +0 -2884
  80. data/sorbet/rbi/gems/rbi@0.1.6.rbi +0 -2922
  81. data/sorbet/rbi/gems/regexp_parser@2.8.3.rbi +0 -3766
  82. data/sorbet/rbi/gems/rexml@3.2.6.rbi +0 -4887
  83. data/sorbet/rbi/gems/rubocop-ast@1.30.0.rbi +0 -7004
  84. data/sorbet/rbi/gems/rubocop@1.57.2.rbi +0 -56919
  85. data/sorbet/rbi/gems/ruby-progressbar@1.13.0.rbi +0 -1317
  86. data/sorbet/rbi/gems/shoulda-context@2.0.0.rbi +0 -555
  87. data/sorbet/rbi/gems/simplecov-html@0.12.3.rbi +0 -8
  88. data/sorbet/rbi/gems/simplecov@0.21.2.rbi +0 -8
  89. data/sorbet/rbi/gems/simplecov_json_formatter@0.1.4.rbi +0 -8
  90. data/sorbet/rbi/gems/spoom@1.2.4.rbi +0 -3777
  91. data/sorbet/rbi/gems/sync@0.5.0.rbi +0 -8
  92. data/sorbet/rbi/gems/syntax_tree@6.2.0.rbi +0 -23136
  93. data/sorbet/rbi/gems/tapioca@0.11.17.rbi +0 -3503
  94. data/sorbet/rbi/gems/term-ansicolor@1.7.1.rbi +0 -8
  95. data/sorbet/rbi/gems/test-unit@3.6.1.rbi +0 -4403
  96. data/sorbet/rbi/gems/thor@1.3.0.rbi +0 -4345
  97. data/sorbet/rbi/gems/tins@1.32.1.rbi +0 -8
  98. data/sorbet/rbi/gems/unicode-display_width@2.5.0.rbi +0 -65
  99. data/sorbet/rbi/gems/webmock@3.19.1.rbi +0 -1740
  100. data/sorbet/rbi/gems/yard-sorbet@0.8.1.rbi +0 -428
  101. data/sorbet/rbi/gems/yard@0.9.34.rbi +0 -18219
  102. data/sorbet/tapioca/config.yml +0 -13
  103. data/sorbet/tapioca/require.rb +0 -4
@@ -1,931 +0,0 @@
1
- # typed: true
2
-
3
- # DO NOT EDIT MANUALLY
4
- # This is an autogenerated file for types exported from the `public_suffix` gem.
5
- # Please instead update this file by running `bin/tapioca gem public_suffix`.
6
-
7
- # source://public_suffix//lib/public_suffix/domain.rb#9
8
- module PublicSuffix
9
- class << self
10
- # private
11
- #
12
- # source://public_suffix//lib/public_suffix.rb#149
13
- def decompose(name, rule); end
14
-
15
- # Attempt to parse the name and returns the domain, if valid.
16
- #
17
- # This method doesn't raise. Instead, it returns nil if the domain is not valid for whatever reason.
18
- #
19
- # @param name [#to_s] The domain name or fully qualified domain name to parse.
20
- # @param list [PublicSuffix::List] The rule list to search, defaults to the default {PublicSuffix::List}
21
- # @param ignore_private [Boolean]
22
- # @return [String]
23
- #
24
- # source://public_suffix//lib/public_suffix.rb#140
25
- def domain(name, **options); end
26
-
27
- # Pretend we know how to deal with user input.
28
- #
29
- # source://public_suffix//lib/public_suffix.rb#164
30
- def normalize(name); end
31
-
32
- # Parses +name+ and returns the {PublicSuffix::Domain} instance.
33
- #
34
- # @example Parse a valid domain
35
- # PublicSuffix.parse("google.com")
36
- # # => #<PublicSuffix::Domain:0x007fec2e51e588 @sld="google", @tld="com", @trd=nil>
37
- # @example Parse a valid subdomain
38
- # PublicSuffix.parse("www.google.com")
39
- # # => #<PublicSuffix::Domain:0x007fec276d4cf8 @sld="google", @tld="com", @trd="www">
40
- # @example Parse a fully qualified domain
41
- # PublicSuffix.parse("google.com.")
42
- # # => #<PublicSuffix::Domain:0x007fec257caf38 @sld="google", @tld="com", @trd=nil>
43
- # @example Parse a fully qualified domain (subdomain)
44
- # PublicSuffix.parse("www.google.com.")
45
- # # => #<PublicSuffix::Domain:0x007fec27b6bca8 @sld="google", @tld="com", @trd="www">
46
- # @example Parse an invalid (unlisted) domain
47
- # PublicSuffix.parse("x.yz")
48
- # # => #<PublicSuffix::Domain:0x007fec2f49bec0 @sld="x", @tld="yz", @trd=nil>
49
- # @example Parse an invalid (unlisted) domain with strict checking (without applying the default * rule)
50
- # PublicSuffix.parse("x.yz", default_rule: nil)
51
- # # => PublicSuffix::DomainInvalid: `x.yz` is not a valid domain
52
- # @example Parse an URL (not supported, only domains)
53
- # PublicSuffix.parse("http://www.google.com")
54
- # # => PublicSuffix::DomainInvalid: http://www.google.com is not expected to contain a scheme
55
- # @param name [#to_s] The domain name or fully qualified domain name to parse.
56
- # @param list [PublicSuffix::List] The rule list to search, defaults to the default {PublicSuffix::List}
57
- # @param ignore_private [Boolean]
58
- # @raise [PublicSuffix::DomainInvalid] If domain is not a valid domain.
59
- # @raise [PublicSuffix::DomainNotAllowed] If a rule for +domain+ is found, but the rule doesn't allow +domain+.
60
- # @return [PublicSuffix::Domain]
61
- #
62
- # source://public_suffix//lib/public_suffix.rb#67
63
- def parse(name, list: T.unsafe(nil), default_rule: T.unsafe(nil), ignore_private: T.unsafe(nil)); end
64
-
65
- # Checks whether +domain+ is assigned and allowed, without actually parsing it.
66
- #
67
- # This method doesn't care whether domain is a domain or subdomain.
68
- # The validation is performed using the default {PublicSuffix::List}.
69
- #
70
- # @example Validate a valid domain
71
- # PublicSuffix.valid?("example.com")
72
- # # => true
73
- # @example Validate a valid subdomain
74
- # PublicSuffix.valid?("www.example.com")
75
- # # => true
76
- # @example Validate a not-listed domain
77
- # PublicSuffix.valid?("example.tldnotlisted")
78
- # # => true
79
- # @example Validate a not-listed domain with strict checking (without applying the default * rule)
80
- # PublicSuffix.valid?("example.tldnotlisted")
81
- # # => true
82
- # PublicSuffix.valid?("example.tldnotlisted", default_rule: nil)
83
- # # => false
84
- # @example Validate a fully qualified domain
85
- # PublicSuffix.valid?("google.com.")
86
- # # => true
87
- # PublicSuffix.valid?("www.google.com.")
88
- # # => true
89
- # @example Check an URL (which is not a valid domain)
90
- # PublicSuffix.valid?("http://www.example.com")
91
- # # => false
92
- # @param name [#to_s] The domain name or fully qualified domain name to validate.
93
- # @param ignore_private [Boolean]
94
- # @return [Boolean]
95
- #
96
- # source://public_suffix//lib/public_suffix.rb#123
97
- def valid?(name, list: T.unsafe(nil), default_rule: T.unsafe(nil), ignore_private: T.unsafe(nil)); end
98
- end
99
- end
100
-
101
- # source://public_suffix//lib/public_suffix.rb#26
102
- PublicSuffix::BANG = T.let(T.unsafe(nil), String)
103
-
104
- # source://public_suffix//lib/public_suffix.rb#25
105
- PublicSuffix::DOT = T.let(T.unsafe(nil), String)
106
-
107
- # Domain represents a domain name, composed by a TLD, SLD and TRD.
108
- #
109
- # source://public_suffix//lib/public_suffix/domain.rb#12
110
- class PublicSuffix::Domain
111
- # Creates and returns a new {PublicSuffix::Domain} instance.
112
- #
113
- # @example Initialize with a TLD and SLD
114
- # PublicSuffix::Domain.new("com", "example")
115
- # # => #<PublicSuffix::Domain @tld="com", @trd=nil>
116
- # @example Initialize with a TLD
117
- # PublicSuffix::Domain.new("com")
118
- # # => #<PublicSuffix::Domain @tld="com">
119
- # @example Initialize with a TLD, SLD and TRD
120
- # PublicSuffix::Domain.new("com", "example", "wwww")
121
- # # => #<PublicSuffix::Domain @tld="com", @trd=nil, @sld="example">
122
- # @overload initialize
123
- # @overload initialize
124
- # @overload initialize
125
- # @return [Domain] a new instance of Domain
126
- # @yield [self] Yields on self.
127
- # @yieldparam self [PublicSuffix::Domain] The newly creates instance
128
- #
129
- # source://public_suffix//lib/public_suffix/domain.rb#65
130
- def initialize(*args); end
131
-
132
- # Returns a domain-like representation of this object
133
- # if the object is a {#domain?}, <tt>nil</tt> otherwise.
134
- #
135
- # PublicSuffix::Domain.new("com").domain
136
- # # => nil
137
- #
138
- # PublicSuffix::Domain.new("com", "google").domain
139
- # # => "google.com"
140
- #
141
- # PublicSuffix::Domain.new("com", "google", "www").domain
142
- # # => "www.google.com"
143
- #
144
- # This method doesn't validate the input. It handles the domain
145
- # as a valid domain name and simply applies the necessary transformations.
146
- #
147
- # This method returns a FQD, not just the domain part.
148
- # To get the domain part, use <tt>#sld</tt> (aka second level domain).
149
- #
150
- # PublicSuffix::Domain.new("com", "google", "www").domain
151
- # # => "google.com"
152
- #
153
- # PublicSuffix::Domain.new("com", "google", "www").sld
154
- # # => "google"
155
- #
156
- # @return [String]
157
- # @see #domain?
158
- # @see #subdomain
159
- #
160
- # source://public_suffix//lib/public_suffix/domain.rb#137
161
- def domain; end
162
-
163
- # Checks whether <tt>self</tt> looks like a domain.
164
- #
165
- # This method doesn't actually validate the domain.
166
- # It only checks whether the instance contains
167
- # a value for the {#tld} and {#sld} attributes.
168
- #
169
- # @example
170
- #
171
- # PublicSuffix::Domain.new("com").domain?
172
- # # => false
173
- #
174
- # PublicSuffix::Domain.new("com", "google").domain?
175
- # # => true
176
- #
177
- # PublicSuffix::Domain.new("com", "google", "www").domain?
178
- # # => true
179
- #
180
- # # This is an invalid domain, but returns true
181
- # # because this method doesn't validate the content.
182
- # PublicSuffix::Domain.new("com", nil).domain?
183
- # # => true
184
- # @return [Boolean]
185
- # @see #subdomain?
186
- #
187
- # source://public_suffix//lib/public_suffix/domain.rb#198
188
- def domain?; end
189
-
190
- # Returns the full domain name.
191
- #
192
- # @example Gets the domain name of a domain
193
- # PublicSuffix::Domain.new("com", "google").name
194
- # # => "google.com"
195
- # @example Gets the domain name of a subdomain
196
- # PublicSuffix::Domain.new("com", "google", "www").name
197
- # # => "www.google.com"
198
- # @return [String]
199
- #
200
- # source://public_suffix//lib/public_suffix/domain.rb#105
201
- def name; end
202
-
203
- # Returns the value of attribute sld.
204
- #
205
- # source://public_suffix//lib/public_suffix/domain.rb#33
206
- def sld; end
207
-
208
- # Returns a subdomain-like representation of this object
209
- # if the object is a {#subdomain?}, <tt>nil</tt> otherwise.
210
- #
211
- # PublicSuffix::Domain.new("com").subdomain
212
- # # => nil
213
- #
214
- # PublicSuffix::Domain.new("com", "google").subdomain
215
- # # => nil
216
- #
217
- # PublicSuffix::Domain.new("com", "google", "www").subdomain
218
- # # => "www.google.com"
219
- #
220
- # This method doesn't validate the input. It handles the domain
221
- # as a valid domain name and simply applies the necessary transformations.
222
- #
223
- # This method returns a FQD, not just the subdomain part.
224
- # To get the subdomain part, use <tt>#trd</tt> (aka third level domain).
225
- #
226
- # PublicSuffix::Domain.new("com", "google", "www").subdomain
227
- # # => "www.google.com"
228
- #
229
- # PublicSuffix::Domain.new("com", "google", "www").trd
230
- # # => "www"
231
- #
232
- # @return [String]
233
- # @see #subdomain?
234
- # @see #domain
235
- #
236
- # source://public_suffix//lib/public_suffix/domain.rb#169
237
- def subdomain; end
238
-
239
- # Checks whether <tt>self</tt> looks like a subdomain.
240
- #
241
- # This method doesn't actually validate the subdomain.
242
- # It only checks whether the instance contains
243
- # a value for the {#tld}, {#sld} and {#trd} attributes.
244
- # If you also want to validate the domain,
245
- # use {#valid_subdomain?} instead.
246
- #
247
- # @example
248
- #
249
- # PublicSuffix::Domain.new("com").subdomain?
250
- # # => false
251
- #
252
- # PublicSuffix::Domain.new("com", "google").subdomain?
253
- # # => false
254
- #
255
- # PublicSuffix::Domain.new("com", "google", "www").subdomain?
256
- # # => true
257
- #
258
- # # This is an invalid domain, but returns true
259
- # # because this method doesn't validate the content.
260
- # PublicSuffix::Domain.new("com", "example", nil).subdomain?
261
- # # => true
262
- # @return [Boolean]
263
- # @see #domain?
264
- #
265
- # source://public_suffix//lib/public_suffix/domain.rb#229
266
- def subdomain?; end
267
-
268
- # Returns the value of attribute tld.
269
- #
270
- # source://public_suffix//lib/public_suffix/domain.rb#33
271
- def tld; end
272
-
273
- # Returns an array containing the domain parts.
274
- #
275
- # @example
276
- #
277
- # PublicSuffix::Domain.new("google.com").to_a
278
- # # => [nil, "google", "com"]
279
- #
280
- # PublicSuffix::Domain.new("www.google.com").to_a
281
- # # => [nil, "google", "com"]
282
- # @return [Array<String, nil>]
283
- #
284
- # source://public_suffix//lib/public_suffix/domain.rb#89
285
- def to_a; end
286
-
287
- # Returns a string representation of this object.
288
- #
289
- # @return [String]
290
- #
291
- # source://public_suffix//lib/public_suffix/domain.rb#73
292
- def to_s; end
293
-
294
- # Returns the value of attribute trd.
295
- #
296
- # source://public_suffix//lib/public_suffix/domain.rb#33
297
- def trd; end
298
-
299
- class << self
300
- # Splits a string into the labels, that is the dot-separated parts.
301
- #
302
- # The input is not validated, but it is assumed to be a valid domain name.
303
- #
304
- # @example
305
- #
306
- # name_to_labels('example.com')
307
- # # => ['example', 'com']
308
- #
309
- # name_to_labels('example.co.uk')
310
- # # => ['example', 'co', 'uk']
311
- # @param name [String, #to_s] The domain name to split.
312
- # @return [Array<String>]
313
- #
314
- # source://public_suffix//lib/public_suffix/domain.rb#28
315
- def name_to_labels(name); end
316
- end
317
- end
318
-
319
- # Raised when trying to parse an invalid name.
320
- # A name is considered invalid when no rule is found in the definition list.
321
- #
322
- # @example
323
- #
324
- # PublicSuffix.parse("nic.test")
325
- # # => PublicSuffix::DomainInvalid
326
- #
327
- # PublicSuffix.parse("http://www.nic.it")
328
- # # => PublicSuffix::DomainInvalid
329
- #
330
- # source://public_suffix//lib/public_suffix/errors.rb#25
331
- class PublicSuffix::DomainInvalid < ::PublicSuffix::Error; end
332
-
333
- # Raised when trying to parse a name that matches a suffix.
334
- #
335
- # @example
336
- #
337
- # PublicSuffix.parse("nic.do")
338
- # # => PublicSuffix::DomainNotAllowed
339
- #
340
- # PublicSuffix.parse("www.nic.do")
341
- # # => PublicSuffix::Domain
342
- #
343
- # source://public_suffix//lib/public_suffix/errors.rb#38
344
- class PublicSuffix::DomainNotAllowed < ::PublicSuffix::DomainInvalid; end
345
-
346
- # source://public_suffix//lib/public_suffix/errors.rb#11
347
- class PublicSuffix::Error < ::StandardError; end
348
-
349
- # A {PublicSuffix::List} is a collection of one
350
- # or more {PublicSuffix::Rule}.
351
- #
352
- # Given a {PublicSuffix::List},
353
- # you can add or remove {PublicSuffix::Rule},
354
- # iterate all items in the list or search for the first rule
355
- # which matches a specific domain name.
356
- #
357
- # # Create a new list
358
- # list = PublicSuffix::List.new
359
- #
360
- # # Push two rules to the list
361
- # list << PublicSuffix::Rule.factory("it")
362
- # list << PublicSuffix::Rule.factory("com")
363
- #
364
- # # Get the size of the list
365
- # list.size
366
- # # => 2
367
- #
368
- # # Search for the rule matching given domain
369
- # list.find("example.com")
370
- # # => #<PublicSuffix::Rule::Normal>
371
- # list.find("example.org")
372
- # # => nil
373
- #
374
- # You can create as many {PublicSuffix::List} you want.
375
- # The {PublicSuffix::List.default} rule list is used
376
- # to tokenize and validate a domain.
377
- #
378
- # source://public_suffix//lib/public_suffix/list.rb#40
379
- class PublicSuffix::List
380
- # Initializes an empty {PublicSuffix::List}.
381
- #
382
- # @return [List] a new instance of List
383
- # @yield [self] Yields on self.
384
- # @yieldparam self [PublicSuffix::List] The newly created instance.
385
- #
386
- # source://public_suffix//lib/public_suffix/list.rb#106
387
- def initialize; end
388
-
389
- # Adds the given object to the list and optionally refreshes the rule index.
390
- #
391
- # @param rule [PublicSuffix::Rule::*] the rule to add to the list
392
- # @return [self]
393
- #
394
- # source://public_suffix//lib/public_suffix/list.rb#141
395
- def <<(rule); end
396
-
397
- # Checks whether two lists are equal.
398
- #
399
- # List <tt>one</tt> is equal to <tt>two</tt>, if <tt>two</tt> is an instance of
400
- # {PublicSuffix::List} and each +PublicSuffix::Rule::*+
401
- # in list <tt>one</tt> is available in list <tt>two</tt>, in the same order.
402
- #
403
- # @param other [PublicSuffix::List] the List to compare
404
- # @return [Boolean]
405
- #
406
- # source://public_suffix//lib/public_suffix/list.rb#120
407
- def ==(other); end
408
-
409
- # Adds the given object to the list and optionally refreshes the rule index.
410
- #
411
- # @param rule [PublicSuffix::Rule::*] the rule to add to the list
412
- # @return [self]
413
- #
414
- # source://public_suffix//lib/public_suffix/list.rb#141
415
- def add(rule); end
416
-
417
- # Removes all rules.
418
- #
419
- # @return [self]
420
- #
421
- # source://public_suffix//lib/public_suffix/list.rb#164
422
- def clear; end
423
-
424
- # Gets the default rule.
425
- #
426
- # @return [PublicSuffix::Rule::*]
427
- # @see PublicSuffix::Rule.default_rule
428
- #
429
- # source://public_suffix//lib/public_suffix/list.rb#226
430
- def default_rule; end
431
-
432
- # Iterates each rule in the list.
433
- #
434
- # source://public_suffix//lib/public_suffix/list.rb#128
435
- def each(&block); end
436
-
437
- # Checks whether the list is empty.
438
- #
439
- # @return [Boolean]
440
- #
441
- # source://public_suffix//lib/public_suffix/list.rb#157
442
- def empty?; end
443
-
444
- # Checks whether two lists are equal.
445
- #
446
- # List <tt>one</tt> is equal to <tt>two</tt>, if <tt>two</tt> is an instance of
447
- # {PublicSuffix::List} and each +PublicSuffix::Rule::*+
448
- # in list <tt>one</tt> is available in list <tt>two</tt>, in the same order.
449
- #
450
- # @param other [PublicSuffix::List] the List to compare
451
- # @return [Boolean]
452
- #
453
- # source://public_suffix//lib/public_suffix/list.rb#120
454
- def eql?(other); end
455
-
456
- # Finds and returns the rule corresponding to the longest public suffix for the hostname.
457
- #
458
- # @param name [#to_s] the hostname
459
- # @param default [PublicSuffix::Rule::*] the default rule to return in case no rule matches
460
- # @return [PublicSuffix::Rule::*]
461
- #
462
- # source://public_suffix//lib/public_suffix/list.rb#174
463
- def find(name, default: T.unsafe(nil), **options); end
464
-
465
- # Gets the number of rules in the list.
466
- #
467
- # @return [Integer]
468
- #
469
- # source://public_suffix//lib/public_suffix/list.rb#150
470
- def size; end
471
-
472
- protected
473
-
474
- # Returns the value of attribute rules.
475
- #
476
- # source://public_suffix//lib/public_suffix/list.rb#233
477
- def rules; end
478
-
479
- private
480
-
481
- # source://public_suffix//lib/public_suffix/list.rb#238
482
- def entry_to_rule(entry, value); end
483
-
484
- # source://public_suffix//lib/public_suffix/list.rb#242
485
- def rule_to_entry(rule); end
486
-
487
- # Selects all the rules matching given hostame.
488
- #
489
- # If `ignore_private` is set to true, the algorithm will skip the rules that are flagged as
490
- # private domain. Note that the rules will still be part of the loop.
491
- # If you frequently need to access lists ignoring the private domains,
492
- # you should create a list that doesn't include these domains setting the
493
- # `private_domains: false` option when calling {.parse}.
494
- #
495
- # Note that this method is currently private, as you should not rely on it. Instead,
496
- # the public interface is {#find}. The current internal algorithm allows to return all
497
- # matching rules, but different data structures may not be able to do it, and instead would
498
- # return only the match. For this reason, you should rely on {#find}.
499
- #
500
- # @param name [#to_s] the hostname
501
- # @param ignore_private [Boolean]
502
- # @return [Array<PublicSuffix::Rule::*>]
503
- #
504
- # source://public_suffix//lib/public_suffix/list.rb#199
505
- def select(name, ignore_private: T.unsafe(nil)); end
506
-
507
- class << self
508
- # Gets the default rule list.
509
- #
510
- # Initializes a new {PublicSuffix::List} parsing the content
511
- # of {PublicSuffix::List.default_list_content}, if required.
512
- #
513
- # @return [PublicSuffix::List]
514
- #
515
- # source://public_suffix//lib/public_suffix/list.rb#50
516
- def default(**options); end
517
-
518
- # Sets the default rule list to +value+.
519
- #
520
- # @param value [PublicSuffix::List] the new list
521
- # @return [PublicSuffix::List]
522
- #
523
- # source://public_suffix//lib/public_suffix/list.rb#58
524
- def default=(value); end
525
-
526
- # Parse given +input+ treating the content as Public Suffix List.
527
- #
528
- # See http://publicsuffix.org/format/ for more details about input format.
529
- #
530
- # @param input [#each_line] the list to parse
531
- # @param private_domains [Boolean] whether to ignore the private domains section
532
- # @return [PublicSuffix::List]
533
- #
534
- # source://public_suffix//lib/public_suffix/list.rb#69
535
- def parse(input, private_domains: T.unsafe(nil)); end
536
- end
537
- end
538
-
539
- # source://public_suffix//lib/public_suffix/list.rb#42
540
- PublicSuffix::List::DEFAULT_LIST_PATH = T.let(T.unsafe(nil), String)
541
-
542
- # A Rule is a special object which holds a single definition
543
- # of the Public Suffix List.
544
- #
545
- # There are 3 types of rules, each one represented by a specific
546
- # subclass within the +PublicSuffix::Rule+ namespace.
547
- #
548
- # To create a new Rule, use the {PublicSuffix::Rule#factory} method.
549
- #
550
- # PublicSuffix::Rule.factory("ar")
551
- # # => #<PublicSuffix::Rule::Normal>
552
- #
553
- # source://public_suffix//lib/public_suffix/rule.rb#22
554
- module PublicSuffix::Rule
555
- class << self
556
- # The default rule to use if no rule match.
557
- #
558
- # The default rule is "*". From https://publicsuffix.org/list/:
559
- #
560
- # > If no rules match, the prevailing rule is "*".
561
- #
562
- # @return [PublicSuffix::Rule::Wildcard] The default rule.
563
- #
564
- # source://public_suffix//lib/public_suffix/rule.rb#344
565
- def default; end
566
-
567
- # Takes the +name+ of the rule, detects the specific rule class
568
- # and creates a new instance of that class.
569
- # The +name+ becomes the rule +value+.
570
- #
571
- # @example Creates a Normal rule
572
- # PublicSuffix::Rule.factory("ar")
573
- # # => #<PublicSuffix::Rule::Normal>
574
- # @example Creates a Wildcard rule
575
- # PublicSuffix::Rule.factory("*.ar")
576
- # # => #<PublicSuffix::Rule::Wildcard>
577
- # @example Creates an Exception rule
578
- # PublicSuffix::Rule.factory("!congresodelalengua3.ar")
579
- # # => #<PublicSuffix::Rule::Exception>
580
- # @param content [#to_s] the content of the rule
581
- # @return [PublicSuffix::Rule::*] A rule instance.
582
- #
583
- # source://public_suffix//lib/public_suffix/rule.rb#326
584
- def factory(content, private: T.unsafe(nil)); end
585
- end
586
- end
587
-
588
- # = Abstract rule class
589
- #
590
- # This represent the base class for a Rule definition
591
- # in the {Public Suffix List}[https://publicsuffix.org].
592
- #
593
- # This is intended to be an Abstract class
594
- # and you shouldn't create a direct instance. The only purpose
595
- # of this class is to expose a common interface
596
- # for all the available subclasses.
597
- #
598
- # * {PublicSuffix::Rule::Normal}
599
- # * {PublicSuffix::Rule::Exception}
600
- # * {PublicSuffix::Rule::Wildcard}
601
- #
602
- # ## Properties
603
- #
604
- # A rule is composed by 4 properties:
605
- #
606
- # value - A normalized version of the rule name.
607
- # The normalization process depends on rule tpe.
608
- #
609
- # Here's an example
610
- #
611
- # PublicSuffix::Rule.factory("*.google.com")
612
- # #<PublicSuffix::Rule::Wildcard:0x1015c14b0
613
- # @value="google.com"
614
- # >
615
- #
616
- # ## Rule Creation
617
- #
618
- # The best way to create a new rule is passing the rule name
619
- # to the <tt>PublicSuffix::Rule.factory</tt> method.
620
- #
621
- # PublicSuffix::Rule.factory("com")
622
- # # => PublicSuffix::Rule::Normal
623
- #
624
- # PublicSuffix::Rule.factory("*.com")
625
- # # => PublicSuffix::Rule::Wildcard
626
- #
627
- # This method will detect the rule type and create an instance
628
- # from the proper rule class.
629
- #
630
- # ## Rule Usage
631
- #
632
- # A rule describes the composition of a domain name and explains how to tokenize
633
- # the name into tld, sld and trd.
634
- #
635
- # To use a rule, you first need to be sure the name you want to tokenize
636
- # can be handled by the current rule.
637
- # You can use the <tt>#match?</tt> method.
638
- #
639
- # rule = PublicSuffix::Rule.factory("com")
640
- #
641
- # rule.match?("google.com")
642
- # # => true
643
- #
644
- # rule.match?("google.com")
645
- # # => false
646
- #
647
- # Rule order is significant. A name can match more than one rule.
648
- # See the {Public Suffix Documentation}[http://publicsuffix.org/format/]
649
- # to learn more about rule priority.
650
- #
651
- # When you have the right rule, you can use it to tokenize the domain name.
652
- #
653
- # rule = PublicSuffix::Rule.factory("com")
654
- #
655
- # rule.decompose("google.com")
656
- # # => ["google", "com"]
657
- #
658
- # rule.decompose("www.google.com")
659
- # # => ["www.google", "com"]
660
- #
661
- # @abstract
662
- #
663
- # source://public_suffix//lib/public_suffix/rule.rb#102
664
- class PublicSuffix::Rule::Base
665
- # Initializes a new rule.
666
- #
667
- # @param value [String]
668
- # @param private [Boolean]
669
- # @return [Base] a new instance of Base
670
- #
671
- # source://public_suffix//lib/public_suffix/rule.rb#126
672
- def initialize(value:, length: T.unsafe(nil), private: T.unsafe(nil)); end
673
-
674
- # Checks whether this rule is equal to <tt>other</tt>.
675
- #
676
- # @param other [PublicSuffix::Rule::*] The rule to compare
677
- # @return [Boolean] true if this rule and other are instances of the same class
678
- # and has the same value, false otherwise.
679
- #
680
- # source://public_suffix//lib/public_suffix/rule.rb#137
681
- def ==(other); end
682
-
683
- # @abstract
684
- # @param domain [#to_s] The domain name to decompose
685
- # @raise [NotImplementedError]
686
- # @return [Array<String, nil>]
687
- #
688
- # source://public_suffix//lib/public_suffix/rule.rb#180
689
- def decompose(*_arg0); end
690
-
691
- # Checks whether this rule is equal to <tt>other</tt>.
692
- #
693
- # @param other [PublicSuffix::Rule::*] The rule to compare
694
- # @return [Boolean] true if this rule and other are instances of the same class
695
- # and has the same value, false otherwise.
696
- #
697
- # source://public_suffix//lib/public_suffix/rule.rb#137
698
- def eql?(other); end
699
-
700
- # @return [String] the length of the rule
701
- #
702
- # source://public_suffix//lib/public_suffix/rule.rb#108
703
- def length; end
704
-
705
- # Checks if this rule matches +name+.
706
- #
707
- # A domain name is said to match a rule if and only if
708
- # all of the following conditions are met:
709
- #
710
- # - When the domain and rule are split into corresponding labels,
711
- # that the domain contains as many or more labels than the rule.
712
- # - Beginning with the right-most labels of both the domain and the rule,
713
- # and continuing for all labels in the rule, one finds that for every pair,
714
- # either they are identical, or that the label from the rule is "*".
715
- #
716
- # @example
717
- # PublicSuffix::Rule.factory("com").match?("example.com")
718
- # # => true
719
- # PublicSuffix::Rule.factory("com").match?("example.net")
720
- # # => false
721
- # @param name [String] the domain name to check
722
- # @return [Boolean]
723
- # @see https://publicsuffix.org/list/
724
- #
725
- # source://public_suffix//lib/public_suffix/rule.rb#163
726
- def match?(name); end
727
-
728
- # @abstract
729
- # @raise [NotImplementedError]
730
- #
731
- # source://public_suffix//lib/public_suffix/rule.rb#173
732
- def parts; end
733
-
734
- # @return [Boolean] true if the rule is a private domain
735
- #
736
- # source://public_suffix//lib/public_suffix/rule.rb#111
737
- def private; end
738
-
739
- # @return [String] the rule definition
740
- #
741
- # source://public_suffix//lib/public_suffix/rule.rb#105
742
- def value; end
743
-
744
- class << self
745
- # Initializes a new rule from the content.
746
- #
747
- # @param content [String] the content of the rule
748
- # @param private [Boolean]
749
- #
750
- # source://public_suffix//lib/public_suffix/rule.rb#118
751
- def build(content, private: T.unsafe(nil)); end
752
- end
753
- end
754
-
755
- # @api internal
756
- #
757
- # source://public_suffix//lib/public_suffix/rule.rb#25
758
- class PublicSuffix::Rule::Entry < ::Struct
759
- # Returns the value of attribute length
760
- #
761
- # @return [Object] the current value of length
762
- def length; end
763
-
764
- # Sets the attribute length
765
- #
766
- # @param value [Object] the value to set the attribute length to.
767
- # @return [Object] the newly set value
768
- #
769
- # source://public_suffix//lib/public_suffix/rule.rb#25
770
- def length=(_); end
771
-
772
- # Returns the value of attribute private
773
- #
774
- # @return [Object] the current value of private
775
- def private; end
776
-
777
- # Sets the attribute private
778
- #
779
- # @param value [Object] the value to set the attribute private to.
780
- # @return [Object] the newly set value
781
- #
782
- # source://public_suffix//lib/public_suffix/rule.rb#25
783
- def private=(_); end
784
-
785
- # Returns the value of attribute type
786
- #
787
- # @return [Object] the current value of type
788
- def type; end
789
-
790
- # Sets the attribute type
791
- #
792
- # @param value [Object] the value to set the attribute type to.
793
- # @return [Object] the newly set value
794
- #
795
- # source://public_suffix//lib/public_suffix/rule.rb#25
796
- def type=(_); end
797
-
798
- class << self
799
- def [](*_arg0); end
800
- def inspect; end
801
- def members; end
802
- def new(*_arg0); end
803
- end
804
- end
805
-
806
- # Exception represents an exception rule (e.g. !parliament.uk).
807
- #
808
- # source://public_suffix//lib/public_suffix/rule.rb#265
809
- class PublicSuffix::Rule::Exception < ::PublicSuffix::Rule::Base
810
- # Decomposes the domain name according to rule properties.
811
- #
812
- # @param domain [#to_s] The domain name to decompose
813
- # @return [Array<String>] The array with [trd + sld, tld].
814
- #
815
- # source://public_suffix//lib/public_suffix/rule.rb#286
816
- def decompose(domain); end
817
-
818
- # dot-split rule value and returns all rule parts
819
- # in the order they appear in the value.
820
- # The leftmost label is not considered a label.
821
- #
822
- # See http://publicsuffix.org/format/:
823
- # If the prevailing rule is a exception rule,
824
- # modify it by removing the leftmost label.
825
- #
826
- # @return [Array<String>]
827
- #
828
- # source://public_suffix//lib/public_suffix/rule.rb#301
829
- def parts; end
830
-
831
- # Gets the original rule definition.
832
- #
833
- # @return [String] The rule definition.
834
- #
835
- # source://public_suffix//lib/public_suffix/rule.rb#278
836
- def rule; end
837
-
838
- class << self
839
- # Initializes a new rule from the content.
840
- #
841
- # @param content [#to_s] the content of the rule
842
- # @param private [Boolean]
843
- #
844
- # source://public_suffix//lib/public_suffix/rule.rb#271
845
- def build(content, private: T.unsafe(nil)); end
846
- end
847
- end
848
-
849
- # Normal represents a standard rule (e.g. com).
850
- #
851
- # source://public_suffix//lib/public_suffix/rule.rb#187
852
- class PublicSuffix::Rule::Normal < ::PublicSuffix::Rule::Base
853
- # Decomposes the domain name according to rule properties.
854
- #
855
- # @param domain [#to_s] The domain name to decompose
856
- # @return [Array<String>] The array with [trd + sld, tld].
857
- #
858
- # source://public_suffix//lib/public_suffix/rule.rb#200
859
- def decompose(domain); end
860
-
861
- # dot-split rule value and returns all rule parts
862
- # in the order they appear in the value.
863
- #
864
- # @return [Array<String>]
865
- #
866
- # source://public_suffix//lib/public_suffix/rule.rb#210
867
- def parts; end
868
-
869
- # Gets the original rule definition.
870
- #
871
- # @return [String] The rule definition.
872
- #
873
- # source://public_suffix//lib/public_suffix/rule.rb#192
874
- def rule; end
875
- end
876
-
877
- # Wildcard represents a wildcard rule (e.g. *.co.uk).
878
- #
879
- # source://public_suffix//lib/public_suffix/rule.rb#217
880
- class PublicSuffix::Rule::Wildcard < ::PublicSuffix::Rule::Base
881
- # Initializes a new rule.
882
- #
883
- # @param value [String]
884
- # @param length [Integer]
885
- # @param private [Boolean]
886
- # @return [Wildcard] a new instance of Wildcard
887
- #
888
- # source://public_suffix//lib/public_suffix/rule.rb#232
889
- def initialize(value:, length: T.unsafe(nil), private: T.unsafe(nil)); end
890
-
891
- # Decomposes the domain name according to rule properties.
892
- #
893
- # @param domain [#to_s] The domain name to decompose
894
- # @return [Array<String>] The array with [trd + sld, tld].
895
- #
896
- # source://public_suffix//lib/public_suffix/rule.rb#248
897
- def decompose(domain); end
898
-
899
- # dot-split rule value and returns all rule parts
900
- # in the order they appear in the value.
901
- #
902
- # @return [Array<String>]
903
- #
904
- # source://public_suffix//lib/public_suffix/rule.rb#258
905
- def parts; end
906
-
907
- # Gets the original rule definition.
908
- #
909
- # @return [String] The rule definition.
910
- #
911
- # source://public_suffix//lib/public_suffix/rule.rb#240
912
- def rule; end
913
-
914
- class << self
915
- # Initializes a new rule from the content.
916
- #
917
- # @param content [String] the content of the rule
918
- # @param private [Boolean]
919
- #
920
- # source://public_suffix//lib/public_suffix/rule.rb#223
921
- def build(content, private: T.unsafe(nil)); end
922
- end
923
- end
924
-
925
- # source://public_suffix//lib/public_suffix.rb#27
926
- PublicSuffix::STAR = T.let(T.unsafe(nil), String)
927
-
928
- # @return [String] the current library version
929
- #
930
- # source://public_suffix//lib/public_suffix/version.rb#12
931
- PublicSuffix::VERSION = T.let(T.unsafe(nil), String)