mangrove 0.24.0 → 0.30.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (46) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +32 -5
  3. data/lib/mangrove/result.rb +73 -64
  4. data/lib/mangrove/version.rb +1 -1
  5. data/rbi/mangrove.rbi +20 -0
  6. data/sorbet/rbi/annotations/rainbow.rbi +3 -3
  7. data/sorbet/rbi/gems/{diff-lcs@1.5.0.rbi → diff-lcs@1.5.1.rbi} +100 -48
  8. data/sorbet/rbi/gems/{io-console@0.6.0.rbi → io-console@0.7.2.rbi} +1 -0
  9. data/sorbet/rbi/gems/{json@2.6.3.rbi → json@2.7.2.rbi} +95 -74
  10. data/sorbet/rbi/gems/{parallel@1.23.0.rbi → parallel@1.24.0.rbi} +9 -1
  11. data/sorbet/rbi/gems/{parser@3.2.2.4.rbi → parser@3.3.2.0.rbi} +1267 -1282
  12. data/sorbet/rbi/gems/prism@0.29.0.rbi +37987 -0
  13. data/sorbet/rbi/gems/{psych@5.1.1.1.rbi → psych@5.1.2.rbi} +231 -267
  14. data/sorbet/rbi/gems/{racc@1.7.1.rbi → racc@1.8.0.rbi} +37 -36
  15. data/sorbet/rbi/gems/{rake@13.0.6.rbi → rake@13.2.1.rbi} +217 -73
  16. data/sorbet/rbi/gems/{rbi@0.1.3.rbi → rbi@0.1.13.rbi} +322 -166
  17. data/sorbet/rbi/gems/{rdoc@6.6.0.rbi → rdoc@6.7.0.rbi} +735 -685
  18. data/sorbet/rbi/gems/{regexp_parser@2.8.2.rbi → regexp_parser@2.9.2.rbi} +192 -169
  19. data/sorbet/rbi/gems/{reline@0.4.0.rbi → reline@0.5.8.rbi} +1 -0
  20. data/sorbet/rbi/gems/{rexml@3.2.6.rbi → rexml@3.2.8.rbi} +122 -109
  21. data/sorbet/rbi/gems/{rspec-core@3.12.2.rbi → rspec-core@3.13.0.rbi} +400 -300
  22. data/sorbet/rbi/gems/{rspec-expectations@3.12.3.rbi → rspec-expectations@3.13.0.rbi} +173 -119
  23. data/sorbet/rbi/gems/{rspec-mocks@3.12.6.rbi → rspec-mocks@3.13.1.rbi} +195 -160
  24. data/sorbet/rbi/gems/{rspec-support@3.12.1.rbi → rspec-support@3.13.1.rbi} +319 -298
  25. data/sorbet/rbi/gems/{rspec@3.12.0.rbi → rspec@3.13.0.rbi} +23 -22
  26. data/sorbet/rbi/gems/ruboclean@0.6.0.rbi +315 -0
  27. data/sorbet/rbi/gems/{rubocop-ast@1.29.0.rbi → rubocop-ast@1.31.3.rbi} +348 -285
  28. data/sorbet/rbi/gems/{rubocop-capybara@2.19.0.rbi → rubocop-capybara@2.20.0.rbi} +148 -65
  29. data/sorbet/rbi/gems/{rubocop-factory_bot@2.24.0.rbi → rubocop-factory_bot@2.25.1.rbi} +70 -20
  30. data/sorbet/rbi/gems/{rubocop-rspec@2.24.1.rbi → rubocop-rspec@2.30.0.rbi} +678 -389
  31. data/sorbet/rbi/gems/rubocop-rspec_rails@2.28.3.rbi +911 -0
  32. data/sorbet/rbi/gems/{rubocop@1.57.1.rbi → rubocop@1.64.1.rbi} +3225 -1915
  33. data/sorbet/rbi/gems/{ruby-lsp@0.12.0.rbi → ruby-lsp@0.17.2.rbi} +1 -0
  34. data/sorbet/rbi/gems/{spoom@1.2.4.rbi → spoom@1.3.2.rbi} +1057 -413
  35. data/sorbet/rbi/gems/strscan@3.1.0.rbi +9 -0
  36. data/sorbet/rbi/gems/{tapioca@0.11.10.rbi → tapioca@0.14.3.rbi} +268 -234
  37. data/sorbet/rbi/gems/{thor@1.3.0.rbi → thor@1.3.1.rbi} +57 -50
  38. data/sorbet/rbi/gems/{yard@0.9.34.rbi → yard@0.9.36.rbi} +154 -82
  39. metadata +38 -38
  40. data/sorbet/rbi/gems/base64@0.1.1.rbi +0 -172
  41. data/sorbet/rbi/gems/irb@1.9.0.rbi +0 -342
  42. data/sorbet/rbi/gems/prettier_print@1.2.1.rbi +0 -951
  43. data/sorbet/rbi/gems/prism@0.15.1.rbi +0 -23922
  44. data/sorbet/rbi/gems/ruboclean@0.4.0.rbi +0 -189
  45. data/sorbet/rbi/gems/syntax_tree@6.2.0.rbi +0 -23136
  46. /data/sorbet/rbi/gems/{stringio@3.0.9.rbi → stringio@3.1.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
@@ -662,7 +663,7 @@ module Thor::Actions
662
663
  # 'config.gem "rspec"'
663
664
  # end
664
665
  #
665
- # source://thor//lib/thor/actions/file_manipulation.rb#193
666
+ # source://thor//lib/thor/actions/file_manipulation.rb#192
666
667
  def append_file(path, *args, &block); end
667
668
 
668
669
  # Append text to a file. Since it depends on insert_into_file, it's reversible.
@@ -680,7 +681,7 @@ module Thor::Actions
680
681
  # 'config.gem "rspec"'
681
682
  # end
682
683
  #
683
- # source://thor//lib/thor/actions/file_manipulation.rb#193
684
+ # source://thor//lib/thor/actions/file_manipulation.rb#192
684
685
  def append_to_file(path, *args, &block); end
685
686
 
686
687
  # Loads an external file and execute it in the instance binding.
@@ -721,7 +722,7 @@ module Thor::Actions
721
722
  #
722
723
  # chmod "script/server", 0755
723
724
  #
724
- # source://thor//lib/thor/actions/file_manipulation.rb#146
725
+ # source://thor//lib/thor/actions/file_manipulation.rb#145
725
726
  def chmod(path, mode, config = T.unsafe(nil)); end
726
727
 
727
728
  # Comment all lines matching a given regex. It will leave the space
@@ -737,16 +738,25 @@ module Thor::Actions
737
738
  #
738
739
  # comment_lines 'config/initializers/session_store.rb', /cookie_store/
739
740
  #
740
- # source://thor//lib/thor/actions/file_manipulation.rb#310
741
+ # source://thor//lib/thor/actions/file_manipulation.rb#308
741
742
  def comment_lines(path, flag, *args); end
742
743
 
744
+ # Copies the file from the relative source to the relative destination. If
745
+ # the destination is not given it's assumed to be equal to the source.
746
+ #
747
+ # ==== Parameters
748
+ # source<String>:: the relative path to the source root.
749
+ # destination<String>:: the relative path to the destination root.
750
+ # config<Hash>:: give :verbose => false to not log the status, and
751
+ # :mode => :preserve, to preserve the file mode from the source.
752
+ #
743
753
  # ==== Examples
744
754
  #
745
755
  # copy_file "README", "doc/README"
746
756
  #
747
757
  # copy_file "doc/README"
748
758
  #
749
- # source://thor//lib/thor/actions/file_manipulation.rb#21
759
+ # source://thor//lib/thor/actions/file_manipulation.rb#20
750
760
  def copy_file(source, *args, &block); end
751
761
 
752
762
  # Create a new file relative to the destination root with the given data,
@@ -885,7 +895,7 @@ module Thor::Actions
885
895
  # content.split("\n").first
886
896
  # end
887
897
  #
888
- # source://thor//lib/thor/actions/file_manipulation.rb#82
898
+ # source://thor//lib/thor/actions/file_manipulation.rb#81
889
899
  def get(source, *args, &block); end
890
900
 
891
901
  # Run a regular expression replacement on a file.
@@ -905,7 +915,7 @@ module Thor::Actions
905
915
  # match << " no more. Use thor!"
906
916
  # end
907
917
  #
908
- # source://thor//lib/thor/actions/file_manipulation.rb#263
918
+ # source://thor//lib/thor/actions/file_manipulation.rb#262
909
919
  def gsub_file(path, flag, *args, &block); end
910
920
 
911
921
  # Goes to the root and execute the given block.
@@ -930,7 +940,7 @@ module Thor::Actions
930
940
  # " filter_parameter :password\n"
931
941
  # end
932
942
  #
933
- # source://thor//lib/thor/actions/file_manipulation.rb#217
943
+ # source://thor//lib/thor/actions/file_manipulation.rb#216
934
944
  def inject_into_class(path, klass, *args, &block); end
935
945
 
936
946
  # source://thor//lib/thor/actions/inject_into_file.rb#26
@@ -953,7 +963,7 @@ module Thor::Actions
953
963
  # " def help; 'help'; end\n"
954
964
  # end
955
965
  #
956
- # source://thor//lib/thor/actions/file_manipulation.rb#240
966
+ # source://thor//lib/thor/actions/file_manipulation.rb#239
957
967
  def inject_into_module(path, module_name, *args, &block); end
958
968
 
959
969
  # source://thor//lib/thor/actions/inject_into_file.rb#26
@@ -987,7 +997,7 @@ module Thor::Actions
987
997
  #
988
998
  # link_file "doc/README"
989
999
  #
990
- # source://thor//lib/thor/actions/file_manipulation.rb#51
1000
+ # source://thor//lib/thor/actions/file_manipulation.rb#50
991
1001
  def link_file(source, *args); end
992
1002
 
993
1003
  # Prepend text to a file. Since it depends on insert_into_file, it's reversible.
@@ -1005,7 +1015,7 @@ module Thor::Actions
1005
1015
  # 'config.gem "rspec"'
1006
1016
  # end
1007
1017
  #
1008
- # source://thor//lib/thor/actions/file_manipulation.rb#171
1018
+ # source://thor//lib/thor/actions/file_manipulation.rb#170
1009
1019
  def prepend_file(path, *args, &block); end
1010
1020
 
1011
1021
  # Prepend text to a file. Since it depends on insert_into_file, it's reversible.
@@ -1023,7 +1033,7 @@ module Thor::Actions
1023
1033
  # 'config.gem "rspec"'
1024
1034
  # end
1025
1035
  #
1026
- # source://thor//lib/thor/actions/file_manipulation.rb#171
1036
+ # source://thor//lib/thor/actions/file_manipulation.rb#170
1027
1037
  def prepend_to_file(path, *args, &block); end
1028
1038
 
1029
1039
  # Returns the given path relative to the absolute root (ie, root where
@@ -1043,7 +1053,7 @@ module Thor::Actions
1043
1053
  # remove_file 'README'
1044
1054
  # remove_file 'app/controllers/application_controller.rb'
1045
1055
  #
1046
- # source://thor//lib/thor/actions/file_manipulation.rb#327
1056
+ # source://thor//lib/thor/actions/file_manipulation.rb#325
1047
1057
  def remove_dir(path, config = T.unsafe(nil)); end
1048
1058
 
1049
1059
  # Removes a file at the given location.
@@ -1057,7 +1067,7 @@ module Thor::Actions
1057
1067
  # remove_file 'README'
1058
1068
  # remove_file 'app/controllers/application_controller.rb'
1059
1069
  #
1060
- # source://thor//lib/thor/actions/file_manipulation.rb#327
1070
+ # source://thor//lib/thor/actions/file_manipulation.rb#325
1061
1071
  def remove_file(path, config = T.unsafe(nil)); end
1062
1072
 
1063
1073
  # Executes a command returning the contents of the command.
@@ -1105,7 +1115,7 @@ module Thor::Actions
1105
1115
  #
1106
1116
  # template "doc/README"
1107
1117
  #
1108
- # source://thor//lib/thor/actions/file_manipulation.rb#118
1118
+ # source://thor//lib/thor/actions/file_manipulation.rb#117
1109
1119
  def template(source, *args, &block); end
1110
1120
 
1111
1121
  # Run a thor command. A hash of options can be given and it's converted to
@@ -1129,9 +1139,8 @@ module Thor::Actions
1129
1139
  # source://thor//lib/thor/actions.rb#308
1130
1140
  def thor(command, *args); end
1131
1141
 
1132
- # Uncomment all lines matching a given regex. It will leave the space
1133
- # which existed before the comment hash in tact but will remove any spacing
1134
- # between the comment hash and the beginning of the line.
1142
+ # Uncomment all lines matching a given regex. Preserves indentation before
1143
+ # the comment hash and removes the hash and any immediate following space.
1135
1144
  #
1136
1145
  # ==== Parameters
1137
1146
  # path<String>:: path of the file to be changed
@@ -1142,7 +1151,7 @@ module Thor::Actions
1142
1151
  #
1143
1152
  # uncomment_lines 'config/initializers/session_store.rb', /active_record/
1144
1153
  #
1145
- # source://thor//lib/thor/actions/file_manipulation.rb#291
1154
+ # source://thor//lib/thor/actions/file_manipulation.rb#289
1146
1155
  def uncomment_lines(path, flag, *args); end
1147
1156
 
1148
1157
  protected
@@ -1157,25 +1166,25 @@ module Thor::Actions
1157
1166
 
1158
1167
  private
1159
1168
 
1160
- # source://thor//lib/thor/actions/file_manipulation.rb#348
1169
+ # source://thor//lib/thor/actions/file_manipulation.rb#346
1161
1170
  def capture(*args); end
1162
1171
 
1163
- # source://thor//lib/thor/actions/file_manipulation.rb#344
1172
+ # source://thor//lib/thor/actions/file_manipulation.rb#342
1164
1173
  def concat(string); end
1165
1174
 
1166
1175
  # Returns the value of attribute output_buffer.
1167
1176
  #
1168
- # source://thor//lib/thor/actions/file_manipulation.rb#339
1177
+ # source://thor//lib/thor/actions/file_manipulation.rb#337
1169
1178
  def output_buffer; end
1170
1179
 
1171
1180
  # Sets the attribute output_buffer
1172
1181
  #
1173
1182
  # @param value the value to set the attribute output_buffer to.
1174
1183
  #
1175
- # source://thor//lib/thor/actions/file_manipulation.rb#339
1184
+ # source://thor//lib/thor/actions/file_manipulation.rb#337
1176
1185
  def output_buffer=(_arg0); end
1177
1186
 
1178
- # source://thor//lib/thor/actions/file_manipulation.rb#352
1187
+ # source://thor//lib/thor/actions/file_manipulation.rb#350
1179
1188
  def with_output_buffer(buf = T.unsafe(nil)); end
1180
1189
 
1181
1190
  class << self
@@ -1187,9 +1196,9 @@ end
1187
1196
  # Thor::Actions#capture depends on what kind of buffer is used in ERB.
1188
1197
  # Thus CapturableERB fixes ERB to use String buffer.
1189
1198
  #
1190
- # source://thor//lib/thor/actions/file_manipulation.rb#364
1199
+ # source://thor//lib/thor/actions/file_manipulation.rb#362
1191
1200
  class Thor::Actions::CapturableERB < ::ERB
1192
- # source://thor//lib/thor/actions/file_manipulation.rb#365
1201
+ # source://thor//lib/thor/actions/file_manipulation.rb#363
1193
1202
  def set_eoutvar(compiler, eoutvar = T.unsafe(nil)); end
1194
1203
  end
1195
1204
 
@@ -1541,7 +1550,7 @@ class Thor::Argument
1541
1550
  # source://thor//lib/thor/parser/argument.rb#5
1542
1551
  def enum; end
1543
1552
 
1544
- # source://thor//lib/thor/parser/argument.rb#55
1553
+ # source://thor//lib/thor/parser/argument.rb#52
1545
1554
  def enum_to_s; end
1546
1555
 
1547
1556
  # Returns the value of attribute name.
@@ -1564,12 +1573,12 @@ class Thor::Argument
1564
1573
 
1565
1574
  # @return [Boolean]
1566
1575
  #
1567
- # source://thor//lib/thor/parser/argument.rb#42
1576
+ # source://thor//lib/thor/parser/argument.rb#39
1568
1577
  def required?; end
1569
1578
 
1570
1579
  # @return [Boolean]
1571
1580
  #
1572
- # source://thor//lib/thor/parser/argument.rb#46
1581
+ # source://thor//lib/thor/parser/argument.rb#43
1573
1582
  def show_default?; end
1574
1583
 
1575
1584
  # Returns the value of attribute type.
@@ -1577,22 +1586,22 @@ class Thor::Argument
1577
1586
  # source://thor//lib/thor/parser/argument.rb#5
1578
1587
  def type; end
1579
1588
 
1580
- # source://thor//lib/thor/parser/argument.rb#38
1589
+ # source://thor//lib/thor/parser/argument.rb#35
1581
1590
  def usage; end
1582
1591
 
1583
1592
  protected
1584
1593
 
1585
- # source://thor//lib/thor/parser/argument.rb#74
1594
+ # source://thor//lib/thor/parser/argument.rb#71
1586
1595
  def default_banner; end
1587
1596
 
1588
1597
  # @return [Boolean]
1589
1598
  #
1590
- # source://thor//lib/thor/parser/argument.rb#70
1599
+ # source://thor//lib/thor/parser/argument.rb#67
1591
1600
  def valid_type?(type); end
1592
1601
 
1593
1602
  # @raise [ArgumentError]
1594
1603
  #
1595
- # source://thor//lib/thor/parser/argument.rb#65
1604
+ # source://thor//lib/thor/parser/argument.rb#62
1596
1605
  def validate!; end
1597
1606
  end
1598
1607
 
@@ -3277,14 +3286,15 @@ class Thor::Options < ::Thor::Arguments
3277
3286
  # source://thor//lib/thor/parser/options.rb#244
3278
3287
  def normalize_switch(arg); end
3279
3288
 
3280
- # Parse boolean values which can be given as --foo=true, --foo or --no-foo.
3289
+ # Parse boolean values which can be given as --foo=true or --foo for true values, or
3290
+ # --foo=false, --no-foo or --skip-foo for false values.
3281
3291
  #
3282
- # source://thor//lib/thor/parser/options.rb#255
3292
+ # source://thor//lib/thor/parser/options.rb#256
3283
3293
  def parse_boolean(switch); end
3284
3294
 
3285
3295
  # Parse the value at the peek analyzing if it requires an input or not.
3286
3296
  #
3287
- # source://thor//lib/thor/parser/options.rb#273
3297
+ # source://thor//lib/thor/parser/options.rb#274
3288
3298
  def parse_peek(switch, option); end
3289
3299
 
3290
3300
  # @return [Boolean]
@@ -3479,15 +3489,15 @@ class Thor::Shell::Basic
3479
3489
  # Readline.
3480
3490
  #
3481
3491
  # ==== Example
3482
- # ask("What is your name?")
3492
+ # ask("What is your name?")
3483
3493
  #
3484
- # ask("What is the planet furthest from the sun?", :default => "Pluto")
3494
+ # ask("What is the planet furthest from the sun?", :default => "Neptune")
3485
3495
  #
3486
- # ask("What is your favorite Neopolitan flavor?", :limited_to => ["strawberry", "chocolate", "vanilla"])
3496
+ # ask("What is your favorite Neopolitan flavor?", :limited_to => ["strawberry", "chocolate", "vanilla"])
3487
3497
  #
3488
- # ask("What is your password?", :echo => false)
3498
+ # ask("What is your password?", :echo => false)
3489
3499
  #
3490
- # ask("Where should the file be saved?", :path => true)
3500
+ # ask("Where should the file be saved?", :path => true)
3491
3501
  #
3492
3502
  # source://thor//lib/thor/shell/basic.rb#80
3493
3503
  def ask(statement, *args); end
@@ -3540,7 +3550,7 @@ class Thor::Shell::Basic
3540
3550
  # source://thor//lib/thor/shell/basic.rb#31
3541
3551
  def mute?; end
3542
3552
 
3543
- # Make a question the to user and returns true if the user replies "n" or
3553
+ # Asks the user a question and returns true if the user replies "n" or
3544
3554
  # "no".
3545
3555
  #
3546
3556
  # @return [Boolean]
@@ -3596,7 +3606,7 @@ class Thor::Shell::Basic
3596
3606
  # are passed straight to puts (behavior got from Highline).
3597
3607
  #
3598
3608
  # ==== Example
3599
- # say("I know you knew that.")
3609
+ # say("I know you knew that.")
3600
3610
  #
3601
3611
  # source://thor//lib/thor/shell/basic.rb#98
3602
3612
  def say(message = T.unsafe(nil), color = T.unsafe(nil), force_new_line = T.unsafe(nil)); end
@@ -3606,7 +3616,7 @@ class Thor::Shell::Basic
3606
3616
  # are passed straight to puts (behavior got from Highline).
3607
3617
  #
3608
3618
  # ==== Example
3609
- # say_error("error: something went wrong")
3619
+ # say_error("error: something went wrong")
3610
3620
  #
3611
3621
  # source://thor//lib/thor/shell/basic.rb#115
3612
3622
  def say_error(message = T.unsafe(nil), color = T.unsafe(nil), force_new_line = T.unsafe(nil)); end
@@ -3625,7 +3635,7 @@ class Thor::Shell::Basic
3625
3635
  # source://thor//lib/thor/shell/basic.rb#258
3626
3636
  def set_color(string, *_arg1); end
3627
3637
 
3628
- # Make a question the to user and returns true if the user replies "y" or
3638
+ # Asks the user a question and returns true if the user replies "y" or
3629
3639
  # "yes".
3630
3640
  #
3631
3641
  # @return [Boolean]
@@ -3873,7 +3883,7 @@ class Thor::Shell::HTML < ::Thor::Shell::Basic
3873
3883
  # Ask something to the user and receives a response.
3874
3884
  #
3875
3885
  # ==== Example
3876
- # ask("What is your name?")
3886
+ # ask("What is your name?")
3877
3887
  #
3878
3888
  # TODO: Implement #ask for Thor::Shell::HTML
3879
3889
  #
@@ -3998,13 +4008,10 @@ class Thor::Shell::TablePrinter < ::Thor::Shell::ColumnPrinter
3998
4008
 
3999
4009
  private
4000
4010
 
4001
- # source://thor//lib/thor/shell/table_printer.rb#120
4002
- def as_unicode; end
4003
-
4004
4011
  # source://thor//lib/thor/shell/table_printer.rb#72
4005
4012
  def format_cell(column, row_size, index); end
4006
4013
 
4007
- # source://thor//lib/thor/shell/table_printer.rb#115
4014
+ # source://thor//lib/thor/shell/table_printer.rb#113
4008
4015
  def indentation; end
4009
4016
 
4010
4017
  # source://thor//lib/thor/shell/table_printer.rb#47