lunchmoney 1.4.0 → 1.4.1

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 (59) hide show
  1. checksums.yaml +4 -4
  2. data/.github/dependabot.yml +7 -0
  3. data/.github/workflows/build_and_publish_yard_docs.yml +2 -2
  4. data/.github/workflows/ci.yml +1 -1
  5. data/.ruby-version +1 -1
  6. data/.simplecov +1 -0
  7. data/Gemfile +2 -2
  8. data/Gemfile.lock +65 -57
  9. data/lib/lunchmoney/api.rb +1 -0
  10. data/lib/lunchmoney/calls/categories.rb +0 -2
  11. data/lib/lunchmoney/calls/transactions.rb +0 -1
  12. data/lib/lunchmoney/deprecate.rb +35 -0
  13. data/lib/lunchmoney/objects/asset.rb +6 -1
  14. data/lib/lunchmoney/objects/plaid_account.rb +6 -1
  15. data/lib/lunchmoney/version.rb +1 -1
  16. data/sorbet/rbi/annotations/activesupport.rbi +5 -0
  17. data/sorbet/rbi/gems/{activesupport@7.2.1.rbi → activesupport@7.2.2.1.rbi} +109 -86
  18. data/sorbet/rbi/gems/benchmark@0.4.0.rbi +618 -0
  19. data/sorbet/rbi/gems/{concurrent-ruby@1.3.4.rbi → concurrent-ruby@1.3.5.rbi} +44 -32
  20. data/sorbet/rbi/gems/{connection_pool@2.4.1.rbi → connection_pool@2.5.0.rbi} +1 -0
  21. data/sorbet/rbi/gems/{dotenv@3.1.2.rbi → dotenv@3.1.7.rbi} +21 -29
  22. data/sorbet/rbi/gems/{erubi@1.13.0.rbi → erubi@1.13.1.rbi} +14 -9
  23. data/sorbet/rbi/gems/{faraday-net_http@3.1.1.rbi → faraday-net_http@3.4.0.rbi} +34 -34
  24. data/sorbet/rbi/gems/{faraday@2.10.1.rbi → faraday@2.12.2.rbi} +43 -34
  25. data/sorbet/rbi/gems/{i18n@1.14.5.rbi → i18n@1.14.7.rbi} +80 -80
  26. data/sorbet/rbi/gems/{json@2.7.2.rbi → json@2.10.2.rbi} +697 -146
  27. data/sorbet/rbi/gems/language_server-protocol@3.17.0.4.rbi +9 -0
  28. data/sorbet/rbi/gems/{logger@1.6.0.rbi → logger@1.6.6.rbi} +109 -72
  29. data/sorbet/rbi/gems/{minitest@5.25.1.rbi → minitest@5.25.5.rbi} +227 -220
  30. data/sorbet/rbi/gems/{mocha@2.4.5.rbi → mocha@2.7.1.rbi} +154 -118
  31. data/sorbet/rbi/gems/{net-http@0.4.1.rbi → net-http@0.6.0.rbi} +360 -181
  32. data/sorbet/rbi/gems/{parser@3.3.4.2.rbi → parser@3.3.7.1.rbi} +23 -17
  33. data/sorbet/rbi/gems/{prism@0.30.0.rbi → prism@1.4.0.rbi} +12440 -9920
  34. data/sorbet/rbi/gems/{rack@3.1.7.rbi → rack@3.1.9.rbi} +91 -83
  35. data/sorbet/rbi/gems/rbi@0.3.1.rbi +6599 -0
  36. data/sorbet/rbi/gems/rbs@3.9.0.rbi +6978 -0
  37. data/sorbet/rbi/gems/{regexp_parser@2.9.2.rbi → regexp_parser@2.10.0.rbi} +193 -170
  38. data/sorbet/rbi/gems/{rexml@3.3.6.rbi → rexml@3.4.1.rbi} +541 -114
  39. data/sorbet/rbi/gems/{rubocop-ast@1.32.1.rbi → rubocop-ast@1.38.0.rbi} +1224 -622
  40. data/sorbet/rbi/gems/{rubocop-minitest@0.35.1.rbi → rubocop-minitest@0.36.0.rbi} +5 -5
  41. data/sorbet/rbi/gems/{rubocop-rails@2.26.0.rbi → rubocop-rails@2.29.1.rbi} +9412 -6480
  42. data/sorbet/rbi/gems/{rubocop-sorbet@0.8.5.rbi → rubocop-sorbet@0.8.7.rbi} +44 -1
  43. data/sorbet/rbi/gems/{rubocop@1.65.1.rbi → rubocop@1.71.2.rbi} +5606 -3467
  44. data/sorbet/rbi/gems/{securerandom@0.3.1.rbi → securerandom@0.4.1.rbi} +7 -5
  45. data/sorbet/rbi/gems/{spoom@1.4.2.rbi → spoom@1.6.1.rbi} +3315 -973
  46. data/sorbet/rbi/gems/{tapioca@0.16.1.rbi → tapioca@0.16.11.rbi} +300 -234
  47. data/sorbet/rbi/gems/{thor@1.3.1.rbi → thor@1.3.2.rbi} +58 -31
  48. data/sorbet/rbi/gems/unicode-display_width@3.1.4.rbi +132 -0
  49. data/sorbet/rbi/gems/unicode-emoji@4.0.4.rbi +251 -0
  50. data/sorbet/rbi/gems/{uri@0.13.0.rbi → uri@1.0.3.rbi} +278 -256
  51. data/sorbet/rbi/gems/{webmock@3.23.1.rbi → webmock@3.25.1.rbi} +101 -78
  52. data/sorbet/rbi/gems/{yard@0.9.36.rbi → yard@0.9.37.rbi} +394 -235
  53. metadata +42 -44
  54. data/sorbet/rbi/gems/language_server-protocol@3.17.0.3.rbi +0 -14237
  55. data/sorbet/rbi/gems/rbi@0.1.14.rbi +0 -3305
  56. data/sorbet/rbi/gems/strscan@3.1.0.rbi +0 -9
  57. data/sorbet/rbi/gems/unicode-display_width@2.5.0.rbi +0 -65
  58. /data/sorbet/rbi/gems/{bigdecimal@3.1.8.rbi → bigdecimal@3.1.9.rbi} +0 -0
  59. /data/sorbet/rbi/gems/{hashdiff@1.1.1.rbi → hashdiff@1.1.2.rbi} +0 -0
@@ -1717,7 +1717,12 @@ class Rack::MediaType
1717
1717
  # this method responds with the following Hash:
1718
1718
  # { 'charset' => 'utf-8' }
1719
1719
  #
1720
- # source://rack//lib/rack/media_type.rb#30
1720
+ # This will pass back parameters with empty strings in the hash if they
1721
+ # lack a value (e.g., "text/plain;charset=" will return { 'charset' => '' },
1722
+ # and "text/plain;charset" will return { 'charset' => '' }, similarly to
1723
+ # the query params parser (barring the latter case, which returns nil instead)).
1724
+ #
1725
+ # source://rack//lib/rack/media_type.rb#35
1721
1726
  def params(content_type); end
1722
1727
 
1723
1728
  # The media type (type/subtype) portion of the CONTENT_TYPE header
@@ -1732,7 +1737,7 @@ class Rack::MediaType
1732
1737
 
1733
1738
  private
1734
1739
 
1735
- # source://rack//lib/rack/media_type.rb#43
1740
+ # source://rack//lib/rack/media_type.rb#48
1736
1741
  def strip_doublequotes(str); end
1737
1742
  end
1738
1743
  end
@@ -4363,31 +4368,31 @@ module Rack::Utils
4363
4368
  # matches (same specificity and quality), the value returned
4364
4369
  # is arbitrary.
4365
4370
  #
4366
- # source://rack//lib/rack/utils.rb#166
4371
+ # source://rack//lib/rack/utils.rb#167
4367
4372
  def best_q_match(q_value_header, available_mimes); end
4368
4373
 
4369
- # source://rack//lib/rack/utils.rb#119
4374
+ # source://rack//lib/rack/utils.rb#120
4370
4375
  def build_nested_query(value, prefix = T.unsafe(nil)); end
4371
4376
 
4372
- # source://rack//lib/rack/utils.rb#109
4377
+ # source://rack//lib/rack/utils.rb#110
4373
4378
  def build_query(params); end
4374
4379
 
4375
4380
  # Parses the "Range:" header, if present, into an array of Range objects.
4376
4381
  # Returns nil if the header is missing or syntactically invalid.
4377
4382
  # Returns an empty array if none of the ranges are satisfiable.
4378
4383
  #
4379
- # source://rack//lib/rack/utils.rb#408
4384
+ # source://rack//lib/rack/utils.rb#409
4380
4385
  def byte_ranges(env, size); end
4381
4386
 
4382
- # source://rack//lib/rack/utils.rb#608
4387
+ # source://rack//lib/rack/utils.rb#609
4383
4388
  def clean_path_info(path_info); end
4384
4389
 
4385
4390
  # :nocov:
4386
4391
  #
4387
- # source://rack//lib/rack/utils.rb#90
4392
+ # source://rack//lib/rack/utils.rb#91
4388
4393
  def clock_time; end
4389
4394
 
4390
- # source://rack//lib/rack/utils.rb#366
4395
+ # source://rack//lib/rack/utils.rb#367
4391
4396
  def delete_cookie_header!(headers, key, value = T.unsafe(nil)); end
4392
4397
 
4393
4398
  # :call-seq:
@@ -4404,7 +4409,7 @@ module Rack::Utils
4404
4409
  # delete_set_cookie_header("myname")
4405
4410
  # # => "myname=; max-age=0; expires=Thu, 01 Jan 1970 00:00:00 GMT"
4406
4411
  #
4407
- # source://rack//lib/rack/utils.rb#362
4412
+ # source://rack//lib/rack/utils.rb#363
4408
4413
  def delete_set_cookie_header(key, value = T.unsafe(nil)); end
4409
4414
 
4410
4415
  # :call-seq:
@@ -4425,15 +4430,15 @@ module Rack::Utils
4425
4430
  # header
4426
4431
  # # => ["mycookie=; max-age=0; expires=Thu, 01 Jan 1970 00:00:00 GMT"]
4427
4432
  #
4428
- # source://rack//lib/rack/utils.rb#390
4433
+ # source://rack//lib/rack/utils.rb#391
4429
4434
  def delete_set_cookie_header!(header, key, value = T.unsafe(nil)); end
4430
4435
 
4431
4436
  # URI escapes. (CGI style space to +)
4432
4437
  #
4433
- # source://rack//lib/rack/utils.rb#39
4438
+ # source://rack//lib/rack/utils.rb#40
4434
4439
  def escape(s); end
4435
4440
 
4436
- # source://rack//lib/rack/utils.rb#261
4441
+ # source://rack//lib/rack/utils.rb#262
4437
4442
  def escape_cookie_key(key); end
4438
4443
 
4439
4444
  # Escape ampersands, brackets and quotes to their HTML/XML entities.
@@ -4442,13 +4447,13 @@ module Rack::Utils
4442
4447
  # Like URI escaping, but with %20 instead of +. Strictly speaking this is
4443
4448
  # true URI escaping.
4444
4449
  #
4445
- # source://rack//lib/rack/utils.rb#45
4450
+ # source://rack//lib/rack/utils.rb#46
4446
4451
  def escape_path(s); end
4447
4452
 
4448
- # source://rack//lib/rack/utils.rb#148
4453
+ # source://rack//lib/rack/utils.rb#149
4449
4454
  def forwarded_values(forwarded_header); end
4450
4455
 
4451
- # source://rack//lib/rack/utils.rb#412
4456
+ # source://rack//lib/rack/utils.rb#413
4452
4457
  def get_byte_ranges(http_range, size); end
4453
4458
 
4454
4459
  # :call-seq:
@@ -4460,7 +4465,7 @@ module Rack::Utils
4460
4465
  # parse_cookies({'HTTP_COOKIE' => 'myname=myvalue'})
4461
4466
  # # => {'myname' => 'myvalue'}
4462
4467
  #
4463
- # source://rack//lib/rack/utils.rb#252
4468
+ # source://rack//lib/rack/utils.rb#253
4464
4469
  def parse_cookies(env); end
4465
4470
 
4466
4471
  # :call-seq:
@@ -4473,27 +4478,27 @@ module Rack::Utils
4473
4478
  # parse_cookies_header('myname=myvalue; max-age=0')
4474
4479
  # # => {"myname"=>"myvalue", "max-age"=>"0"}
4475
4480
  #
4476
- # source://rack//lib/rack/utils.rb#233
4481
+ # source://rack//lib/rack/utils.rb#234
4477
4482
  def parse_cookies_header(value); end
4478
4483
 
4479
- # source://rack//lib/rack/utils.rb#105
4484
+ # source://rack//lib/rack/utils.rb#106
4480
4485
  def parse_nested_query(qs, d = T.unsafe(nil)); end
4481
4486
 
4482
- # source://rack//lib/rack/utils.rb#101
4487
+ # source://rack//lib/rack/utils.rb#102
4483
4488
  def parse_query(qs, d = T.unsafe(nil), &unescaper); end
4484
4489
 
4485
- # source://rack//lib/rack/utils.rb#137
4490
+ # source://rack//lib/rack/utils.rb#138
4486
4491
  def q_values(q_value_header); end
4487
4492
 
4488
- # source://rack//lib/rack/utils.rb#401
4493
+ # source://rack//lib/rack/utils.rb#402
4489
4494
  def rfc2822(time); end
4490
4495
 
4491
4496
  # :nocov:
4492
4497
  #
4493
- # source://rack//lib/rack/utils.rb#454
4498
+ # source://rack//lib/rack/utils.rb#455
4494
4499
  def secure_compare(a, b); end
4495
4500
 
4496
- # source://rack//lib/rack/utils.rb#191
4501
+ # source://rack//lib/rack/utils.rb#192
4497
4502
  def select_best_encoding(available_encodings, accept_encoding); end
4498
4503
 
4499
4504
  # :call-seq:
@@ -4519,7 +4524,7 @@ module Rack::Utils
4519
4524
  # set_cookie_header("myname", {value: "myvalue", max_age: 10})
4520
4525
  # # => "myname=myvalue; max-age=10"
4521
4526
  #
4522
- # source://rack//lib/rack/utils.rb#293
4527
+ # source://rack//lib/rack/utils.rb#294
4523
4528
  def set_cookie_header(key, value); end
4524
4529
 
4525
4530
  # :call-seq:
@@ -4531,25 +4536,25 @@ module Rack::Utils
4531
4536
  # If the headers already contains a +set-cookie+ key, it will be converted
4532
4537
  # to an +Array+ if not already, and appended to.
4533
4538
  #
4534
- # source://rack//lib/rack/utils.rb#336
4539
+ # source://rack//lib/rack/utils.rb#337
4535
4540
  def set_cookie_header!(headers, key, value); end
4536
4541
 
4537
- # source://rack//lib/rack/utils.rb#588
4542
+ # source://rack//lib/rack/utils.rb#589
4538
4543
  def status_code(status); end
4539
4544
 
4540
4545
  # Unescapes a URI escaped string with +encoding+. +encoding+ will be the
4541
4546
  # target encoding of the string returned, and it defaults to UTF-8
4542
4547
  #
4543
- # source://rack//lib/rack/utils.rb#57
4548
+ # source://rack//lib/rack/utils.rb#58
4544
4549
  def unescape(s, encoding = T.unsafe(nil)); end
4545
4550
 
4546
4551
  # Unescapes the **path** component of a URI. See Rack::Utils.unescape for
4547
4552
  # unescaping query parameters or form components.
4548
4553
  #
4549
- # source://rack//lib/rack/utils.rb#51
4554
+ # source://rack//lib/rack/utils.rb#52
4550
4555
  def unescape_path(s); end
4551
4556
 
4552
- # source://rack//lib/rack/utils.rb#625
4557
+ # source://rack//lib/rack/utils.rb#626
4553
4558
  def valid_path?(path); end
4554
4559
 
4555
4560
  class << self
@@ -4558,41 +4563,41 @@ module Rack::Utils
4558
4563
  # matches (same specificity and quality), the value returned
4559
4564
  # is arbitrary.
4560
4565
  #
4561
- # source://rack//lib/rack/utils.rb#166
4566
+ # source://rack//lib/rack/utils.rb#167
4562
4567
  def best_q_match(q_value_header, available_mimes); end
4563
4568
 
4564
- # source://rack//lib/rack/utils.rb#119
4569
+ # source://rack//lib/rack/utils.rb#120
4565
4570
  def build_nested_query(value, prefix = T.unsafe(nil)); end
4566
4571
 
4567
- # source://rack//lib/rack/utils.rb#109
4572
+ # source://rack//lib/rack/utils.rb#110
4568
4573
  def build_query(params); end
4569
4574
 
4570
4575
  # Parses the "Range:" header, if present, into an array of Range objects.
4571
4576
  # Returns nil if the header is missing or syntactically invalid.
4572
4577
  # Returns an empty array if none of the ranges are satisfiable.
4573
4578
  #
4574
- # source://rack//lib/rack/utils.rb#408
4579
+ # source://rack//lib/rack/utils.rb#409
4575
4580
  def byte_ranges(env, size); end
4576
4581
 
4577
- # source://rack//lib/rack/utils.rb#608
4582
+ # source://rack//lib/rack/utils.rb#609
4578
4583
  def clean_path_info(path_info); end
4579
4584
 
4580
- # source://rack//lib/rack/utils.rb#90
4585
+ # source://rack//lib/rack/utils.rb#91
4581
4586
  def clock_time; end
4582
4587
 
4583
4588
  # Returns the value of attribute default_query_parser.
4584
4589
  #
4585
- # source://rack//lib/rack/utils.rb#29
4590
+ # source://rack//lib/rack/utils.rb#30
4586
4591
  def default_query_parser; end
4587
4592
 
4588
4593
  # Sets the attribute default_query_parser
4589
4594
  #
4590
4595
  # @param value the value to set the attribute default_query_parser to.
4591
4596
  #
4592
- # source://rack//lib/rack/utils.rb#29
4597
+ # source://rack//lib/rack/utils.rb#30
4593
4598
  def default_query_parser=(_arg0); end
4594
4599
 
4595
- # source://rack//lib/rack/utils.rb#366
4600
+ # source://rack//lib/rack/utils.rb#367
4596
4601
  def delete_cookie_header!(headers, key, value = T.unsafe(nil)); end
4597
4602
 
4598
4603
  # :call-seq:
@@ -4609,7 +4614,7 @@ module Rack::Utils
4609
4614
  # delete_set_cookie_header("myname")
4610
4615
  # # => "myname=; max-age=0; expires=Thu, 01 Jan 1970 00:00:00 GMT"
4611
4616
  #
4612
- # source://rack//lib/rack/utils.rb#362
4617
+ # source://rack//lib/rack/utils.rb#363
4613
4618
  def delete_set_cookie_header(key, value = T.unsafe(nil)); end
4614
4619
 
4615
4620
  # :call-seq:
@@ -4630,15 +4635,15 @@ module Rack::Utils
4630
4635
  # header
4631
4636
  # # => ["mycookie=; max-age=0; expires=Thu, 01 Jan 1970 00:00:00 GMT"]
4632
4637
  #
4633
- # source://rack//lib/rack/utils.rb#390
4638
+ # source://rack//lib/rack/utils.rb#391
4634
4639
  def delete_set_cookie_header!(header, key, value = T.unsafe(nil)); end
4635
4640
 
4636
4641
  # URI escapes. (CGI style space to +)
4637
4642
  #
4638
- # source://rack//lib/rack/utils.rb#39
4643
+ # source://rack//lib/rack/utils.rb#40
4639
4644
  def escape(s); end
4640
4645
 
4641
- # source://rack//lib/rack/utils.rb#261
4646
+ # source://rack//lib/rack/utils.rb#262
4642
4647
  def escape_cookie_key(key); end
4643
4648
 
4644
4649
  def escape_html(_arg0); end
@@ -4646,57 +4651,57 @@ module Rack::Utils
4646
4651
  # Like URI escaping, but with %20 instead of +. Strictly speaking this is
4647
4652
  # true URI escaping.
4648
4653
  #
4649
- # source://rack//lib/rack/utils.rb#45
4654
+ # source://rack//lib/rack/utils.rb#46
4650
4655
  def escape_path(s); end
4651
4656
 
4652
- # source://rack//lib/rack/utils.rb#148
4657
+ # source://rack//lib/rack/utils.rb#149
4653
4658
  def forwarded_values(forwarded_header); end
4654
4659
 
4655
- # source://rack//lib/rack/utils.rb#412
4660
+ # source://rack//lib/rack/utils.rb#413
4656
4661
  def get_byte_ranges(http_range, size); end
4657
4662
 
4658
4663
  # Returns the value of attribute multipart_file_limit.
4659
4664
  #
4660
- # source://rack//lib/rack/utils.rb#64
4665
+ # source://rack//lib/rack/utils.rb#65
4661
4666
  def multipart_file_limit; end
4662
4667
 
4663
4668
  # Sets the attribute multipart_file_limit
4664
4669
  #
4665
4670
  # @param value the value to set the attribute multipart_file_limit to.
4666
4671
  #
4667
- # source://rack//lib/rack/utils.rb#64
4672
+ # source://rack//lib/rack/utils.rb#65
4668
4673
  def multipart_file_limit=(_arg0); end
4669
4674
 
4670
4675
  # Returns the value of attribute multipart_file_limit.
4671
4676
  # multipart_part_limit is the original name of multipart_file_limit, but
4672
4677
  # the limit only counts parts with filenames.
4673
4678
  #
4674
- # source://rack//lib/rack/utils.rb#64
4679
+ # source://rack//lib/rack/utils.rb#65
4675
4680
  def multipart_part_limit; end
4676
4681
 
4677
4682
  # Sets the attribute multipart_file_limit
4678
4683
  #
4679
4684
  # @param value the value to set the attribute multipart_file_limit to.
4680
4685
  #
4681
- # source://rack//lib/rack/utils.rb#64
4686
+ # source://rack//lib/rack/utils.rb#65
4682
4687
  def multipart_part_limit=(_arg0); end
4683
4688
 
4684
4689
  # Returns the value of attribute multipart_total_part_limit.
4685
4690
  #
4686
- # source://rack//lib/rack/utils.rb#62
4691
+ # source://rack//lib/rack/utils.rb#63
4687
4692
  def multipart_total_part_limit; end
4688
4693
 
4689
4694
  # Sets the attribute multipart_total_part_limit
4690
4695
  #
4691
4696
  # @param value the value to set the attribute multipart_total_part_limit to.
4692
4697
  #
4693
- # source://rack//lib/rack/utils.rb#62
4698
+ # source://rack//lib/rack/utils.rb#63
4694
4699
  def multipart_total_part_limit=(_arg0); end
4695
4700
 
4696
- # source://rack//lib/rack/utils.rb#81
4701
+ # source://rack//lib/rack/utils.rb#82
4697
4702
  def param_depth_limit; end
4698
4703
 
4699
- # source://rack//lib/rack/utils.rb#85
4704
+ # source://rack//lib/rack/utils.rb#86
4700
4705
  def param_depth_limit=(v); end
4701
4706
 
4702
4707
  # :call-seq:
@@ -4708,7 +4713,7 @@ module Rack::Utils
4708
4713
  # parse_cookies({'HTTP_COOKIE' => 'myname=myvalue'})
4709
4714
  # # => {'myname' => 'myvalue'}
4710
4715
  #
4711
- # source://rack//lib/rack/utils.rb#252
4716
+ # source://rack//lib/rack/utils.rb#253
4712
4717
  def parse_cookies(env); end
4713
4718
 
4714
4719
  # :call-seq:
@@ -4721,25 +4726,25 @@ module Rack::Utils
4721
4726
  # parse_cookies_header('myname=myvalue; max-age=0')
4722
4727
  # # => {"myname"=>"myvalue", "max-age"=>"0"}
4723
4728
  #
4724
- # source://rack//lib/rack/utils.rb#233
4729
+ # source://rack//lib/rack/utils.rb#234
4725
4730
  def parse_cookies_header(value); end
4726
4731
 
4727
- # source://rack//lib/rack/utils.rb#105
4732
+ # source://rack//lib/rack/utils.rb#106
4728
4733
  def parse_nested_query(qs, d = T.unsafe(nil)); end
4729
4734
 
4730
- # source://rack//lib/rack/utils.rb#101
4735
+ # source://rack//lib/rack/utils.rb#102
4731
4736
  def parse_query(qs, d = T.unsafe(nil), &unescaper); end
4732
4737
 
4733
- # source://rack//lib/rack/utils.rb#137
4738
+ # source://rack//lib/rack/utils.rb#138
4734
4739
  def q_values(q_value_header); end
4735
4740
 
4736
- # source://rack//lib/rack/utils.rb#401
4741
+ # source://rack//lib/rack/utils.rb#402
4737
4742
  def rfc2822(time); end
4738
4743
 
4739
- # source://rack//lib/rack/utils.rb#454
4744
+ # source://rack//lib/rack/utils.rb#455
4740
4745
  def secure_compare(a, b); end
4741
4746
 
4742
- # source://rack//lib/rack/utils.rb#191
4747
+ # source://rack//lib/rack/utils.rb#192
4743
4748
  def select_best_encoding(available_encodings, accept_encoding); end
4744
4749
 
4745
4750
  # :call-seq:
@@ -4765,7 +4770,7 @@ module Rack::Utils
4765
4770
  # set_cookie_header("myname", {value: "myvalue", max_age: 10})
4766
4771
  # # => "myname=myvalue; max-age=10"
4767
4772
  #
4768
- # source://rack//lib/rack/utils.rb#293
4773
+ # source://rack//lib/rack/utils.rb#294
4769
4774
  def set_cookie_header(key, value); end
4770
4775
 
4771
4776
  # :call-seq:
@@ -4777,27 +4782,27 @@ module Rack::Utils
4777
4782
  # If the headers already contains a +set-cookie+ key, it will be converted
4778
4783
  # to an +Array+ if not already, and appended to.
4779
4784
  #
4780
- # source://rack//lib/rack/utils.rb#336
4785
+ # source://rack//lib/rack/utils.rb#337
4781
4786
  def set_cookie_header!(headers, key, value); end
4782
4787
 
4783
- # source://rack//lib/rack/utils.rb#588
4788
+ # source://rack//lib/rack/utils.rb#589
4784
4789
  def status_code(status); end
4785
4790
 
4786
4791
  # Unescapes a URI escaped string with +encoding+. +encoding+ will be the
4787
4792
  # target encoding of the string returned, and it defaults to UTF-8
4788
4793
  #
4789
- # source://rack//lib/rack/utils.rb#57
4794
+ # source://rack//lib/rack/utils.rb#58
4790
4795
  def unescape(s, encoding = T.unsafe(nil)); end
4791
4796
 
4792
4797
  # Unescapes the **path** component of a URI. See Rack::Utils.unescape for
4793
4798
  # unescaping query parameters or form components.
4794
4799
  #
4795
- # source://rack//lib/rack/utils.rb#51
4800
+ # source://rack//lib/rack/utils.rb#52
4796
4801
  def unescape_path(s); end
4797
4802
 
4798
4803
  # @return [Boolean]
4799
4804
  #
4800
- # source://rack//lib/rack/utils.rb#625
4805
+ # source://rack//lib/rack/utils.rb#626
4801
4806
  def valid_path?(path); end
4802
4807
  end
4803
4808
  end
@@ -4811,30 +4816,30 @@ Rack::Utils::COMMON_SEP = T.let(T.unsafe(nil), Hash)
4811
4816
  # would be the request environment. The second of which would be the rack
4812
4817
  # application that the request would be forwarded to.
4813
4818
  #
4814
- # source://rack//lib/rack/utils.rb#477
4819
+ # source://rack//lib/rack/utils.rb#478
4815
4820
  class Rack::Utils::Context
4816
4821
  # @return [Context] a new instance of Context
4817
4822
  #
4818
- # source://rack//lib/rack/utils.rb#480
4823
+ # source://rack//lib/rack/utils.rb#481
4819
4824
  def initialize(app_f, app_r); end
4820
4825
 
4821
4826
  # Returns the value of attribute app.
4822
4827
  #
4823
- # source://rack//lib/rack/utils.rb#478
4828
+ # source://rack//lib/rack/utils.rb#479
4824
4829
  def app; end
4825
4830
 
4826
- # source://rack//lib/rack/utils.rb#485
4831
+ # source://rack//lib/rack/utils.rb#486
4827
4832
  def call(env); end
4828
4833
 
4829
- # source://rack//lib/rack/utils.rb#493
4834
+ # source://rack//lib/rack/utils.rb#494
4830
4835
  def context(env, app = T.unsafe(nil)); end
4831
4836
 
4832
4837
  # Returns the value of attribute for.
4833
4838
  #
4834
- # source://rack//lib/rack/utils.rb#478
4839
+ # source://rack//lib/rack/utils.rb#479
4835
4840
  def for; end
4836
4841
 
4837
- # source://rack//lib/rack/utils.rb#489
4842
+ # source://rack//lib/rack/utils.rb#490
4838
4843
  def recontext(app); end
4839
4844
  end
4840
4845
 
@@ -4848,7 +4853,7 @@ Rack::Utils::DEFAULT_SEP = T.let(T.unsafe(nil), Regexp)
4848
4853
  # .reject {|v| v['Description'] == 'Unassigned' or v['Description'].include? '(' } \
4849
4854
  # .map {|v| %Q/#{v['Value']} => '#{v['Description']}'/ }.join(','+?\n)"
4850
4855
  #
4851
- # source://rack//lib/rack/utils.rb#504
4856
+ # source://rack//lib/rack/utils.rb#505
4852
4857
  Rack::Utils::HTTP_STATUS_CODES = T.let(T.unsafe(nil), Hash)
4853
4858
 
4854
4859
  # source://rack//lib/rack/utils.rb#22
@@ -4857,16 +4862,16 @@ Rack::Utils::InvalidParameterError = Rack::QueryParser::InvalidParameterError
4857
4862
  # source://rack//lib/rack/utils.rb#26
4858
4863
  Rack::Utils::KeySpaceConstrainedParams = Rack::QueryParser::Params
4859
4864
 
4860
- # source://rack//lib/rack/utils.rb#623
4865
+ # source://rack//lib/rack/utils.rb#624
4861
4866
  Rack::Utils::NULL_BYTE = T.let(T.unsafe(nil), String)
4862
4867
 
4863
- # source://rack//lib/rack/utils.rb#574
4868
+ # source://rack//lib/rack/utils.rb#575
4864
4869
  Rack::Utils::OBSOLETE_SYMBOLS_TO_STATUS_CODES = T.let(T.unsafe(nil), Hash)
4865
4870
 
4866
- # source://rack//lib/rack/utils.rb#582
4871
+ # source://rack//lib/rack/utils.rb#583
4867
4872
  Rack::Utils::OBSOLETE_SYMBOL_MAPPINGS = T.let(T.unsafe(nil), Hash)
4868
4873
 
4869
- # source://rack//lib/rack/utils.rb#606
4874
+ # source://rack//lib/rack/utils.rb#607
4870
4875
  Rack::Utils::PATH_SEPS = T.let(T.unsafe(nil), Regexp)
4871
4876
 
4872
4877
  # source://rack//lib/rack/utils.rb#21
@@ -4877,14 +4882,17 @@ Rack::Utils::ParamsTooDeepError = Rack::QueryParser::ParamsTooDeepError
4877
4882
 
4878
4883
  # Responses with HTTP status codes that should not have an entity body
4879
4884
  #
4880
- # source://rack//lib/rack/utils.rb#568
4885
+ # source://rack//lib/rack/utils.rb#569
4881
4886
  Rack::Utils::STATUS_WITH_NO_ENTITY_BODY = T.let(T.unsafe(nil), Hash)
4882
4887
 
4883
- # source://rack//lib/rack/utils.rb#570
4888
+ # source://rack//lib/rack/utils.rb#571
4884
4889
  Rack::Utils::SYMBOL_TO_STATUS_CODE = T.let(T.unsafe(nil), Hash)
4885
4890
 
4891
+ # source://rack//lib/rack/utils.rb#27
4892
+ Rack::Utils::URI_PARSER = T.let(T.unsafe(nil), URI::RFC2396_Parser)
4893
+
4886
4894
  # A valid cookie key according to RFC2616.
4887
4895
  # A <cookie-name> can be any US-ASCII characters, except control characters, spaces, or tabs. It also must not contain a separator character like the following: ( ) < > @ , ; : \ " / [ ] ? = { }.
4888
4896
  #
4889
- # source://rack//lib/rack/utils.rb#258
4897
+ # source://rack//lib/rack/utils.rb#259
4890
4898
  Rack::Utils::VALID_COOKIE_KEY = T.let(T.unsafe(nil), Regexp)