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
@@ -4,6 +4,7 @@
4
4
  # This is an autogenerated file for types exported from the `thor` gem.
5
5
  # Please instead update this file by running `bin/tapioca gem thor`.
6
6
 
7
+
7
8
  # source://thor//lib/thor/shell/lcs_diff.rb#1
8
9
  module LCSDiff
9
10
  protected
@@ -36,7 +37,7 @@ class Thor
36
37
  extend ::Thor::Base::ClassMethods
37
38
  extend ::Thor::Invocation::ClassMethods
38
39
 
39
- # source://thor//lib/thor.rb#652
40
+ # source://thor//lib/thor.rb#663
40
41
  def help(command = T.unsafe(nil), subcommand = T.unsafe(nil)); end
41
42
 
42
43
  class << self
@@ -77,7 +78,7 @@ class Thor
77
78
  #
78
79
  # Then it is required either only one of "--one" or "--two".
79
80
  #
80
- # source://thor//lib/thor.rb#246
81
+ # source://thor//lib/thor.rb#250
81
82
  def at_least_one(*args, &block); end
82
83
 
83
84
  # Extend check unknown options to accept a hash of conditions.
@@ -95,6 +96,19 @@ class Thor
95
96
  # source://thor//lib/thor.rb#363
96
97
  def check_unknown_options?(config); end
97
98
 
99
+ # Checks if a specified command exists.
100
+ #
101
+ # ==== Parameters
102
+ # command_name<String>:: The name of the command to check for existence.
103
+ #
104
+ # ==== Returns
105
+ # Boolean:: +true+ if the command exists, +false+ otherwise.
106
+ #
107
+ # @return [Boolean]
108
+ #
109
+ # source://thor//lib/thor.rb#449
110
+ def command_exists?(command_name); end
111
+
98
112
  # Prints help information for the given command.
99
113
  #
100
114
  # ==== Parameters
@@ -117,7 +131,7 @@ class Thor
117
131
  # ==== Parameters
118
132
  # meth<Symbol>:: name of the default command
119
133
  #
120
- # source://thor//lib/thor.rb#21
134
+ # source://thor//lib/thor.rb#28
121
135
  def default_task(meth = T.unsafe(nil)); end
122
136
 
123
137
  # source://thor//lib/thor/base.rb#26
@@ -174,7 +188,7 @@ class Thor
174
188
  # If you give "--one" and "--two" at the same time ExclusiveArgumentsError
175
189
  # will be raised.
176
190
  #
177
- # source://thor//lib/thor.rb#203
191
+ # source://thor//lib/thor.rb#207
178
192
  def exclusive(*args, &block); end
179
193
 
180
194
  # Prints help information for this class.
@@ -350,7 +364,7 @@ class Thor
350
364
  # :banner - String to show on usage notes.
351
365
  # :hide - If you want to hide this option from the help.
352
366
  #
353
- # source://thor//lib/thor.rb#163
367
+ # source://thor//lib/thor.rb#175
354
368
  def option(name, options = T.unsafe(nil)); end
355
369
 
356
370
  # Declares the options for the next command to be declared.
@@ -360,7 +374,7 @@ class Thor
360
374
  # is the type of the option. Can be :string, :array, :hash, :boolean, :numeric
361
375
  # or :required (string). If you give a value, the type of the value is used.
362
376
  #
363
- # source://thor//lib/thor.rb#129
377
+ # source://thor//lib/thor.rb#135
364
378
  def options(options = T.unsafe(nil)); end
365
379
 
366
380
  # Allows for custom "Command" package naming.
@@ -379,7 +393,7 @@ class Thor
379
393
 
380
394
  # Returns commands ready to be printed.
381
395
  #
382
- # source://thor//lib/thor.rb#309
396
+ # source://thor//lib/thor.rb#318
383
397
  def printable_tasks(all = T.unsafe(nil), subcommand = T.unsafe(nil)); end
384
398
 
385
399
  # Registers another Thor subclass as a command.
@@ -448,10 +462,10 @@ class Thor
448
462
  # source://thor//lib/thor.rb#320
449
463
  def subcommands; end
450
464
 
451
- # source://thor//lib/thor.rb#329
465
+ # source://thor//lib/thor.rb#344
452
466
  def subtask(subcommand, subcommand_class); end
453
467
 
454
- # source://thor//lib/thor.rb#320
468
+ # source://thor//lib/thor.rb#323
455
469
  def subtasks; end
456
470
 
457
471
  # Prints help information for the given command.
@@ -460,7 +474,7 @@ class Thor
460
474
  # shell<Thor::Shell>
461
475
  # command_name<String>
462
476
  #
463
- # source://thor//lib/thor.rb#258
477
+ # source://thor//lib/thor.rb#281
464
478
  def task_help(shell, command_name); end
465
479
 
466
480
  protected
@@ -470,48 +484,48 @@ class Thor
470
484
  # the command that is going to be invoked and a boolean which indicates if
471
485
  # the namespace should be displayed as arguments.
472
486
  #
473
- # source://thor//lib/thor.rb#535
487
+ # source://thor//lib/thor.rb#546
474
488
  def banner(command, namespace = T.unsafe(nil), subcommand = T.unsafe(nil)); end
475
489
 
476
- # source://thor//lib/thor.rb#541
490
+ # source://thor//lib/thor.rb#552
477
491
  def baseclass; end
478
492
 
479
- # source://thor//lib/thor.rb#549
493
+ # source://thor//lib/thor.rb#560
480
494
  def create_command(meth); end
481
495
 
482
- # source://thor//lib/thor.rb#549
496
+ # source://thor//lib/thor.rb#584
483
497
  def create_task(meth); end
484
498
 
485
499
  # help command has the required check disabled by default.
486
500
  #
487
- # source://thor//lib/thor.rb#467
501
+ # source://thor//lib/thor.rb#478
488
502
  def disable_required_check; end
489
503
 
490
504
  # The method responsible for dispatching given the args.
491
505
  #
492
506
  # @yield [instance]
493
507
  #
494
- # source://thor//lib/thor.rb#494
508
+ # source://thor//lib/thor.rb#505
495
509
  def dispatch(meth, given_args, given_opts, config); end
496
510
 
497
- # source://thor//lib/thor.rb#545
511
+ # source://thor//lib/thor.rb#556
498
512
  def dynamic_command_class; end
499
513
 
500
514
  # this is the logic that takes the command name passed in by the user
501
515
  # and determines whether it is an unambiguous substrings of a command or
502
516
  # alias name.
503
517
  #
504
- # source://thor//lib/thor.rb#615
518
+ # source://thor//lib/thor.rb#626
505
519
  def find_command_possibilities(meth); end
506
520
 
507
521
  # this is the logic that takes the command name passed in by the user
508
522
  # and determines whether it is an unambiguous substrings of a command or
509
523
  # alias name.
510
524
  #
511
- # source://thor//lib/thor.rb#615
525
+ # source://thor//lib/thor.rb#639
512
526
  def find_task_possibilities(meth); end
513
527
 
514
- # source://thor//lib/thor.rb#575
528
+ # source://thor//lib/thor.rb#586
515
529
  def initialize_added; end
516
530
 
517
531
  # Returns this class at least one of required options array set.
@@ -519,7 +533,7 @@ class Thor
519
533
  # ==== Returns
520
534
  # Array[Array[Thor::Option.name]]
521
535
  #
522
- # source://thor//lib/thor.rb#458
536
+ # source://thor//lib/thor.rb#469
523
537
  def method_at_least_one_option_names; end
524
538
 
525
539
  # Returns this class exclusive options array set.
@@ -527,7 +541,7 @@ class Thor
527
541
  # ==== Returns
528
542
  # Array[Array[Thor::Option.name]]
529
543
  #
530
- # source://thor//lib/thor.rb#449
544
+ # source://thor//lib/thor.rb#460
531
545
  def method_exclusive_option_names; end
532
546
 
533
547
  # receives a (possibly nil) command name and returns a name that is in
@@ -540,7 +554,7 @@ class Thor
540
554
  #
541
555
  # @raise [AmbiguousTaskError]
542
556
  #
543
- # source://thor//lib/thor.rb#594
557
+ # source://thor//lib/thor.rb#605
544
558
  def normalize_command_name(meth); end
545
559
 
546
560
  # receives a (possibly nil) command name and returns a name that is in
@@ -553,23 +567,23 @@ class Thor
553
567
  #
554
568
  # @raise [AmbiguousTaskError]
555
569
  #
556
- # source://thor//lib/thor.rb#594
570
+ # source://thor//lib/thor.rb#621
557
571
  def normalize_task_name(meth); end
558
572
 
559
- # source://thor//lib/thor.rb#482
573
+ # source://thor//lib/thor.rb#493
560
574
  def print_at_least_one_required_options(shell, command = T.unsafe(nil)); end
561
575
 
562
- # source://thor//lib/thor.rb#471
576
+ # source://thor//lib/thor.rb#482
563
577
  def print_exclusive_options(shell, command = T.unsafe(nil)); end
564
578
 
565
579
  # Retrieve the command name from given args.
566
580
  #
567
- # source://thor//lib/thor.rb#581
581
+ # source://thor//lib/thor.rb#592
568
582
  def retrieve_command_name(args); end
569
583
 
570
584
  # Retrieve the command name from given args.
571
585
  #
572
- # source://thor//lib/thor.rb#581
586
+ # source://thor//lib/thor.rb#596
573
587
  def retrieve_task_name(args); end
574
588
 
575
589
  # Sort the commands, lexicographically by default.
@@ -577,16 +591,16 @@ class Thor
577
591
  # Can be overridden in the subclass to change the display order of the
578
592
  # commands.
579
593
  #
580
- # source://thor//lib/thor.rb#642
594
+ # source://thor//lib/thor.rb#653
581
595
  def sort_commands!(list); end
582
596
 
583
- # source://thor//lib/thor.rb#462
597
+ # source://thor//lib/thor.rb#473
584
598
  def stop_on_unknown_option; end
585
599
 
586
- # source://thor//lib/thor.rb#630
600
+ # source://thor//lib/thor.rb#641
587
601
  def subcommand_help(cmd); end
588
602
 
589
- # source://thor//lib/thor.rb#630
603
+ # source://thor//lib/thor.rb#647
590
604
  def subtask_help(cmd); end
591
605
  end
592
606
  end
@@ -629,7 +643,7 @@ module Thor::Actions
629
643
  #
630
644
  # create_file "config/apache.conf", "your apache config"
631
645
  #
632
- # source://thor//lib/thor/actions/create_file.rb#22
646
+ # source://thor//lib/thor/actions/create_file.rb#27
633
647
  def add_file(destination, *args, &block); end
634
648
 
635
649
  # Create a new file relative to the destination root from the given source.
@@ -644,7 +658,7 @@ module Thor::Actions
644
658
  #
645
659
  # create_link "config/apache.conf", "/etc/apache.conf"
646
660
  #
647
- # source://thor//lib/thor/actions/create_link.rb#17
661
+ # source://thor//lib/thor/actions/create_link.rb#22
648
662
  def add_link(destination, *args); end
649
663
 
650
664
  # Append text to a file. Since it depends on insert_into_file, it's reversible.
@@ -662,7 +676,7 @@ module Thor::Actions
662
676
  # 'config.gem "rspec"'
663
677
  # end
664
678
  #
665
- # source://thor//lib/thor/actions/file_manipulation.rb#192
679
+ # source://thor//lib/thor/actions/file_manipulation.rb#197
666
680
  def append_file(path, *args, &block); end
667
681
 
668
682
  # Append text to a file. Since it depends on insert_into_file, it's reversible.
@@ -737,7 +751,7 @@ module Thor::Actions
737
751
  #
738
752
  # comment_lines 'config/initializers/session_store.rb', /cookie_store/
739
753
  #
740
- # source://thor//lib/thor/actions/file_manipulation.rb#308
754
+ # source://thor//lib/thor/actions/file_manipulation.rb#333
741
755
  def comment_lines(path, flag, *args); end
742
756
 
743
757
  # Copies the file from the relative source to the relative destination. If
@@ -914,9 +928,30 @@ module Thor::Actions
914
928
  # match << " no more. Use thor!"
915
929
  # end
916
930
  #
917
- # source://thor//lib/thor/actions/file_manipulation.rb#262
931
+ # source://thor//lib/thor/actions/file_manipulation.rb#291
918
932
  def gsub_file(path, flag, *args, &block); end
919
933
 
934
+ # Run a regular expression replacement on a file, raising an error if the
935
+ # contents of the file are not changed.
936
+ #
937
+ # ==== Parameters
938
+ # path<String>:: path of the file to be changed
939
+ # flag<Regexp|String>:: the regexp or string to be replaced
940
+ # replacement<String>:: the replacement, can be also given as a block
941
+ # config<Hash>:: give :verbose => false to not log the status, and
942
+ # :force => true, to force the replacement regardless of runner behavior.
943
+ #
944
+ # ==== Example
945
+ #
946
+ # gsub_file! 'app/controllers/application_controller.rb', /#\s*(filter_parameter_logging :password)/, '\1'
947
+ #
948
+ # gsub_file! 'README', /rake/, :green do |match|
949
+ # match << " no more. Use thor!"
950
+ # end
951
+ #
952
+ # source://thor//lib/thor/actions/file_manipulation.rb#263
953
+ def gsub_file!(path, flag, *args, &block); end
954
+
920
955
  # Goes to the root and execute the given block.
921
956
  #
922
957
  # source://thor//lib/thor/actions.rb#200
@@ -942,7 +977,7 @@ module Thor::Actions
942
977
  # source://thor//lib/thor/actions/file_manipulation.rb#216
943
978
  def inject_into_class(path, klass, *args, &block); end
944
979
 
945
- # source://thor//lib/thor/actions/inject_into_file.rb#26
980
+ # source://thor//lib/thor/actions/inject_into_file.rb#34
946
981
  def inject_into_file(destination, *args, &block); end
947
982
 
948
983
  # Injects text right after the module definition. Since it depends on
@@ -1014,7 +1049,7 @@ module Thor::Actions
1014
1049
  # 'config.gem "rspec"'
1015
1050
  # end
1016
1051
  #
1017
- # source://thor//lib/thor/actions/file_manipulation.rb#170
1052
+ # source://thor//lib/thor/actions/file_manipulation.rb#175
1018
1053
  def prepend_file(path, *args, &block); end
1019
1054
 
1020
1055
  # Prepend text to a file. Since it depends on insert_into_file, it's reversible.
@@ -1052,7 +1087,7 @@ module Thor::Actions
1052
1087
  # remove_file 'README'
1053
1088
  # remove_file 'app/controllers/application_controller.rb'
1054
1089
  #
1055
- # source://thor//lib/thor/actions/file_manipulation.rb#325
1090
+ # source://thor//lib/thor/actions/file_manipulation.rb#360
1056
1091
  def remove_dir(path, config = T.unsafe(nil)); end
1057
1092
 
1058
1093
  # Removes a file at the given location.
@@ -1066,7 +1101,7 @@ module Thor::Actions
1066
1101
  # remove_file 'README'
1067
1102
  # remove_file 'app/controllers/application_controller.rb'
1068
1103
  #
1069
- # source://thor//lib/thor/actions/file_manipulation.rb#325
1104
+ # source://thor//lib/thor/actions/file_manipulation.rb#350
1070
1105
  def remove_file(path, config = T.unsafe(nil)); end
1071
1106
 
1072
1107
  # Executes a command returning the contents of the command.
@@ -1150,7 +1185,7 @@ module Thor::Actions
1150
1185
  #
1151
1186
  # uncomment_lines 'config/initializers/session_store.rb', /active_record/
1152
1187
  #
1153
- # source://thor//lib/thor/actions/file_manipulation.rb#289
1188
+ # source://thor//lib/thor/actions/file_manipulation.rb#314
1154
1189
  def uncomment_lines(path, flag, *args); end
1155
1190
 
1156
1191
  protected
@@ -1165,25 +1200,28 @@ module Thor::Actions
1165
1200
 
1166
1201
  private
1167
1202
 
1168
- # source://thor//lib/thor/actions/file_manipulation.rb#346
1203
+ # source://thor//lib/thor/actions/file_manipulation.rb#385
1204
+ def actually_gsub_file(path, flag, args, error_on_no_change, &block); end
1205
+
1206
+ # source://thor//lib/thor/actions/file_manipulation.rb#371
1169
1207
  def capture(*args); end
1170
1208
 
1171
- # source://thor//lib/thor/actions/file_manipulation.rb#342
1209
+ # source://thor//lib/thor/actions/file_manipulation.rb#367
1172
1210
  def concat(string); end
1173
1211
 
1174
1212
  # Returns the value of attribute output_buffer.
1175
1213
  #
1176
- # source://thor//lib/thor/actions/file_manipulation.rb#337
1214
+ # source://thor//lib/thor/actions/file_manipulation.rb#362
1177
1215
  def output_buffer; end
1178
1216
 
1179
1217
  # Sets the attribute output_buffer
1180
1218
  #
1181
1219
  # @param value the value to set the attribute output_buffer to.
1182
1220
  #
1183
- # source://thor//lib/thor/actions/file_manipulation.rb#337
1221
+ # source://thor//lib/thor/actions/file_manipulation.rb#362
1184
1222
  def output_buffer=(_arg0); end
1185
1223
 
1186
- # source://thor//lib/thor/actions/file_manipulation.rb#350
1224
+ # source://thor//lib/thor/actions/file_manipulation.rb#375
1187
1225
  def with_output_buffer(buf = T.unsafe(nil)); end
1188
1226
 
1189
1227
  class << self
@@ -1195,9 +1233,9 @@ end
1195
1233
  # Thor::Actions#capture depends on what kind of buffer is used in ERB.
1196
1234
  # Thus CapturableERB fixes ERB to use String buffer.
1197
1235
  #
1198
- # source://thor//lib/thor/actions/file_manipulation.rb#362
1236
+ # source://thor//lib/thor/actions/file_manipulation.rb#398
1199
1237
  class Thor::Actions::CapturableERB < ::ERB
1200
- # source://thor//lib/thor/actions/file_manipulation.rb#363
1238
+ # source://thor//lib/thor/actions/file_manipulation.rb#399
1201
1239
  def set_eoutvar(compiler, eoutvar = T.unsafe(nil)); end
1202
1240
  end
1203
1241
 
@@ -1554,7 +1592,7 @@ class Thor::Argument
1554
1592
 
1555
1593
  # Returns the value of attribute name.
1556
1594
  #
1557
- # source://thor//lib/thor/parser/argument.rb#5
1595
+ # source://thor//lib/thor/parser/argument.rb#6
1558
1596
  def human_name; end
1559
1597
 
1560
1598
  # Returns the value of attribute name.
@@ -1838,7 +1876,7 @@ module Thor::Base::ClassMethods
1838
1876
  # Hash:: An ordered hash with commands names as keys and Thor::Command
1839
1877
  # objects as values.
1840
1878
  #
1841
- # source://thor//lib/thor/base.rb#482
1879
+ # source://thor//lib/thor/base.rb#486
1842
1880
  def all_tasks; end
1843
1881
 
1844
1882
  # If you want to use defaults that don't match the type of an option,
@@ -2076,7 +2114,7 @@ module Thor::Base::ClassMethods
2076
2114
 
2077
2115
  # @raise [UndefinedCommandError]
2078
2116
  #
2079
- # source://thor//lib/thor/base.rb#613
2117
+ # source://thor//lib/thor/base.rb#616
2080
2118
  def handle_no_task_error(command, has_namespace = T.unsafe(nil)); end
2081
2119
 
2082
2120
  # Sets the namespace for the Thor or Thor::Group class. By default the
@@ -2153,7 +2191,7 @@ module Thor::Base::ClassMethods
2153
2191
  # remove_command :this_is_not_a_command
2154
2192
  # end
2155
2193
  #
2156
- # source://thor//lib/thor/base.rb#530
2194
+ # source://thor//lib/thor/base.rb#534
2157
2195
  def no_tasks(&block); end
2158
2196
 
2159
2197
  # Allows to use private methods from parent in child classes as commands.
@@ -2179,7 +2217,7 @@ module Thor::Base::ClassMethods
2179
2217
  # public_command :foo
2180
2218
  # public_command :foo, :bar, :baz
2181
2219
  #
2182
- # source://thor//lib/thor/base.rb#606
2220
+ # source://thor//lib/thor/base.rb#611
2183
2221
  def public_task(*names); end
2184
2222
 
2185
2223
  # Removes a previous defined argument. If :undefine is given, undefine
@@ -2236,7 +2274,7 @@ module Thor::Base::ClassMethods
2236
2274
  # options<Hash>:: You can give :undefine => true if you want commands the method
2237
2275
  # to be undefined from the class as well.
2238
2276
  #
2239
- # source://thor//lib/thor/base.rb#500
2277
+ # source://thor//lib/thor/base.rb#509
2240
2278
  def remove_task(*names); end
2241
2279
 
2242
2280
  # Parses the command and options from the given args, instantiate the class
@@ -2280,7 +2318,7 @@ module Thor::Base::ClassMethods
2280
2318
  # Hash:: An ordered hash with commands names as keys and Thor::Command
2281
2319
  # objects as values.
2282
2320
  #
2283
- # source://thor//lib/thor/base.rb#471
2321
+ # source://thor//lib/thor/base.rb#474
2284
2322
  def tasks; end
2285
2323
 
2286
2324
  protected
@@ -2343,7 +2381,7 @@ module Thor::Base::ClassMethods
2343
2381
  # SIGNATURE: Creates a new command if valid_command? is true. This method is
2344
2382
  # called when a new method is added to the class.
2345
2383
  #
2346
- # source://thor//lib/thor/base.rb#782
2384
+ # source://thor//lib/thor/base.rb#784
2347
2385
  def create_task(meth); end
2348
2386
 
2349
2387
  # SIGNATURE: The hook invoked by start.
@@ -2364,7 +2402,7 @@ module Thor::Base::ClassMethods
2364
2402
  # class, just return it, otherwise dup it and add the fresh copy to the
2365
2403
  # current command hash.
2366
2404
  #
2367
- # source://thor//lib/thor/base.rb#708
2405
+ # source://thor//lib/thor/base.rb#717
2368
2406
  def find_and_refresh_task(name); end
2369
2407
 
2370
2408
  # Retrieves a value from superclass. If it reaches the baseclass,
@@ -2629,7 +2667,7 @@ class Thor::Group
2629
2667
  # Shortcut to invoke with padding and block handling. Use internally by
2630
2668
  # invoke and invoke_from_option class methods.
2631
2669
  #
2632
- # source://thor//lib/thor/group.rb#265
2670
+ # source://thor//lib/thor/group.rb#276
2633
2671
  def _invoke_for_class_method(klass, command = T.unsafe(nil), *args, &block); end
2634
2672
 
2635
2673
  class << self
@@ -2639,6 +2677,19 @@ class Thor::Group
2639
2677
  # source://thor//lib/thor/group.rb#161
2640
2678
  def class_options_help(shell, groups = T.unsafe(nil)); end
2641
2679
 
2680
+ # Checks if a specified command exists.
2681
+ #
2682
+ # ==== Parameters
2683
+ # command_name<String>:: The name of the command to check for existence.
2684
+ #
2685
+ # ==== Returns
2686
+ # Boolean:: +true+ if the command exists, +false+ otherwise.
2687
+ #
2688
+ # @return [Boolean]
2689
+ #
2690
+ # source://thor//lib/thor/group.rb#221
2691
+ def command_exists?(command_name); end
2692
+
2642
2693
  # The description for this Thor::Group. If none is provided, but a source root
2643
2694
  # exists, tries to find the USAGE one folder above it, otherwise searches
2644
2695
  # in the superclass.
@@ -2729,7 +2780,7 @@ class Thor::Group
2729
2780
 
2730
2781
  # Returns commands ready to be printed.
2731
2782
  #
2732
- # source://thor//lib/thor/group.rb#199
2783
+ # source://thor//lib/thor/group.rb#205
2733
2784
  def printable_tasks(*_arg0); end
2734
2785
 
2735
2786
  # Remove a previously added invocation.
@@ -2746,33 +2797,33 @@ class Thor::Group
2746
2797
  # The banner for this class. You can customize it if you are invoking the
2747
2798
  # thor class by another ways which is not the Thor::Runner.
2748
2799
  #
2749
- # source://thor//lib/thor/group.rb#238
2800
+ # source://thor//lib/thor/group.rb#249
2750
2801
  def banner; end
2751
2802
 
2752
- # source://thor//lib/thor/group.rb#248
2803
+ # source://thor//lib/thor/group.rb#259
2753
2804
  def baseclass; end
2754
2805
 
2755
- # source://thor//lib/thor/group.rb#252
2806
+ # source://thor//lib/thor/group.rb#263
2756
2807
  def create_command(meth); end
2757
2808
 
2758
- # source://thor//lib/thor/group.rb#252
2809
+ # source://thor//lib/thor/group.rb#267
2759
2810
  def create_task(meth); end
2760
2811
 
2761
2812
  # The method responsible for dispatching given the args.
2762
2813
  #
2763
2814
  # @yield [instance]
2764
2815
  #
2765
- # source://thor//lib/thor/group.rb#217
2816
+ # source://thor//lib/thor/group.rb#228
2766
2817
  def dispatch(command, given_args, given_opts, config); end
2767
2818
 
2768
2819
  # Represents the whole class as a command.
2769
2820
  #
2770
- # source://thor//lib/thor/group.rb#243
2821
+ # source://thor//lib/thor/group.rb#254
2771
2822
  def self_command; end
2772
2823
 
2773
2824
  # Represents the whole class as a command.
2774
2825
  #
2775
- # source://thor//lib/thor/group.rb#243
2826
+ # source://thor//lib/thor/group.rb#257
2776
2827
  def self_task; end
2777
2828
  end
2778
2829
  end
@@ -2892,7 +2943,7 @@ module Thor::Invocation
2892
2943
 
2893
2944
  # Invoke the given command if the given args.
2894
2945
  #
2895
- # source://thor//lib/thor/invocation.rb#122
2946
+ # source://thor//lib/thor/invocation.rb#130
2896
2947
  def invoke_task(command, *args); end
2897
2948
 
2898
2949
  # Invokes using shell padding.
@@ -2920,7 +2971,7 @@ module Thor::Invocation
2920
2971
  # use the given name and return self as class. Otherwise, call
2921
2972
  # prepare_for_invocation in the current class.
2922
2973
  #
2923
- # source://thor//lib/thor/invocation.rb#153
2974
+ # source://thor//lib/thor/invocation.rb#163
2924
2975
  def _retrieve_class_and_task(name, sent_command = T.unsafe(nil)); end
2925
2976
 
2926
2977
  # Configuration values that are shared between invocations.
@@ -3101,10 +3152,10 @@ class Thor::Option < ::Thor::Argument
3101
3152
  # source://thor//lib/thor/parser/option.rb#99
3102
3153
  def aliases_for_usage; end
3103
3154
 
3104
- # source://thor//lib/thor/parser/option.rb#118
3155
+ # source://thor//lib/thor/parser/option.rb#117
3105
3156
  def array?; end
3106
3157
 
3107
- # source://thor//lib/thor/parser/option.rb#118
3158
+ # source://thor//lib/thor/parser/option.rb#117
3108
3159
  def boolean?; end
3109
3160
 
3110
3161
  # Returns the value of attribute group.
@@ -3112,7 +3163,7 @@ class Thor::Option < ::Thor::Argument
3112
3163
  # source://thor//lib/thor/parser/option.rb#3
3113
3164
  def group; end
3114
3165
 
3115
- # source://thor//lib/thor/parser/option.rb#118
3166
+ # source://thor//lib/thor/parser/option.rb#117
3116
3167
  def hash?; end
3117
3168
 
3118
3169
  # Returns the value of attribute hide.
@@ -3128,7 +3179,7 @@ class Thor::Option < ::Thor::Argument
3128
3179
  # source://thor//lib/thor/parser/option.rb#3
3129
3180
  def lazy_default; end
3130
3181
 
3131
- # source://thor//lib/thor/parser/option.rb#118
3182
+ # source://thor//lib/thor/parser/option.rb#117
3132
3183
  def numeric?; end
3133
3184
 
3134
3185
  # Returns the value of attribute repeatable.
@@ -3141,7 +3192,7 @@ class Thor::Option < ::Thor::Argument
3141
3192
  # source://thor//lib/thor/parser/option.rb#107
3142
3193
  def show_default?; end
3143
3194
 
3144
- # source://thor//lib/thor/parser/option.rb#118
3195
+ # source://thor//lib/thor/parser/option.rb#117
3145
3196
  def string?; end
3146
3197
 
3147
3198
  # source://thor//lib/thor/parser/option.rb#75
@@ -3394,37 +3445,37 @@ module Thor::Shell
3394
3445
  # source://thor//lib/thor/shell.rb#44
3395
3446
  def initialize(args = T.unsafe(nil), options = T.unsafe(nil), config = T.unsafe(nil)); end
3396
3447
 
3397
- # source://thor//lib/thor/shell.rb#59
3448
+ # source://thor//lib/thor/shell.rb#58
3398
3449
  def ask(*args, &block); end
3399
3450
 
3400
- # source://thor//lib/thor/shell.rb#59
3451
+ # source://thor//lib/thor/shell.rb#58
3401
3452
  def error(*args, &block); end
3402
3453
 
3403
- # source://thor//lib/thor/shell.rb#59
3454
+ # source://thor//lib/thor/shell.rb#58
3404
3455
  def file_collision(*args, &block); end
3405
3456
 
3406
- # source://thor//lib/thor/shell.rb#59
3457
+ # source://thor//lib/thor/shell.rb#58
3407
3458
  def no?(*args, &block); end
3408
3459
 
3409
- # source://thor//lib/thor/shell.rb#59
3460
+ # source://thor//lib/thor/shell.rb#58
3410
3461
  def print_in_columns(*args, &block); end
3411
3462
 
3412
- # source://thor//lib/thor/shell.rb#59
3463
+ # source://thor//lib/thor/shell.rb#58
3413
3464
  def print_table(*args, &block); end
3414
3465
 
3415
- # source://thor//lib/thor/shell.rb#59
3466
+ # source://thor//lib/thor/shell.rb#58
3416
3467
  def print_wrapped(*args, &block); end
3417
3468
 
3418
- # source://thor//lib/thor/shell.rb#59
3469
+ # source://thor//lib/thor/shell.rb#58
3419
3470
  def say(*args, &block); end
3420
3471
 
3421
- # source://thor//lib/thor/shell.rb#59
3472
+ # source://thor//lib/thor/shell.rb#58
3422
3473
  def say_error(*args, &block); end
3423
3474
 
3424
- # source://thor//lib/thor/shell.rb#59
3475
+ # source://thor//lib/thor/shell.rb#58
3425
3476
  def say_status(*args, &block); end
3426
3477
 
3427
- # source://thor//lib/thor/shell.rb#59
3478
+ # source://thor//lib/thor/shell.rb#58
3428
3479
  def set_color(*args, &block); end
3429
3480
 
3430
3481
  # Holds the shell for the given Thor instance. If no shell is given,
@@ -3440,7 +3491,7 @@ module Thor::Shell
3440
3491
  # source://thor//lib/thor/shell.rb#25
3441
3492
  def shell=(_arg0); end
3442
3493
 
3443
- # source://thor//lib/thor/shell.rb#59
3494
+ # source://thor//lib/thor/shell.rb#58
3444
3495
  def terminal_width(*args, &block); end
3445
3496
 
3446
3497
  # Yields the given block with padding.
@@ -3448,7 +3499,7 @@ module Thor::Shell
3448
3499
  # source://thor//lib/thor/shell.rb#66
3449
3500
  def with_padding; end
3450
3501
 
3451
- # source://thor//lib/thor/shell.rb#59
3502
+ # source://thor//lib/thor/shell.rb#58
3452
3503
  def yes?(*args, &block); end
3453
3504
 
3454
3505
  protected
@@ -3661,9 +3712,6 @@ class Thor::Shell::Basic
3661
3712
  # source://thor//lib/thor/shell/basic.rb#296
3662
3713
  def file_collision_help(block_given); end
3663
3714
 
3664
- # source://thor//lib/thor/shell/basic.rb#383
3665
- def git_merge_tool; end
3666
-
3667
3715
  # @return [Boolean]
3668
3716
  #
3669
3717
  # source://thor//lib/thor/shell/basic.rb#286
@@ -4265,7 +4313,7 @@ module Thor::Util
4265
4313
  # ==== Parameters
4266
4314
  # namespace<String>
4267
4315
  #
4268
- # source://thor//lib/thor/util.rb#131
4316
+ # source://thor//lib/thor/util.rb#148
4269
4317
  def find_class_and_task_by_namespace(namespace, fallback = T.unsafe(nil)); end
4270
4318
 
4271
4319
  # Where to look for Thor files.