clean-architecture 5.0.2 → 6.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (166) hide show
  1. checksums.yaml +4 -4
  2. data/.github/workflows/ci.yml +15 -19
  3. data/.gitignore +4 -0
  4. data/CHANGELOG.md +4 -0
  5. data/Gemfile +1 -0
  6. data/README.md +1 -585
  7. data/bin/tapioca +29 -0
  8. data/clean-architecture.gemspec +4 -4
  9. data/lib/clean-architecture.rb +4 -1
  10. data/lib/clean_architecture/adapters/all.rb +1 -1
  11. data/lib/clean_architecture/adapters/attribute_hash_base.rb +47 -20
  12. data/lib/clean_architecture/all.rb +1 -4
  13. data/lib/clean_architecture/builders/abstract_active_record_entity_builder.rb +43 -13
  14. data/lib/clean_architecture/builders/all.rb +1 -1
  15. data/lib/clean_architecture/checks/all.rb +1 -1
  16. data/lib/clean_architecture/checks/authorization.rb +11 -9
  17. data/lib/clean_architecture/entities/all.rb +1 -3
  18. data/lib/clean_architecture/entities/failure_details.rb +27 -17
  19. data/lib/clean_architecture/matchers/all.rb +1 -1
  20. data/lib/clean_architecture/matchers/use_case_result.rb +9 -3
  21. data/lib/clean_architecture/queries/all.rb +1 -1
  22. data/lib/clean_architecture/queries/http_failure_code.rb +8 -20
  23. data/lib/clean_architecture/queries/http_success_code.rb +14 -7
  24. data/lib/clean_architecture/serializers/all.rb +1 -1
  25. data/lib/clean_architecture/serializers/html_response_from_result.rb +7 -1
  26. data/lib/clean_architecture/serializers/json_response_from_result.rb +4 -4
  27. data/lib/clean_architecture/version.rb +1 -1
  28. data/nix/sources.json +14 -0
  29. data/nix/sources.nix +174 -0
  30. data/run_ci.sh +7 -0
  31. data/shell.nix +17 -12
  32. data/sorbet/config +4 -0
  33. data/sorbet/{rbi/gems → dry-monads-sorbet}/dry-monads.rbi +176 -94
  34. data/sorbet/rbi/gems/activemodel@6.1.4.1.rbi +1292 -0
  35. data/sorbet/rbi/gems/activerecord@6.1.4.1.rbi +8092 -0
  36. data/sorbet/rbi/gems/activesupport@6.1.4.1.rbi +3531 -0
  37. data/sorbet/rbi/gems/{ast.rbi → ast@2.4.2.rbi} +28 -22
  38. data/sorbet/rbi/gems/byebug@11.1.3.rbi +1568 -0
  39. data/sorbet/rbi/gems/coderay@1.1.3.rbi +1005 -0
  40. data/sorbet/rbi/gems/concurrent-ruby@1.1.9.rbi +915 -0
  41. data/sorbet/rbi/gems/diff-lcs@1.4.4.rbi +8 -0
  42. data/sorbet/rbi/gems/docile@1.4.0.rbi +54 -0
  43. data/sorbet/rbi/gems/dry-core@0.7.1.rbi +92 -0
  44. data/sorbet/rbi/gems/dry-equalizer@0.3.0.rbi +28 -0
  45. data/sorbet/rbi/gems/dry-matcher@0.9.0.rbi +56 -0
  46. data/sorbet/rbi/gems/dry-monads-sorbet@1.1.7.rbi +41 -0
  47. data/sorbet/rbi/gems/dry-monads@1.4.0.rbi +697 -0
  48. data/sorbet/rbi/gems/em-websocket@0.5.2.rbi +8 -0
  49. data/sorbet/rbi/gems/eventmachine@1.2.7.rbi +45 -0
  50. data/sorbet/rbi/gems/ffi@1.15.4.rbi +8 -0
  51. data/sorbet/rbi/gems/formatador@0.3.0.rbi +8 -0
  52. data/sorbet/rbi/gems/guard-compat@1.2.1.rbi +31 -0
  53. data/sorbet/rbi/gems/guard-livereload@2.5.2.rbi +8 -0
  54. data/sorbet/rbi/gems/guard-rspec@4.7.3.rbi +211 -0
  55. data/sorbet/rbi/gems/guard@2.18.0.rbi +8 -0
  56. data/sorbet/rbi/gems/http_parser.rb@0.6.0.rbi +8 -0
  57. data/sorbet/rbi/gems/i18n@1.8.10.rbi +8 -0
  58. data/sorbet/rbi/gems/listen@3.7.0.rbi +8 -0
  59. data/sorbet/rbi/gems/lumberjack@1.2.8.rbi +8 -0
  60. data/sorbet/rbi/gems/method_source@1.0.0.rbi +72 -0
  61. data/sorbet/rbi/gems/minitest@5.14.4.rbi +344 -0
  62. data/sorbet/rbi/gems/multi_json@1.15.0.rbi +8 -0
  63. data/sorbet/rbi/gems/nenv@0.3.0.rbi +8 -0
  64. data/sorbet/rbi/gems/notiffany@0.1.3.rbi +8 -0
  65. data/sorbet/rbi/gems/parallel@1.21.0.rbi +113 -0
  66. data/sorbet/rbi/gems/{parser.rbi → parser@3.0.2.0.rbi} +966 -699
  67. data/sorbet/rbi/gems/pry-byebug@3.9.0.rbi +461 -0
  68. data/sorbet/rbi/gems/{pry.rbi → pry@0.13.1.rbi} +2191 -1605
  69. data/sorbet/rbi/gems/{rainbow.rbi → rainbow@3.0.0.rbi} +90 -55
  70. data/sorbet/rbi/gems/{rake.rbi → rake@13.0.6.rbi} +578 -427
  71. data/sorbet/rbi/gems/rb-fsevent@0.11.0.rbi +8 -0
  72. data/sorbet/rbi/gems/rb-inotify@0.10.1.rbi +8 -0
  73. data/sorbet/rbi/gems/rb-readline@0.5.5.rbi +884 -0
  74. data/sorbet/rbi/gems/rbi@0.0.6.rbi +1405 -0
  75. data/sorbet/rbi/gems/regexp_parser@2.1.1.rbi +1120 -0
  76. data/sorbet/rbi/gems/{rexml.rbi → rexml@3.2.5.rbi} +562 -479
  77. data/sorbet/rbi/gems/{rspec-core.rbi → rspec-core@3.10.1.rbi} +2317 -1533
  78. data/sorbet/rbi/gems/rspec-expectations@3.10.1.rbi +1574 -0
  79. data/sorbet/rbi/gems/rspec-mocks@3.10.2.rbi +1462 -0
  80. data/sorbet/rbi/gems/rspec-support@3.10.2.rbi +509 -0
  81. data/sorbet/rbi/gems/rspec@3.10.0.rbi +38 -0
  82. data/sorbet/rbi/gems/rubocop-ast@1.12.0.rbi +1938 -0
  83. data/sorbet/rbi/gems/rubocop-rspec@2.5.0.rbi +1786 -0
  84. data/sorbet/rbi/gems/rubocop@1.22.1.rbi +13252 -0
  85. data/sorbet/rbi/gems/ruby-progressbar@1.11.0.rbi +405 -0
  86. data/sorbet/rbi/gems/shellany@0.0.1.rbi +8 -0
  87. data/sorbet/rbi/gems/simplecov-html@0.12.3.rbi +89 -0
  88. data/sorbet/rbi/gems/simplecov@0.21.2.rbi +577 -0
  89. data/sorbet/rbi/gems/simplecov_json_formatter@0.1.3.rbi +8 -0
  90. data/sorbet/rbi/gems/sorbet-struct-comparable@1.1.0.rbi +17 -0
  91. data/sorbet/rbi/gems/spoom@1.1.5.rbi +1241 -0
  92. data/sorbet/rbi/gems/stackprof@0.2.17.rbi +98 -0
  93. data/sorbet/rbi/gems/tapioca@0.5.2.rbi +949 -0
  94. data/sorbet/rbi/gems/thor@1.1.0.rbi +839 -0
  95. data/sorbet/rbi/gems/tzinfo@2.0.4.rbi +8 -0
  96. data/sorbet/rbi/gems/unicode-display_width@2.1.0.rbi +26 -0
  97. data/sorbet/rbi/gems/unparser@0.6.0.rbi +8 -0
  98. data/sorbet/rbi/gems/zeitwerk@2.4.2.rbi +8 -0
  99. data/sorbet/tapioca/require.rb +9 -0
  100. metadata +88 -91
  101. data/.ruby-version +0 -1
  102. data/lib/clean_architecture/entities/targeted_parameters.rb +0 -24
  103. data/lib/clean_architecture/entities/untargeted_parameters.rb +0 -21
  104. data/lib/clean_architecture/interfaces/all.rb +0 -12
  105. data/lib/clean_architecture/interfaces/authorization_parameters.rb +0 -19
  106. data/lib/clean_architecture/interfaces/base_parameters.rb +0 -24
  107. data/lib/clean_architecture/interfaces/jsonable.rb +0 -16
  108. data/lib/clean_architecture/interfaces/targeted_parameters.rb +0 -19
  109. data/lib/clean_architecture/interfaces/use_case.rb +0 -20
  110. data/lib/clean_architecture/interfaces/use_case_actor.rb +0 -20
  111. data/lib/clean_architecture/interfaces/use_case_target.rb +0 -24
  112. data/lib/clean_architecture/types.rb +0 -8
  113. data/lib/clean_architecture/use_cases/abstract_use_case.rb +0 -63
  114. data/lib/clean_architecture/use_cases/all.rb +0 -10
  115. data/lib/clean_architecture/use_cases/contract.rb +0 -9
  116. data/lib/clean_architecture/use_cases/errors.rb +0 -58
  117. data/lib/clean_architecture/use_cases/form.rb +0 -116
  118. data/lib/clean_architecture/use_cases/parameters.rb +0 -43
  119. data/sorbet/rbi/gems/activemodel.rbi +0 -75
  120. data/sorbet/rbi/gems/activesupport.rbi +0 -440
  121. data/sorbet/rbi/gems/byebug.rbi +0 -1040
  122. data/sorbet/rbi/gems/coderay.rbi +0 -92
  123. data/sorbet/rbi/gems/concurrent-ruby.rbi +0 -1586
  124. data/sorbet/rbi/gems/docile.rbi +0 -32
  125. data/sorbet/rbi/gems/dry-configurable.rbi +0 -139
  126. data/sorbet/rbi/gems/dry-container.rbi +0 -89
  127. data/sorbet/rbi/gems/dry-core.rbi +0 -80
  128. data/sorbet/rbi/gems/dry-equalizer.rbi +0 -26
  129. data/sorbet/rbi/gems/dry-inflector.rbi +0 -73
  130. data/sorbet/rbi/gems/dry-initializer.rbi +0 -209
  131. data/sorbet/rbi/gems/dry-logic.rbi +0 -305
  132. data/sorbet/rbi/gems/dry-matcher.rbi +0 -34
  133. data/sorbet/rbi/gems/dry-schema.rbi +0 -786
  134. data/sorbet/rbi/gems/dry-struct.rbi +0 -137
  135. data/sorbet/rbi/gems/dry-types.rbi +0 -709
  136. data/sorbet/rbi/gems/dry-validation.rbi +0 -288
  137. data/sorbet/rbi/gems/duckface-interfaces.rbi +0 -94
  138. data/sorbet/rbi/gems/i18n.rbi +0 -133
  139. data/sorbet/rbi/gems/jaro_winkler.rbi +0 -15
  140. data/sorbet/rbi/gems/method_source.rbi +0 -64
  141. data/sorbet/rbi/gems/parallel.rbi +0 -82
  142. data/sorbet/rbi/gems/pry-byebug.rbi +0 -155
  143. data/sorbet/rbi/gems/rb-readline.rbi +0 -767
  144. data/sorbet/rbi/gems/rspec-expectations.rbi +0 -398
  145. data/sorbet/rbi/gems/rspec-mocks.rbi +0 -816
  146. data/sorbet/rbi/gems/rspec-support.rbi +0 -271
  147. data/sorbet/rbi/gems/rspec.rbi +0 -15
  148. data/sorbet/rbi/gems/rubocop-rspec.rbi +0 -922
  149. data/sorbet/rbi/gems/rubocop.rbi +0 -7319
  150. data/sorbet/rbi/gems/ruby-progressbar.rbi +0 -305
  151. data/sorbet/rbi/gems/simplecov-html.rbi +0 -35
  152. data/sorbet/rbi/gems/simplecov.rbi +0 -361
  153. data/sorbet/rbi/gems/stackprof.rbi +0 -52
  154. data/sorbet/rbi/gems/unicode-display_width.rbi +0 -17
  155. data/sorbet/rbi/hidden-definitions/errors.txt +0 -8580
  156. data/sorbet/rbi/hidden-definitions/hidden.rbi +0 -17036
  157. data/sorbet/rbi/sorbet-typed/lib/activemodel/all/activemodel.rbi +0 -452
  158. data/sorbet/rbi/sorbet-typed/lib/activesupport/>=6.0.0.rc1/activesupport.rbi +0 -23
  159. data/sorbet/rbi/sorbet-typed/lib/activesupport/all/activesupport.rbi +0 -979
  160. data/sorbet/rbi/sorbet-typed/lib/bundler/all/bundler.rbi +0 -8684
  161. data/sorbet/rbi/sorbet-typed/lib/minitest/all/minitest.rbi +0 -108
  162. data/sorbet/rbi/sorbet-typed/lib/rainbow/all/rainbow.rbi +0 -276
  163. data/sorbet/rbi/sorbet-typed/lib/ruby/all/gem.rbi +0 -4222
  164. data/sorbet/rbi/sorbet-typed/lib/ruby/all/open3.rbi +0 -111
  165. data/sorbet/rbi/sorbet-typed/lib/ruby/all/resolv.rbi +0 -543
  166. data/sorbet/rbi/todo.rbi +0 -10
@@ -0,0 +1,577 @@
1
+ # DO NOT EDIT MANUALLY
2
+ # This is an autogenerated file for types exported from the `simplecov` gem.
3
+ # Please instead update this file by running `bin/tapioca gem simplecov`.
4
+
5
+ # typed: true
6
+
7
+ module SimpleCov
8
+ extend ::SimpleCov::Configuration
9
+
10
+ class << self
11
+ def at_exit_behavior; end
12
+ def clear_result; end
13
+ def collate(result_filenames, profile = T.unsafe(nil), ignore_timeout: T.unsafe(nil), &block); end
14
+ def exit_and_report_previous_error(exit_status); end
15
+ def exit_status_from_exception; end
16
+ def external_at_exit; end
17
+ def external_at_exit=(_arg0); end
18
+ def external_at_exit?; end
19
+ def filtered(files); end
20
+ def final_result_process?; end
21
+ def grouped(files); end
22
+ def load_adapter(name); end
23
+ def load_profile(name); end
24
+ def pid; end
25
+ def pid=(_arg0); end
26
+ def previous_error?(error_exit_status); end
27
+ def process_result(result); end
28
+ def process_results_and_report_error; end
29
+ def ready_to_process_results?; end
30
+ def result; end
31
+ def result?; end
32
+ def result_exit_status(result); end
33
+ def round_coverage(coverage); end
34
+ def run_exit_tasks!; end
35
+ def running; end
36
+ def running=(_arg0); end
37
+ def start(profile = T.unsafe(nil), &block); end
38
+ def wait_for_other_processes; end
39
+ def write_last_run(result); end
40
+
41
+ private
42
+
43
+ def adapt_coverage_result; end
44
+ def add_not_loaded_files(result); end
45
+ def initial_setup(profile, &block); end
46
+ def lookup_corresponding_ruby_coverage_name(criterion); end
47
+ def make_parallel_tests_available; end
48
+ def probably_running_parallel_tests?; end
49
+ def process_coverage_result; end
50
+ def remove_useless_results; end
51
+ def result_with_not_loaded_files; end
52
+ def start_coverage_measurement; end
53
+ def start_coverage_with_criteria; end
54
+ end
55
+ end
56
+
57
+ class SimpleCov::ArrayFilter < ::SimpleCov::Filter
58
+ def initialize(filter_argument); end
59
+
60
+ def matches?(source_files_list); end
61
+ end
62
+
63
+ class SimpleCov::BlockFilter < ::SimpleCov::Filter
64
+ def matches?(source_file); end
65
+ end
66
+
67
+ module SimpleCov::Combine
68
+ private
69
+
70
+ def combine(combiner_module, coverage_a, coverage_b); end
71
+ def empty_coverage?(coverage_a, coverage_b); end
72
+ def existing_coverage(coverage_a, coverage_b); end
73
+
74
+ class << self
75
+ def combine(combiner_module, coverage_a, coverage_b); end
76
+ def empty_coverage?(coverage_a, coverage_b); end
77
+ def existing_coverage(coverage_a, coverage_b); end
78
+ end
79
+ end
80
+
81
+ module SimpleCov::Combine::BranchesCombiner
82
+ private
83
+
84
+ def combine(coverage_a, coverage_b); end
85
+
86
+ class << self
87
+ def combine(coverage_a, coverage_b); end
88
+ end
89
+ end
90
+
91
+ module SimpleCov::Combine::FilesCombiner
92
+ private
93
+
94
+ def combine(coverage_a, coverage_b); end
95
+
96
+ class << self
97
+ def combine(coverage_a, coverage_b); end
98
+ end
99
+ end
100
+
101
+ module SimpleCov::Combine::LinesCombiner
102
+ private
103
+
104
+ def combine(coverage_a, coverage_b); end
105
+ def merge_line_coverage(first_val, second_val); end
106
+
107
+ class << self
108
+ def combine(coverage_a, coverage_b); end
109
+ def merge_line_coverage(first_val, second_val); end
110
+ end
111
+ end
112
+
113
+ module SimpleCov::Combine::ResultsCombiner
114
+ private
115
+
116
+ def combine(*results); end
117
+ def combine_file_coverage(coverage_a, coverage_b); end
118
+ def combine_result_sets(combined_results, result); end
119
+
120
+ class << self
121
+ def combine(*results); end
122
+ def combine_file_coverage(coverage_a, coverage_b); end
123
+ def combine_result_sets(combined_results, result); end
124
+ end
125
+ end
126
+
127
+ module SimpleCov::CommandGuesser
128
+ class << self
129
+ def guess; end
130
+ def original_run_command; end
131
+ def original_run_command=(_arg0); end
132
+
133
+ private
134
+
135
+ def from_command_line_options; end
136
+ def from_defined_constants; end
137
+ def from_env; end
138
+ end
139
+ end
140
+
141
+ module SimpleCov::Configuration
142
+ def adapters; end
143
+ def add_filter(filter_argument = T.unsafe(nil), &filter_proc); end
144
+ def add_group(group_name, filter_argument = T.unsafe(nil), &filter_proc); end
145
+ def at_exit(&block); end
146
+ def at_fork(&block); end
147
+ def branch_coverage?; end
148
+ def branch_coverage_supported?; end
149
+ def clear_coverage_criteria; end
150
+ def command_name(name = T.unsafe(nil)); end
151
+ def configure(&block); end
152
+ def coverage_criteria; end
153
+ def coverage_criterion(criterion = T.unsafe(nil)); end
154
+ def coverage_criterion_enabled?(criterion); end
155
+ def coverage_dir(dir = T.unsafe(nil)); end
156
+ def coverage_path; end
157
+ def coverage_start_arguments_supported?; end
158
+ def enable_coverage(criterion); end
159
+ def enable_for_subprocesses(value = T.unsafe(nil)); end
160
+ def enabled_for_subprocesses?; end
161
+ def filters; end
162
+ def filters=(_arg0); end
163
+ def formatter(formatter = T.unsafe(nil)); end
164
+ def formatter=(_arg0); end
165
+ def formatters; end
166
+ def formatters=(formatters); end
167
+ def groups; end
168
+ def groups=(_arg0); end
169
+ def maximum_coverage_drop(coverage_drop = T.unsafe(nil)); end
170
+ def merge_timeout(seconds = T.unsafe(nil)); end
171
+ def minimum_coverage(coverage = T.unsafe(nil)); end
172
+ def minimum_coverage_by_file(coverage = T.unsafe(nil)); end
173
+ def nocov_token(nocov_token = T.unsafe(nil)); end
174
+ def primary_coverage(criterion = T.unsafe(nil)); end
175
+ def print_error_status; end
176
+ def print_error_status=(_arg0); end
177
+ def profiles; end
178
+ def project_name(new_name = T.unsafe(nil)); end
179
+ def raise_on_invalid_coverage(coverage, coverage_setting); end
180
+ def refuse_coverage_drop(*criteria); end
181
+ def root(root = T.unsafe(nil)); end
182
+ def skip_token(nocov_token = T.unsafe(nil)); end
183
+ def track_files(glob); end
184
+ def tracked_files; end
185
+ def use_merging(use = T.unsafe(nil)); end
186
+
187
+ private
188
+
189
+ def minimum_possible_coverage_exceeded(coverage_option); end
190
+ def parse_filter(filter_argument = T.unsafe(nil), &filter_proc); end
191
+ def raise_if_criterion_disabled(criterion); end
192
+ def raise_if_criterion_unsupported(criterion); end
193
+ end
194
+
195
+ SimpleCov::Configuration::DEFAULT_COVERAGE_CRITERION = T.let(T.unsafe(nil), Symbol)
196
+ SimpleCov::Configuration::SUPPORTED_COVERAGE_CRITERIA = T.let(T.unsafe(nil), Array)
197
+
198
+ class SimpleCov::CoverageStatistics
199
+ def initialize(covered:, missed:, total_strength: T.unsafe(nil)); end
200
+
201
+ def covered; end
202
+ def missed; end
203
+ def percent; end
204
+ def strength; end
205
+ def total; end
206
+
207
+ private
208
+
209
+ def compute_percent(covered, missed, total); end
210
+ def compute_strength(total_strength, total); end
211
+
212
+ class << self
213
+ def from(coverage_statistics); end
214
+ end
215
+ end
216
+
217
+ module SimpleCov::ExitCodes; end
218
+ SimpleCov::ExitCodes::EXCEPTION = T.let(T.unsafe(nil), Integer)
219
+
220
+ module SimpleCov::ExitCodes::ExitCodeHandling
221
+ private
222
+
223
+ def call(result, coverage_limits:); end
224
+ def coverage_checks(result, coverage_limits); end
225
+
226
+ class << self
227
+ def call(result, coverage_limits:); end
228
+ def coverage_checks(result, coverage_limits); end
229
+ end
230
+ end
231
+
232
+ SimpleCov::ExitCodes::MAXIMUM_COVERAGE_DROP = T.let(T.unsafe(nil), Integer)
233
+ SimpleCov::ExitCodes::MINIMUM_COVERAGE = T.let(T.unsafe(nil), Integer)
234
+
235
+ class SimpleCov::ExitCodes::MaximumCoverageDropCheck
236
+ def initialize(result, maximum_coverage_drop); end
237
+
238
+ def exit_code; end
239
+ def failing?; end
240
+ def report; end
241
+
242
+ private
243
+
244
+ def compute_coverage_drop_data; end
245
+ def coverage_drop_violations; end
246
+ def drop_percent(criterion); end
247
+ def last_coverage(criterion); end
248
+ def last_run; end
249
+ def maximum_coverage_drop; end
250
+ def result; end
251
+ end
252
+
253
+ SimpleCov::ExitCodes::MaximumCoverageDropCheck::MAX_DROP_ACCURACY = T.let(T.unsafe(nil), Integer)
254
+
255
+ class SimpleCov::ExitCodes::MinimumCoverageByFileCheck
256
+ def initialize(result, minimum_coverage_by_file); end
257
+
258
+ def exit_code; end
259
+ def failing?; end
260
+ def report; end
261
+
262
+ private
263
+
264
+ def compute_minimum_coverage_data; end
265
+ def minimum_coverage_by_file; end
266
+ def minimum_violations; end
267
+ def result; end
268
+ end
269
+
270
+ class SimpleCov::ExitCodes::MinimumOverallCoverageCheck
271
+ def initialize(result, minimum_coverage); end
272
+
273
+ def exit_code; end
274
+ def failing?; end
275
+ def report; end
276
+
277
+ private
278
+
279
+ def calculate_minimum_violations; end
280
+ def minimum_coverage; end
281
+ def minimum_violations; end
282
+ def result; end
283
+ end
284
+
285
+ SimpleCov::ExitCodes::SUCCESS = T.let(T.unsafe(nil), Integer)
286
+
287
+ class SimpleCov::FileList
288
+ include ::Enumerable
289
+ extend ::Forwardable
290
+
291
+ def initialize(files); end
292
+
293
+ def branch_covered_percent; end
294
+ def count(*args, &block); end
295
+ def coverage_statistics; end
296
+ def coverage_statistics_by_file; end
297
+ def covered_branches; end
298
+ def covered_lines; end
299
+ def covered_percent; end
300
+ def covered_percentages; end
301
+ def covered_strength; end
302
+ def each(*args, &block); end
303
+ def empty?(*args, &block); end
304
+ def least_covered_file; end
305
+ def length(*args, &block); end
306
+ def lines_of_code; end
307
+ def map(*args, &block); end
308
+ def missed_branches; end
309
+ def missed_lines; end
310
+ def never_lines; end
311
+ def size(*args, &block); end
312
+ def skipped_lines; end
313
+ def to_a(*args, &block); end
314
+ def to_ary(*args, &block); end
315
+ def total_branches; end
316
+
317
+ private
318
+
319
+ def compute_coverage_statistics; end
320
+ def compute_coverage_statistics_by_file; end
321
+ end
322
+
323
+ class SimpleCov::Filter
324
+ def initialize(filter_argument); end
325
+
326
+ def filter_argument; end
327
+ def matches?(_source_file); end
328
+ def passes?(source_file); end
329
+
330
+ class << self
331
+ def build_filter(filter_argument); end
332
+ def class_for_argument(filter_argument); end
333
+ end
334
+ end
335
+
336
+ module SimpleCov::Formatter
337
+ class << self
338
+ def from_env(env); end
339
+ end
340
+ end
341
+
342
+ class SimpleCov::Formatter::MultiFormatter
343
+ class << self
344
+ def [](*args); end
345
+ def new(formatters = T.unsafe(nil)); end
346
+ end
347
+ end
348
+
349
+ module SimpleCov::Formatter::MultiFormatter::InstanceMethods
350
+ def format(result); end
351
+ end
352
+
353
+ class SimpleCov::Formatter::SimpleFormatter
354
+ def format(result); end
355
+ end
356
+
357
+ module SimpleCov::LastRun
358
+ class << self
359
+ def last_run_path; end
360
+ def read; end
361
+ def write(json); end
362
+ end
363
+ end
364
+
365
+ class SimpleCov::LinesClassifier
366
+ def classify(lines); end
367
+
368
+ class << self
369
+ def no_cov_line; end
370
+ def no_cov_line?(line); end
371
+ def whitespace_line?(line); end
372
+ end
373
+ end
374
+
375
+ SimpleCov::LinesClassifier::COMMENT_LINE = T.let(T.unsafe(nil), Regexp)
376
+ SimpleCov::LinesClassifier::RELEVANT = T.let(T.unsafe(nil), Integer)
377
+ SimpleCov::LinesClassifier::WHITESPACE_LINE = T.let(T.unsafe(nil), Regexp)
378
+ SimpleCov::LinesClassifier::WHITESPACE_OR_COMMENT_LINE = T.let(T.unsafe(nil), Regexp)
379
+
380
+ class SimpleCov::Profiles < ::Hash
381
+ def define(name, &blk); end
382
+ def load(name); end
383
+ end
384
+
385
+ class SimpleCov::RegexFilter < ::SimpleCov::Filter
386
+ def matches?(source_file); end
387
+ end
388
+
389
+ class SimpleCov::Result
390
+ extend ::Forwardable
391
+
392
+ def initialize(original_result, command_name: T.unsafe(nil), created_at: T.unsafe(nil)); end
393
+
394
+ def command_name; end
395
+ def command_name=(_arg0); end
396
+ def coverage_statistics(*args, &block); end
397
+ def coverage_statistics_by_file(*args, &block); end
398
+ def covered_branches(*args, &block); end
399
+ def covered_lines(*args, &block); end
400
+ def covered_percent(*args, &block); end
401
+ def covered_percentages(*args, &block); end
402
+ def covered_strength(*args, &block); end
403
+ def created_at; end
404
+ def created_at=(_arg0); end
405
+ def filenames; end
406
+ def files; end
407
+ def format!; end
408
+ def groups; end
409
+ def least_covered_file(*args, &block); end
410
+ def missed_branches(*args, &block); end
411
+ def missed_lines(*args, &block); end
412
+ def original_result; end
413
+ def source_files; end
414
+ def to_hash; end
415
+ def total_branches(*args, &block); end
416
+ def total_lines(*args, &block); end
417
+
418
+ private
419
+
420
+ def coverage; end
421
+ def filter!; end
422
+
423
+ class << self
424
+ def from_hash(hash); end
425
+ end
426
+ end
427
+
428
+ class SimpleCov::ResultAdapter
429
+ def initialize(result); end
430
+
431
+ def adapt; end
432
+ def result; end
433
+
434
+ class << self
435
+ def call(*args); end
436
+ end
437
+ end
438
+
439
+ module SimpleCov::ResultMerger
440
+ class << self
441
+ def adapt_pre_simplecov_0_18_result(result); end
442
+ def adapt_result(result); end
443
+ def create_result(command_names, coverage); end
444
+ def merge_and_store(*file_paths, ignore_timeout: T.unsafe(nil)); end
445
+ def merge_coverage(*results); end
446
+ def merge_results(*file_paths, ignore_timeout: T.unsafe(nil)); end
447
+ def merge_valid_results(results, ignore_timeout: T.unsafe(nil)); end
448
+ def merged_result; end
449
+ def parse_file(path); end
450
+ def parse_json(content); end
451
+ def pre_simplecov_0_18_result?(result); end
452
+ def read_file(path); end
453
+ def read_resultset; end
454
+ def resultset_path; end
455
+ def resultset_writelock; end
456
+ def store_result(result); end
457
+ def synchronize_resultset; end
458
+ def time_since_result_creation(data); end
459
+ def valid_results(file_path, ignore_timeout: T.unsafe(nil)); end
460
+ def within_merge_timeout?(data); end
461
+ end
462
+ end
463
+
464
+ module SimpleCov::SimulateCoverage
465
+ private
466
+
467
+ def call(absolute_path); end
468
+
469
+ class << self
470
+ def call(absolute_path); end
471
+ end
472
+ end
473
+
474
+ class SimpleCov::SourceFile
475
+ def initialize(filename, coverage_data); end
476
+
477
+ def branches; end
478
+ def branches_coverage_percent; end
479
+ def branches_for_line(line_number); end
480
+ def branches_report; end
481
+ def coverage_data; end
482
+ def coverage_statistics; end
483
+ def covered_branches; end
484
+ def covered_lines; end
485
+ def covered_percent; end
486
+ def covered_strength; end
487
+ def filename; end
488
+ def line(number); end
489
+ def line_with_missed_branch?(line_number); end
490
+ def lines; end
491
+ def lines_of_code; end
492
+ def missed_branches; end
493
+ def missed_lines; end
494
+ def never_lines; end
495
+ def no_branches?; end
496
+ def no_lines?; end
497
+ def project_filename; end
498
+ def relevant_lines; end
499
+ def skipped_lines; end
500
+ def source; end
501
+ def source_lines; end
502
+ def src; end
503
+ def total_branches; end
504
+
505
+ private
506
+
507
+ def branch_coverage_statistics; end
508
+ def build_branch(branch_data, hit_count, condition_start_line); end
509
+ def build_branches; end
510
+ def build_branches_from(condition, branches); end
511
+ def build_branches_report; end
512
+ def build_lines; end
513
+ def build_no_cov_chunks; end
514
+ def coverage_exceeding_source_warn; end
515
+ def ensure_remove_undefs(file_lines); end
516
+ def line_coverage_statistics; end
517
+ def lines_strength; end
518
+ def load_source; end
519
+ def no_cov_chunks; end
520
+ def process_skipped_branches(branches); end
521
+ def process_skipped_lines(lines); end
522
+ def read_lines(file, lines, current_line); end
523
+ def restore_ruby_data_structure(structure); end
524
+ def set_encoding_based_on_magic_comment(file, line); end
525
+ def shebang?(line); end
526
+ end
527
+
528
+ class SimpleCov::SourceFile::Branch
529
+ def initialize(start_line:, end_line:, coverage:, inline:, type:); end
530
+
531
+ def coverage; end
532
+ def covered?; end
533
+ def end_line; end
534
+ def inline?; end
535
+ def missed?; end
536
+ def overlaps_with?(line_range); end
537
+ def report; end
538
+ def report_line; end
539
+ def skipped!; end
540
+ def skipped?; end
541
+ def start_line; end
542
+ def type; end
543
+ end
544
+
545
+ class SimpleCov::SourceFile::Line
546
+ def initialize(src, line_number, coverage); end
547
+
548
+ def coverage; end
549
+ def covered?; end
550
+ def line; end
551
+ def line_number; end
552
+ def missed?; end
553
+ def never?; end
554
+ def number; end
555
+ def skipped; end
556
+ def skipped!; end
557
+ def skipped?; end
558
+ def source; end
559
+ def src; end
560
+ def status; end
561
+ end
562
+
563
+ SimpleCov::SourceFile::RUBY_FILE_ENCODING_MAGIC_COMMENT_REGEX = T.let(T.unsafe(nil), Regexp)
564
+ SimpleCov::SourceFile::SHEBANG_REGEX = T.let(T.unsafe(nil), Regexp)
565
+
566
+ class SimpleCov::StringFilter < ::SimpleCov::Filter
567
+ def matches?(source_file); end
568
+ end
569
+
570
+ module SimpleCov::UselessResultsRemover
571
+ class << self
572
+ def call(coverage_result); end
573
+ def root_regx; end
574
+ end
575
+ end
576
+
577
+ SimpleCov::VERSION = T.let(T.unsafe(nil), String)
@@ -0,0 +1,8 @@
1
+ # DO NOT EDIT MANUALLY
2
+ # This is an autogenerated file for types exported from the `simplecov_json_formatter` gem.
3
+ # Please instead update this file by running `bin/tapioca gem simplecov_json_formatter`.
4
+
5
+ # typed: true
6
+
7
+ # THIS IS AN EMPTY RBI FILE.
8
+ # see https://github.com/Shopify/tapioca/wiki/Manual-Gem-Requires
@@ -0,0 +1,17 @@
1
+ # DO NOT EDIT MANUALLY
2
+ # This is an autogenerated file for types exported from the `sorbet-struct-comparable` gem.
3
+ # Please instead update this file by running `bin/tapioca gem sorbet-struct-comparable`.
4
+
5
+ # typed: true
6
+
7
+ module SorbetStructComparable; end
8
+ SorbetStructComparable::VERSION = T.let(T.unsafe(nil), String)
9
+
10
+ module T::Struct::ActsAsComparable
11
+ include ::Comparable
12
+
13
+ sig { params(other: Object).returns(T.nilable(Integer)) }
14
+ def <=>(other); end
15
+ end
16
+
17
+ T::Struct::ActsAsComparable::EQUAL = T.let(T.unsafe(nil), Integer)