mangrove 0.31.0 → 0.35.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (53) hide show
  1. checksums.yaml +4 -4
  2. data/.rubocop.yml +1 -0
  3. data/README.md +131 -41
  4. data/lib/mangrove/result/ext.rb +18 -0
  5. data/lib/mangrove/result.rb +51 -0
  6. data/lib/mangrove/version.rb +1 -1
  7. data/lib/tapioca/dsl/compilers/mangrove_result_ext.rb +40 -0
  8. data/sorbet/config +1 -0
  9. data/sorbet/rbi/gems/benchmark@0.4.0.rbi +618 -0
  10. data/sorbet/rbi/gems/date@3.4.1.rbi +75 -0
  11. data/sorbet/rbi/gems/{docile@1.4.0.rbi → docile@1.4.1.rbi} +2 -1
  12. data/sorbet/rbi/gems/{erubi@1.12.0.rbi → erubi@1.13.1.rbi} +26 -17
  13. data/sorbet/rbi/gems/{json@2.7.2.rbi → json@2.9.1.rbi} +516 -134
  14. data/sorbet/rbi/gems/logger@1.6.5.rbi +940 -0
  15. data/sorbet/rbi/gems/{parallel@1.24.0.rbi → parallel@1.26.3.rbi} +31 -21
  16. data/sorbet/rbi/gems/{parser@3.3.2.0.rbi → parser@3.3.7.0.rbi} +23 -1736
  17. data/sorbet/rbi/gems/{prism@0.29.0.rbi → prism@1.3.0.rbi} +13817 -10401
  18. data/sorbet/rbi/gems/{psych@5.1.2.rbi → psych@5.2.3.rbi} +289 -236
  19. data/sorbet/rbi/gems/{racc@1.8.0.rbi → racc@1.8.1.rbi} +0 -4
  20. data/sorbet/rbi/gems/rbi@0.2.3.rbi +4542 -0
  21. data/sorbet/rbi/gems/rbs@3.8.1.rbi +6882 -0
  22. data/sorbet/rbi/gems/{rdoc@6.7.0.rbi → rdoc@6.11.0.rbi} +1115 -1058
  23. data/sorbet/rbi/gems/{regexp_parser@2.9.2.rbi → regexp_parser@2.10.0.rbi} +193 -170
  24. data/sorbet/rbi/gems/{rspec-core@3.13.0.rbi → rspec-core@3.13.2.rbi} +146 -280
  25. data/sorbet/rbi/gems/{rspec-expectations@3.13.0.rbi → rspec-expectations@3.13.3.rbi} +323 -294
  26. data/sorbet/rbi/gems/{rspec-mocks@3.13.1.rbi → rspec-mocks@3.13.2.rbi} +46 -46
  27. data/sorbet/rbi/gems/{rspec-support@3.13.1.rbi → rspec-support@3.13.2.rbi} +22 -22
  28. data/sorbet/rbi/gems/ruboclean@0.7.1.rbi +473 -0
  29. data/sorbet/rbi/gems/{rubocop-ast@1.31.3.rbi → rubocop-ast@1.37.0.rbi} +1293 -745
  30. data/sorbet/rbi/gems/{rubocop-rspec@2.30.0.rbi → rubocop-rspec@3.4.0.rbi} +341 -1073
  31. data/sorbet/rbi/gems/{rubocop@1.64.1.rbi → rubocop@1.70.0.rbi} +5693 -3796
  32. data/sorbet/rbi/gems/{simplecov-html@0.12.3.rbi → simplecov-html@0.13.1.rbi} +77 -68
  33. data/sorbet/rbi/gems/{spoom@1.3.2.rbi → spoom@1.5.1.rbi} +2306 -1701
  34. data/sorbet/rbi/gems/{stringio@3.1.0.rbi → stringio@3.1.2.rbi} +1 -0
  35. data/sorbet/rbi/gems/{tapioca@0.14.3.rbi → tapioca@0.16.8.rbi} +411 -332
  36. data/sorbet/rbi/gems/{thor@1.3.1.rbi → thor@1.3.2.rbi} +57 -31
  37. data/sorbet/rbi/gems/unicode-display_width@3.1.4.rbi +132 -0
  38. data/sorbet/rbi/gems/unicode-emoji@4.0.4.rbi +251 -0
  39. data/sorbet/rbi/gems/{webrick@1.8.1.rbi → webrick@1.9.1.rbi} +92 -72
  40. data/sorbet/rbi/gems/{yard-sorbet@0.8.1.rbi → yard-sorbet@0.9.0.rbi} +36 -29
  41. data/sorbet/rbi/gems/{yard@0.9.36.rbi → yard@0.9.37.rbi} +393 -235
  42. metadata +41 -42
  43. data/sorbet/rbi/gems/rbi@0.1.13.rbi +0 -3078
  44. data/sorbet/rbi/gems/rexml@3.2.8.rbi +0 -4794
  45. data/sorbet/rbi/gems/ruboclean@0.6.0.rbi +0 -315
  46. data/sorbet/rbi/gems/rubocop-capybara@2.20.0.rbi +0 -1208
  47. data/sorbet/rbi/gems/rubocop-factory_bot@2.25.1.rbi +0 -928
  48. data/sorbet/rbi/gems/rubocop-rspec_rails@2.28.3.rbi +0 -911
  49. data/sorbet/rbi/gems/strscan@3.1.0.rbi +0 -9
  50. data/sorbet/rbi/gems/unicode-display_width@2.5.0.rbi +0 -65
  51. /data/sorbet/rbi/gems/{io-console@0.7.2.rbi → io-console@0.8.0.rbi} +0 -0
  52. /data/sorbet/rbi/gems/{reline@0.5.8.rbi → reline@0.6.0.rbi} +0 -0
  53. /data/sorbet/rbi/gems/{ruby-lsp@0.17.2.rbi → ruby-lsp@0.23.6.rbi} +0 -0
@@ -0,0 +1,473 @@
1
+ # typed: true
2
+
3
+ # DO NOT EDIT MANUALLY
4
+ # This is an autogenerated file for types exported from the `ruboclean` gem.
5
+ # Please instead update this file by running `bin/tapioca gem ruboclean`.
6
+
7
+
8
+ # Ruboclean entry point
9
+ #
10
+ # source://ruboclean//lib/ruboclean/cli_arguments.rb#3
11
+ module Ruboclean
12
+ class << self
13
+ # source://ruboclean//lib/ruboclean.rb#35
14
+ def post_execution_message(changed, verify); end
15
+
16
+ # source://ruboclean//lib/ruboclean.rb#18
17
+ def run_from_cli!(args); end
18
+ end
19
+ end
20
+
21
+ # Reads command line arguments and exposes corresponding reader methods
22
+ #
23
+ # source://ruboclean//lib/ruboclean/cli_arguments.rb#5
24
+ class Ruboclean::CliArguments
25
+ # @return [CliArguments] a new instance of CliArguments
26
+ #
27
+ # source://ruboclean//lib/ruboclean/cli_arguments.rb#15
28
+ def initialize(command_line_arguments = T.unsafe(nil)); end
29
+
30
+ # source://ruboclean//lib/ruboclean/cli_arguments.rb#19
31
+ def input; end
32
+
33
+ # source://ruboclean//lib/ruboclean/cli_arguments.rb#27
34
+ def output; end
35
+
36
+ # @return [Boolean]
37
+ #
38
+ # source://ruboclean//lib/ruboclean/cli_arguments.rb#35
39
+ def preserve_comments?; end
40
+
41
+ # @return [Boolean]
42
+ #
43
+ # source://ruboclean//lib/ruboclean/cli_arguments.rb#39
44
+ def preserve_paths?; end
45
+
46
+ # @return [Boolean]
47
+ #
48
+ # source://ruboclean//lib/ruboclean/cli_arguments.rb#31
49
+ def silent?; end
50
+
51
+ # @return [Boolean]
52
+ #
53
+ # source://ruboclean//lib/ruboclean/cli_arguments.rb#23
54
+ def stdin?; end
55
+
56
+ # @return [Boolean]
57
+ #
58
+ # source://ruboclean//lib/ruboclean/cli_arguments.rb#43
59
+ def verify?; end
60
+
61
+ private
62
+
63
+ # Returns the value of attribute command_line_arguments.
64
+ #
65
+ # source://ruboclean//lib/ruboclean/cli_arguments.rb#49
66
+ def command_line_arguments; end
67
+
68
+ # source://ruboclean//lib/ruboclean/cli_arguments.rb#63
69
+ def custom_flag_arguments; end
70
+
71
+ # source://ruboclean//lib/ruboclean/cli_arguments.rb#51
72
+ def find_input; end
73
+
74
+ # source://ruboclean//lib/ruboclean/cli_arguments.rb#59
75
+ def flag_arguments; end
76
+ end
77
+
78
+ # source://ruboclean//lib/ruboclean/cli_arguments.rb#6
79
+ Ruboclean::CliArguments::FLAG_DEFAULTS = T.let(T.unsafe(nil), Hash)
80
+
81
+ # Groups the rubocop configuration items into three categories:
82
+ # - base: base configuration like 'require', 'inherit_from', etc
83
+ # - namespaces: every item which does **not** include an "/"
84
+ # - cops: every item which **includes** an "/"
85
+ #
86
+ # source://ruboclean//lib/ruboclean/grouper.rb#8
87
+ class Ruboclean::Grouper
88
+ # @return [Grouper] a new instance of Grouper
89
+ #
90
+ # source://ruboclean//lib/ruboclean/grouper.rb#9
91
+ def initialize(configuration_hash); end
92
+
93
+ # source://ruboclean//lib/ruboclean/grouper.rb#13
94
+ def group_config; end
95
+
96
+ private
97
+
98
+ # Returns the value of attribute configuration_hash.
99
+ #
100
+ # source://ruboclean//lib/ruboclean/grouper.rb#23
101
+ def configuration_hash; end
102
+
103
+ # source://ruboclean//lib/ruboclean/grouper.rb#25
104
+ def empty_groups; end
105
+
106
+ # source://ruboclean//lib/ruboclean/grouper.rb#29
107
+ def find_target_group(key); end
108
+ end
109
+
110
+ # Logger for clean management of log levels
111
+ #
112
+ # source://ruboclean//lib/ruboclean/logger.rb#5
113
+ class Ruboclean::Logger
114
+ # @raise [ArgumentError]
115
+ # @return [Logger] a new instance of Logger
116
+ #
117
+ # source://ruboclean//lib/ruboclean/logger.rb#6
118
+ def initialize(log_level = T.unsafe(nil)); end
119
+
120
+ # source://ruboclean//lib/ruboclean/logger.rb#12
121
+ def verbose(message); end
122
+ end
123
+
124
+ # Orders the items within the groups alphabetically
125
+ #
126
+ # source://ruboclean//lib/ruboclean/orderer.rb#5
127
+ class Ruboclean::Orderer
128
+ # @return [Orderer] a new instance of Orderer
129
+ #
130
+ # source://ruboclean//lib/ruboclean/orderer.rb#6
131
+ def initialize(configuration_hash); end
132
+
133
+ # source://ruboclean//lib/ruboclean/orderer.rb#10
134
+ def order; end
135
+
136
+ private
137
+
138
+ # Returns the value of attribute configuration_hash.
139
+ #
140
+ # source://ruboclean//lib/ruboclean/orderer.rb#19
141
+ def configuration_hash; end
142
+
143
+ # source://ruboclean//lib/ruboclean/orderer.rb#25
144
+ def grouped_config; end
145
+
146
+ # source://ruboclean//lib/ruboclean/orderer.rb#21
147
+ def order_by_key(group_items); end
148
+ end
149
+
150
+ # Cleans up any `Include` or `Exclude` paths that don't exist.
151
+ # The `Include` and `Exclude` paths are relative to the directory
152
+ # where the `.rubocop.yml` file is located. If a path includes a
153
+ # regexp, it's assumed to be valid.
154
+ # If all entries in `Include` or `Exclude` are removed, the entire property is removed.
155
+ # If a Cop gets entirely truncated due to removing all `Includes` and/or `Exclude`, the Cop itself will be removed.
156
+ #
157
+ # source://ruboclean//lib/ruboclean/path_cleanup.rb#10
158
+ class Ruboclean::PathCleanup
159
+ # @return [PathCleanup] a new instance of PathCleanup
160
+ #
161
+ # source://ruboclean//lib/ruboclean/path_cleanup.rb#11
162
+ def initialize(configuration_hash, options:); end
163
+
164
+ # source://ruboclean//lib/ruboclean/path_cleanup.rb#16
165
+ def cleanup; end
166
+
167
+ private
168
+
169
+ # @return [Boolean]
170
+ #
171
+ # source://ruboclean//lib/ruboclean/path_cleanup.rb#76
172
+ def any_global_command_pattern?(item); end
173
+
174
+ # Returns the value of attribute configuration_hash.
175
+ #
176
+ # source://ruboclean//lib/ruboclean/path_cleanup.rb#30
177
+ def configuration_hash; end
178
+
179
+ # Returns the value of attribute options.
180
+ #
181
+ # source://ruboclean//lib/ruboclean/path_cleanup.rb#30
182
+ def options; end
183
+
184
+ # @return [Boolean]
185
+ #
186
+ # source://ruboclean//lib/ruboclean/path_cleanup.rb#66
187
+ def path_exists?(item); end
188
+
189
+ # source://ruboclean//lib/ruboclean/path_cleanup.rb#57
190
+ def process_cop_property(cop_property_key, cop_property_value); end
191
+
192
+ # top_level_value could be something like this:
193
+ #
194
+ # {
195
+ # Include: [...],
196
+ # Exclude: [...],
197
+ # EnforcedStyle: "..."
198
+ # }
199
+ #
200
+ # We process it further in case of a Hash.
201
+ #
202
+ # source://ruboclean//lib/ruboclean/path_cleanup.rb#45
203
+ def process_top_level_value(top_level_value); end
204
+
205
+ # We don't support Regexp, so we just say it exists.
206
+ #
207
+ # @return [Boolean]
208
+ #
209
+ # source://ruboclean//lib/ruboclean/path_cleanup.rb#81
210
+ def regexp_pattern?(item); end
211
+
212
+ # source://ruboclean//lib/ruboclean/path_cleanup.rb#32
213
+ def root_directory; end
214
+
215
+ # @return [Boolean]
216
+ #
217
+ # source://ruboclean//lib/ruboclean/path_cleanup.rb#72
218
+ def specific_path_exists?(item); end
219
+ end
220
+
221
+ # Entry point for processing
222
+ #
223
+ # source://ruboclean//lib/ruboclean/runner.rb#8
224
+ class Ruboclean::Runner
225
+ # @return [Runner] a new instance of Runner
226
+ #
227
+ # source://ruboclean//lib/ruboclean/runner.rb#9
228
+ def initialize(command_line_arguments = T.unsafe(nil)); end
229
+
230
+ # @return [Boolean]
231
+ #
232
+ # source://ruboclean//lib/ruboclean/runner.rb#24
233
+ def changed?(target_yaml); end
234
+
235
+ # source://ruboclean//lib/ruboclean/runner.rb#36
236
+ def input_path; end
237
+
238
+ # source://ruboclean//lib/ruboclean/runner.rb#14
239
+ def run!; end
240
+
241
+ # @return [Boolean]
242
+ #
243
+ # source://ruboclean//lib/ruboclean/runner.rb#28
244
+ def verbose?; end
245
+
246
+ # @return [Boolean]
247
+ #
248
+ # source://ruboclean//lib/ruboclean/runner.rb#32
249
+ def verify?; end
250
+
251
+ private
252
+
253
+ # source://ruboclean//lib/ruboclean/runner.rb#56
254
+ def cleanup_paths(configuration_hash); end
255
+
256
+ # source://ruboclean//lib/ruboclean/runner.rb#60
257
+ def convert_to_yaml(configuration_hash); end
258
+
259
+ # Returns the value of attribute options.
260
+ #
261
+ # source://ruboclean//lib/ruboclean/runner.rb#42
262
+ def options; end
263
+
264
+ # source://ruboclean//lib/ruboclean/runner.rb#52
265
+ def order(configuration_hash); end
266
+
267
+ # source://ruboclean//lib/ruboclean/runner.rb#48
268
+ def parse_yaml; end
269
+
270
+ # source://ruboclean//lib/ruboclean/runner.rb#44
271
+ def source_yaml; end
272
+
273
+ # source://ruboclean//lib/ruboclean/runner.rb#64
274
+ def write_stream!(target_yaml); end
275
+ end
276
+
277
+ # Consolidates cli_arguments with "smart" defaults
278
+ #
279
+ # source://ruboclean//lib/ruboclean/runner/options.rb#6
280
+ class Ruboclean::Runner::Options
281
+ # @return [Options] a new instance of Options
282
+ #
283
+ # source://ruboclean//lib/ruboclean/runner/options.rb#7
284
+ def initialize(cli_arguments:); end
285
+
286
+ # source://ruboclean//lib/ruboclean/runner/options.rb#15
287
+ def input_path; end
288
+
289
+ # source://ruboclean//lib/ruboclean/runner/options.rb#11
290
+ def input_stream; end
291
+
292
+ # source://ruboclean//lib/ruboclean/runner/options.rb#19
293
+ def output_stream; end
294
+
295
+ # @return [Boolean]
296
+ #
297
+ # source://ruboclean//lib/ruboclean/runner/options.rb#31
298
+ def preserve_comments?; end
299
+
300
+ # @return [Boolean]
301
+ #
302
+ # source://ruboclean//lib/ruboclean/runner/options.rb#35
303
+ def preserve_paths?; end
304
+
305
+ # @return [Boolean]
306
+ #
307
+ # source://ruboclean//lib/ruboclean/runner/options.rb#27
308
+ def silent?; end
309
+
310
+ # @return [Boolean]
311
+ #
312
+ # source://ruboclean//lib/ruboclean/runner/options.rb#23
313
+ def verbose?; end
314
+
315
+ # @return [Boolean]
316
+ #
317
+ # source://ruboclean//lib/ruboclean/runner/options.rb#39
318
+ def verify?; end
319
+
320
+ private
321
+
322
+ # Returns the value of attribute cli_arguments.
323
+ #
324
+ # source://ruboclean//lib/ruboclean/runner/options.rb#45
325
+ def cli_arguments; end
326
+
327
+ # source://ruboclean//lib/ruboclean/runner/options.rb#47
328
+ def input; end
329
+
330
+ # source://ruboclean//lib/ruboclean/runner/options.rb#51
331
+ def output; end
332
+ end
333
+
334
+ # Determines the input stream
335
+ #
336
+ # source://ruboclean//lib/ruboclean/runner/options/input.rb#7
337
+ class Ruboclean::Runner::Options::Input
338
+ # @return [Input] a new instance of Input
339
+ #
340
+ # source://ruboclean//lib/ruboclean/runner/options/input.rb#8
341
+ def initialize(cli_arguments:); end
342
+
343
+ # source://ruboclean//lib/ruboclean/runner/options/input.rb#16
344
+ def input_path; end
345
+
346
+ # @return [Boolean]
347
+ #
348
+ # source://ruboclean//lib/ruboclean/runner/options/input.rb#20
349
+ def stdin?; end
350
+
351
+ # source://ruboclean//lib/ruboclean/runner/options/input.rb#12
352
+ def stream; end
353
+
354
+ private
355
+
356
+ # Returns the value of attribute cli_arguments.
357
+ #
358
+ # source://ruboclean//lib/ruboclean/runner/options/input.rb#26
359
+ def cli_arguments; end
360
+
361
+ # @raise [ArgumentError]
362
+ #
363
+ # source://ruboclean//lib/ruboclean/runner/options/input.rb#28
364
+ def determine_input_stream; end
365
+
366
+ # source://ruboclean//lib/ruboclean/runner/options/input.rb#36
367
+ def find_input_path; end
368
+ end
369
+
370
+ # Determines the output stream
371
+ #
372
+ # source://ruboclean//lib/ruboclean/runner/options/output.rb#7
373
+ class Ruboclean::Runner::Options::Output
374
+ # @return [Output] a new instance of Output
375
+ #
376
+ # source://ruboclean//lib/ruboclean/runner/options/output.rb#8
377
+ def initialize(cli_arguments:, input:); end
378
+
379
+ # @return [Boolean]
380
+ #
381
+ # source://ruboclean//lib/ruboclean/runner/options/output.rb#17
382
+ def stdout?; end
383
+
384
+ # source://ruboclean//lib/ruboclean/runner/options/output.rb#13
385
+ def stream; end
386
+
387
+ private
388
+
389
+ # Returns the value of attribute cli_arguments.
390
+ #
391
+ # source://ruboclean//lib/ruboclean/runner/options/output.rb#24
392
+ def cli_arguments; end
393
+
394
+ # source://ruboclean//lib/ruboclean/runner/options/output.rb#26
395
+ def determine_output_stream; end
396
+
397
+ # @raise [ArgumentError]
398
+ #
399
+ # source://ruboclean//lib/ruboclean/runner/options/output.rb#36
400
+ def find_output_path; end
401
+
402
+ # Returns the value of attribute input.
403
+ #
404
+ # source://ruboclean//lib/ruboclean/runner/options/output.rb#24
405
+ def input; end
406
+
407
+ # source://ruboclean//lib/ruboclean/runner/options/output.rb#32
408
+ def output_path; end
409
+ end
410
+
411
+ # Orders the items within the groups alphabetically
412
+ #
413
+ # source://ruboclean//lib/ruboclean/stream_writer.rb#5
414
+ class Ruboclean::StreamWriter
415
+ # @return [StreamWriter] a new instance of StreamWriter
416
+ #
417
+ # source://ruboclean//lib/ruboclean/stream_writer.rb#6
418
+ def initialize(content, options:); end
419
+
420
+ # source://ruboclean//lib/ruboclean/stream_writer.rb#11
421
+ def write!; end
422
+
423
+ private
424
+
425
+ # Returns the value of attribute content.
426
+ #
427
+ # source://ruboclean//lib/ruboclean/stream_writer.rb#19
428
+ def content; end
429
+
430
+ # Returns the value of attribute options.
431
+ #
432
+ # source://ruboclean//lib/ruboclean/stream_writer.rb#19
433
+ def options; end
434
+ end
435
+
436
+ # Converts the configuration hash to YAML and applies modifications on it, if requested
437
+ #
438
+ # source://ruboclean//lib/ruboclean/to_yaml_converter.rb#5
439
+ class Ruboclean::ToYamlConverter
440
+ # @return [ToYamlConverter] a new instance of ToYamlConverter
441
+ #
442
+ # source://ruboclean//lib/ruboclean/to_yaml_converter.rb#6
443
+ def initialize(configuration_hash, source_yaml, options:); end
444
+
445
+ # source://ruboclean//lib/ruboclean/to_yaml_converter.rb#12
446
+ def to_yaml; end
447
+
448
+ private
449
+
450
+ # Returns the value of attribute configuration_hash.
451
+ #
452
+ # source://ruboclean//lib/ruboclean/to_yaml_converter.rb#22
453
+ def configuration_hash; end
454
+
455
+ # Returns the value of attribute options.
456
+ #
457
+ # source://ruboclean//lib/ruboclean/to_yaml_converter.rb#22
458
+ def options; end
459
+
460
+ # source://ruboclean//lib/ruboclean/to_yaml_converter.rb#28
461
+ def preserve_preceding_comments(source, target); end
462
+
463
+ # source://ruboclean//lib/ruboclean/to_yaml_converter.rb#24
464
+ def sanitize_yaml(data); end
465
+
466
+ # Returns the value of attribute source_yaml.
467
+ #
468
+ # source://ruboclean//lib/ruboclean/to_yaml_converter.rb#22
469
+ def source_yaml; end
470
+ end
471
+
472
+ # source://ruboclean//lib/ruboclean/version.rb#4
473
+ Ruboclean::VERSION = T.let(T.unsafe(nil), String)