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,697 @@
1
+ # DO NOT EDIT MANUALLY
2
+ # This is an autogenerated file for types exported from the `dry-monads` gem.
3
+ # Please instead update this file by running `bin/tapioca sync`.
4
+
5
+ # typed: true
6
+
7
+ module Dry
8
+ class << self
9
+ def Equalizer(*keys, **options); end
10
+ def Struct(attributes = T.unsafe(nil), &block); end
11
+ def Types(*namespaces, default: T.unsafe(nil), **aliases); end
12
+ end
13
+ end
14
+
15
+ module Dry::Monads
16
+ include ::Dry::Core::Constants
17
+ extend ::Dry::Monads::Maybe::Mixin::Constructors
18
+ extend ::Dry::Monads::Result::Mixin::Constructors
19
+ extend ::Dry::Monads::Validated::Mixin::Constructors
20
+ extend ::Dry::Monads::Lazy::Mixin::Constructors
21
+ extend ::Dry::Monads::Try::Mixin::Constructors
22
+ extend ::Dry::Monads::Task::Mixin::Constructors
23
+
24
+ class << self
25
+ def Result(error, **options); end
26
+ def [](*monads); end
27
+ def included(base); end
28
+
29
+ protected
30
+
31
+ def registry=(registry); end
32
+
33
+ private
34
+
35
+ def all_loaded?; end
36
+ def constructors; end
37
+ def known_monads; end
38
+ def load_monad(name); end
39
+ def register_mixin(name, mod); end
40
+ def registry; end
41
+ end
42
+ end
43
+
44
+ class Dry::Monads::ConstructorNotAppliedError < ::NoMethodError
45
+ def initialize(method_name, constructor_name); end
46
+ end
47
+
48
+ module Dry::Monads::ConversionStubs
49
+ class << self
50
+ def [](*method_names); end
51
+ end
52
+ end
53
+
54
+ module Dry::Monads::ConversionStubs::Methods
55
+ private
56
+
57
+ def to_maybe; end
58
+ def to_result; end
59
+ def to_validated; end
60
+
61
+ class << self
62
+ def to_maybe; end
63
+ def to_result; end
64
+ def to_validated; end
65
+ end
66
+ end
67
+
68
+ module Dry::Monads::Curry
69
+ class << self
70
+ def call(value); end
71
+ end
72
+ end
73
+
74
+ module Dry::Monads::Do
75
+ extend ::Dry::Monads::Do::Mixin
76
+ include ::Dry::Monads::Do::All
77
+
78
+ class << self
79
+ def coerce_to_monad(monads); end
80
+ def for(*methods); end
81
+ def halt(result); end
82
+ def included(base); end
83
+ def method_visibility(mod, method); end
84
+ def wrap_method(target, method, visibility); end
85
+ end
86
+ end
87
+
88
+ module Dry::Monads::Do::All
89
+ extend ::Dry::Monads::Do::All::InstanceMixin
90
+
91
+ class << self
92
+ def included(base); end
93
+ def wrap_defined_methods(klass, target); end
94
+ end
95
+ end
96
+
97
+ module Dry::Monads::Do::All::InstanceMixin
98
+ def extended(object); end
99
+ end
100
+
101
+ class Dry::Monads::Do::All::MethodTracker < ::Module
102
+ def initialize(wrappers); end
103
+
104
+ def extend_object(target); end
105
+ def wrap_method(target, method); end
106
+ def wrappers; end
107
+ end
108
+
109
+ Dry::Monads::Do::DELEGATE = T.let(T.unsafe(nil), String)
110
+
111
+ class Dry::Monads::Do::Halt < ::StandardError
112
+ def initialize(result); end
113
+
114
+ def result; end
115
+ end
116
+
117
+ class Dry::Monads::Do::MethodTracker < ::Module
118
+ def initialize(tracked_methods, base, wrapper); end
119
+ end
120
+
121
+ module Dry::Monads::Do::Mixin
122
+ def bind(monads); end
123
+ def call; end
124
+ end
125
+
126
+ Dry::Monads::Do::VISIBILITY_WORD = T.let(T.unsafe(nil), Hash)
127
+ Dry::Monads::EMPTY_ARRAY = T.let(T.unsafe(nil), Array)
128
+ Dry::Monads::EMPTY_HASH = T.let(T.unsafe(nil), Hash)
129
+ Dry::Monads::EMPTY_OPTS = T.let(T.unsafe(nil), Hash)
130
+ Dry::Monads::EMPTY_SET = T.let(T.unsafe(nil), Set)
131
+ Dry::Monads::EMPTY_STRING = T.let(T.unsafe(nil), String)
132
+ Dry::Monads::Failure = Dry::Monads::Result::Failure
133
+ Dry::Monads::IDENTITY = T.let(T.unsafe(nil), Proc)
134
+ Dry::Monads::Invalid = Dry::Monads::Validated::Invalid
135
+
136
+ class Dry::Monads::InvalidFailureTypeError < ::StandardError
137
+ def initialize(failure); end
138
+ end
139
+
140
+ class Dry::Monads::Lazy < ::Dry::Monads::Task
141
+ extend ::Dry::Core::Deprecations::Interface
142
+
143
+ def complete?(*args, &block); end
144
+ def evaluated?; end
145
+ def force; end
146
+ def force!; end
147
+ def inspect; end
148
+ def to_s; end
149
+ def value!; end
150
+
151
+ class << self
152
+ def new(promise = T.unsafe(nil), &block); end
153
+ end
154
+ end
155
+
156
+ module Dry::Monads::Lazy::Mixin
157
+ include ::Dry::Monads::Lazy::Mixin::Constructors
158
+ end
159
+
160
+ module Dry::Monads::Lazy::Mixin::Constructors
161
+ def Lazy(&block); end
162
+ end
163
+
164
+ Dry::Monads::Lazy::Mixin::Lazy = Dry::Monads::Lazy
165
+ Dry::Monads::Lazy::Mixin::Unit = T.let(T.unsafe(nil), Object)
166
+
167
+ class Dry::Monads::List
168
+ include ::Dry::Core::Equalizer::Methods
169
+ include ::Dry::Monads::Transformer
170
+ extend ::Dry::Core::Deprecations::Interface
171
+
172
+ def initialize(value, type = T.unsafe(nil)); end
173
+
174
+ def +(other); end
175
+ def apply(list = T.unsafe(nil), &block); end
176
+ def bind(*args); end
177
+ def collect; end
178
+ def deconstruct; end
179
+ def empty?; end
180
+ def filter(&block); end
181
+ def first; end
182
+ def fmap(*args); end
183
+ def fold_left(initial, &block); end
184
+ def fold_right(initial); end
185
+ def foldl(initial, &block); end
186
+ def foldr(initial); end
187
+ def head; end
188
+ def inspect; end
189
+ def last; end
190
+ def map(&block); end
191
+ def monad; end
192
+ def reduce(initial, &block); end
193
+ def reverse; end
194
+ def select(&block); end
195
+ def size; end
196
+ def sort; end
197
+ def tail; end
198
+ def to_a; end
199
+ def to_ary; end
200
+ def to_monad; end
201
+ def to_s; end
202
+ def traverse(proc = T.unsafe(nil), &block); end
203
+ def type; end
204
+ def typed(type = T.unsafe(nil)); end
205
+ def typed?; end
206
+ def value; end
207
+
208
+ private
209
+
210
+ def coerce(other); end
211
+
212
+ class << self
213
+ def [](*values); end
214
+ def coerce(value, type = T.unsafe(nil)); end
215
+ def pure(value = T.unsafe(nil), type = T.unsafe(nil), &block); end
216
+ def unfold(state, type = T.unsafe(nil)); end
217
+ end
218
+ end
219
+
220
+ Dry::Monads::List::EMPTY = T.let(T.unsafe(nil), Dry::Monads::List)
221
+
222
+ class Dry::Monads::List::ListBuilder
223
+ def initialize(type); end
224
+
225
+ def [](*args); end
226
+ def coerce(value); end
227
+ def pure(val = T.unsafe(nil), &block); end
228
+ def type; end
229
+
230
+ class << self
231
+ def [](*_arg0); end
232
+ end
233
+ end
234
+
235
+ Dry::Monads::List::Maybe = T.let(T.unsafe(nil), Dry::Monads::List::ListBuilder)
236
+
237
+ module Dry::Monads::List::Mixin
238
+ def List(value); end
239
+ end
240
+
241
+ Dry::Monads::List::Mixin::L = Dry::Monads::List
242
+ Dry::Monads::List::Mixin::List = Dry::Monads::List
243
+ Dry::Monads::List::Result = T.let(T.unsafe(nil), Dry::Monads::List::ListBuilder)
244
+ Dry::Monads::List::Task = T.let(T.unsafe(nil), Dry::Monads::List::ListBuilder)
245
+ Dry::Monads::List::Try = T.let(T.unsafe(nil), Dry::Monads::List::ListBuilder)
246
+ Dry::Monads::List::Validated = T.let(T.unsafe(nil), Dry::Monads::List::ListBuilder)
247
+
248
+ class Dry::Monads::Maybe
249
+ extend T::Generic
250
+ include ::Dry::Monads::Transformer
251
+ extend ::Dry::Core::Constants
252
+ extend ::Dry::Core::ClassAttributes
253
+
254
+ Elem = type_member
255
+
256
+ def failure?; end
257
+ def monad; end
258
+ def none?; end
259
+ def some?; end
260
+ def success?; end
261
+ def to_maybe; end
262
+ def to_monad; end
263
+
264
+ class << self
265
+ def coerce(value); end
266
+ def lift(*args, &block); end
267
+ def pure(value = T.unsafe(nil), &block); end
268
+ def to_proc; end
269
+ end
270
+ end
271
+
272
+ module Dry::Monads::Maybe::Hash
273
+ class << self
274
+ def all(hash, trace = T.unsafe(nil)); end
275
+ def filter(hash); end
276
+ end
277
+ end
278
+
279
+ module Dry::Monads::Maybe::Mixin
280
+ include ::Dry::Monads::Maybe::Mixin::Constructors
281
+ end
282
+
283
+ module Dry::Monads::Maybe::Mixin::Constructors
284
+ def Maybe(value); end
285
+ def None; end
286
+ def Some(value = T.unsafe(nil), &block); end
287
+ end
288
+
289
+ Dry::Monads::Maybe::Mixin::Maybe = Dry::Monads::Maybe
290
+ Dry::Monads::Maybe::Mixin::None = Dry::Monads::Maybe::None
291
+ Dry::Monads::Maybe::Mixin::Some = Dry::Monads::Maybe::Some
292
+
293
+ class Dry::Monads::Maybe::None < ::Dry::Monads::Maybe
294
+ include ::Dry::Monads::RightBiased::Left
295
+
296
+ def initialize(trace = T.unsafe(nil)); end
297
+
298
+ def ==(other); end
299
+ def deconstruct; end
300
+ def eql?(other); end
301
+ def filter(_ = T.unsafe(nil)); end
302
+ def hash; end
303
+ def inspect; end
304
+ def maybe(*_arg0); end
305
+ def or(*args); end
306
+ def or_fmap(*args, &block); end
307
+ def to_result(fail = T.unsafe(nil)); end
308
+ def to_s; end
309
+ def trace; end
310
+
311
+ class << self
312
+ def instance; end
313
+
314
+ private
315
+
316
+ def method_missing(m, *_arg1); end
317
+ end
318
+ end
319
+
320
+ class Dry::Monads::Maybe::Some < ::Dry::Monads::Maybe
321
+ include ::Dry::Core::Equalizer::Methods
322
+ include ::Dry::Monads::RightBiased::Right
323
+
324
+ def initialize(value = T.unsafe(nil)); end
325
+
326
+ def filter(with = T.unsafe(nil), &block); end
327
+ def fmap(*args, &block); end
328
+ def inspect; end
329
+ def maybe(*args, &block); end
330
+ def to_result(_fail = T.unsafe(nil)); end
331
+ def to_s; end
332
+
333
+ class << self
334
+ def [](*value); end
335
+ def call(*_arg0); end
336
+ def to_proc; end
337
+ end
338
+ end
339
+
340
+ Dry::Monads::None = Dry::Monads::Maybe::None
341
+
342
+ class Dry::Monads::Result
343
+ extend T::Generic
344
+ include ::Dry::Monads::Transformer
345
+
346
+ FailureType = type_member
347
+ SuccessType = type_member
348
+
349
+ def failure; end
350
+ def monad; end
351
+ def success; end
352
+ def to_monad; end
353
+ def to_result; end
354
+
355
+ class << self
356
+ def pure(value = T.unsafe(nil), &block); end
357
+ end
358
+ end
359
+
360
+ class Dry::Monads::Result::Failure < ::Dry::Monads::Result
361
+ include ::Dry::Monads::RightBiased::Left
362
+ include ::Dry::Core::Equalizer::Methods
363
+
364
+ def initialize(value, trace = T.unsafe(nil)); end
365
+
366
+ def ===(other); end
367
+ def alt_map(proc = T.unsafe(nil), &block); end
368
+ def either(_, g); end
369
+ def failure; end
370
+ def failure?; end
371
+ def flip; end
372
+ def inspect; end
373
+ def or(*args); end
374
+ def or_fmap(*args, &block); end
375
+ def result(f, _); end
376
+ def success?; end
377
+ def to_maybe; end
378
+ def to_s; end
379
+ def to_validated; end
380
+ def trace; end
381
+ def value_or(val = T.unsafe(nil)); end
382
+
383
+ class << self
384
+ def [](*value); end
385
+ def call(*_arg0); end
386
+ def to_proc; end
387
+ end
388
+ end
389
+
390
+ class Dry::Monads::Result::Fixed < ::Module
391
+ def initialize(error, **_options); end
392
+
393
+ private
394
+
395
+ def included(base); end
396
+
397
+ class << self
398
+ def [](error, **options); end
399
+ end
400
+ end
401
+
402
+ module Dry::Monads::Result::Mixin
403
+ include ::Dry::Monads::Result::Mixin::Constructors
404
+ end
405
+
406
+ module Dry::Monads::Result::Mixin::Constructors
407
+ def Failure(value = T.unsafe(nil), &block); end
408
+ def Success(value = T.unsafe(nil), &block); end
409
+ end
410
+
411
+ Dry::Monads::Result::Mixin::Failure = Dry::Monads::Result::Failure
412
+ Dry::Monads::Result::Mixin::Success = Dry::Monads::Result::Success
413
+
414
+ class Dry::Monads::Result::Success < ::Dry::Monads::Result
415
+ include ::Dry::Monads::RightBiased::Right
416
+ include ::Dry::Core::Equalizer::Methods
417
+ extend ::Dry::Core::Deprecations::Interface
418
+
419
+ def initialize(value); end
420
+
421
+ def alt_map(_ = T.unsafe(nil)); end
422
+ def either(f, _); end
423
+ def failure?; end
424
+ def flip; end
425
+ def fmap(*args, &block); end
426
+ def inspect; end
427
+ def result(_, f); end
428
+ def success; end
429
+ def success?; end
430
+ def to_maybe; end
431
+ def to_s; end
432
+ def to_validated; end
433
+
434
+ class << self
435
+ def [](*value); end
436
+ def call(*_arg0); end
437
+ def to_proc; end
438
+ end
439
+ end
440
+
441
+ module Dry::Monads::RightBiased; end
442
+
443
+ module Dry::Monads::RightBiased::Left
444
+ def and(_); end
445
+ def apply(*_arg0); end
446
+ def bind(*_arg0); end
447
+ def deconstruct; end
448
+ def deconstruct_keys(keys); end
449
+ def discard; end
450
+ def flatten; end
451
+ def fmap(*_arg0); end
452
+ def or(*_arg0); end
453
+ def or_fmap(*_arg0); end
454
+ def tee(*_arg0); end
455
+ def value!; end
456
+ def value_or(val = T.unsafe(nil)); end
457
+ def |(alt); end
458
+
459
+ class << self
460
+ def trace_caller; end
461
+ end
462
+ end
463
+
464
+ module Dry::Monads::RightBiased::Right
465
+ def ===(other); end
466
+ def and(mb); end
467
+ def apply(val = T.unsafe(nil), &block); end
468
+ def bind(*args, **kwargs); end
469
+ def deconstruct; end
470
+ def deconstruct_keys(keys); end
471
+ def discard; end
472
+ def flatten; end
473
+ def fmap(*_arg0); end
474
+ def or(*_arg0); end
475
+ def or_fmap(*_arg0); end
476
+ def tee(*args, &block); end
477
+ def value!; end
478
+ def value_or(_val = T.unsafe(nil)); end
479
+ def |(_alt); end
480
+
481
+ private
482
+
483
+ def curry; end
484
+ def destructure(*args, **kwargs); end
485
+
486
+ class << self
487
+ def included(m); end
488
+ end
489
+ end
490
+
491
+ Dry::Monads::Self = T.let(T.unsafe(nil), Proc)
492
+ Dry::Monads::Some = Dry::Monads::Maybe::Some
493
+ Dry::Monads::Success = Dry::Monads::Result::Success
494
+
495
+ class Dry::Monads::Task
496
+ def initialize(promise); end
497
+
498
+ def ==(other); end
499
+ def apply(val = T.unsafe(nil), &block); end
500
+ def bind(&block); end
501
+ def complete?; end
502
+ def discard; end
503
+ def fmap(&block); end
504
+ def inspect; end
505
+ def monad; end
506
+ def or(&block); end
507
+ def or_fmap(&block); end
508
+ def then(&block); end
509
+ def to_maybe; end
510
+ def to_monad; end
511
+ def to_result; end
512
+ def to_s; end
513
+ def value!; end
514
+ def value_or(&block); end
515
+ def wait(timeout = T.unsafe(nil)); end
516
+
517
+ protected
518
+
519
+ def promise; end
520
+
521
+ private
522
+
523
+ def compare_promises(x, y); end
524
+ def curry(value); end
525
+
526
+ class << self
527
+ def [](executor, &block); end
528
+ def failed(exc); end
529
+ def new(promise = T.unsafe(nil), &block); end
530
+ def pure(value = T.unsafe(nil), &block); end
531
+ end
532
+ end
533
+
534
+ module Dry::Monads::Task::Mixin
535
+ include ::Dry::Monads::Task::Mixin::Constructors
536
+
537
+ class << self
538
+ def [](executor); end
539
+ end
540
+ end
541
+
542
+ module Dry::Monads::Task::Mixin::Constructors
543
+ def Task(&block); end
544
+ end
545
+
546
+ Dry::Monads::Task::Mixin::Task = Dry::Monads::Task
547
+ Dry::Monads::Task::Mixin::Unit = T.let(T.unsafe(nil), Object)
548
+ class Dry::Monads::Task::Promise < ::Concurrent::Promise; end
549
+
550
+ module Dry::Monads::Transformer
551
+ def fmap2(*args); end
552
+ def fmap3(*args); end
553
+ end
554
+
555
+ Dry::Monads::Traverse = T.let(T.unsafe(nil), Hash)
556
+
557
+ class Dry::Monads::Try
558
+ def error?; end
559
+ def exception; end
560
+ def failure?; end
561
+ def success?; end
562
+ def to_monad; end
563
+ def value?; end
564
+
565
+ class << self
566
+ def [](*exceptions, &block); end
567
+ def lift(*args, &block); end
568
+ def pure(value = T.unsafe(nil), exceptions = T.unsafe(nil), &block); end
569
+ def run(exceptions, f); end
570
+ end
571
+ end
572
+
573
+ Dry::Monads::Try::DEFAULT_EXCEPTIONS = T.let(T.unsafe(nil), Array)
574
+
575
+ class Dry::Monads::Try::Error < ::Dry::Monads::Try
576
+ include ::Dry::Core::Equalizer::Methods
577
+ include ::Dry::Monads::RightBiased::Left
578
+
579
+ def initialize(exception); end
580
+
581
+ def ===(other); end
582
+ def inspect; end
583
+ def or(*args); end
584
+ def recover(*errors); end
585
+ def to_maybe; end
586
+ def to_result; end
587
+ def to_s; end
588
+
589
+ class << self
590
+ def call(*_arg0); end
591
+ end
592
+ end
593
+
594
+ module Dry::Monads::Try::Mixin
595
+ include ::Dry::Monads::Try::Mixin::Constructors
596
+
597
+ def Error(error = T.unsafe(nil), &block); end
598
+ def Value(value = T.unsafe(nil), exceptions = T.unsafe(nil), &block); end
599
+ end
600
+
601
+ module Dry::Monads::Try::Mixin::Constructors
602
+ def Try(*exceptions, &f); end
603
+ end
604
+
605
+ Dry::Monads::Try::Mixin::Try = Dry::Monads::Try
606
+
607
+ class Dry::Monads::Try::Value < ::Dry::Monads::Try
608
+ include ::Dry::Core::Equalizer::Methods
609
+ include ::Dry::Monads::RightBiased::Right
610
+
611
+ def initialize(exceptions, value); end
612
+
613
+ def bind(*args); end
614
+ def catchable; end
615
+ def fmap(*args, &block); end
616
+ def inspect; end
617
+ def recover(*_errors); end
618
+ def to_maybe; end
619
+ def to_result; end
620
+ def to_s; end
621
+
622
+ private
623
+
624
+ def bind_call(*args, **kwargs); end
625
+
626
+ class << self
627
+ def call(*_arg0); end
628
+ def to_proc; end
629
+ end
630
+ end
631
+
632
+ Dry::Monads::Undefined = T.let(T.unsafe(nil), Object)
633
+ Dry::Monads::Unit = T.let(T.unsafe(nil), Object)
634
+
635
+ class Dry::Monads::UnwrapError < ::StandardError
636
+ def initialize(receiver); end
637
+
638
+ def receiver; end
639
+ end
640
+
641
+ Dry::Monads::Valid = Dry::Monads::Validated::Valid
642
+
643
+ class Dry::Monads::Validated
644
+ def bind(*_arg0); end
645
+ def to_monad; end
646
+
647
+ class << self
648
+ def pure(value = T.unsafe(nil), &block); end
649
+ end
650
+ end
651
+
652
+ class Dry::Monads::Validated::Invalid < ::Dry::Monads::Validated
653
+ include ::Dry::Core::Equalizer::Methods
654
+
655
+ def initialize(error, trace = T.unsafe(nil)); end
656
+
657
+ def ===(other); end
658
+ def alt_map(proc = T.unsafe(nil), &block); end
659
+ def apply(val = T.unsafe(nil), &block); end
660
+ def error; end
661
+ def fmap(_ = T.unsafe(nil)); end
662
+ def inspect; end
663
+ def or(proc = T.unsafe(nil), &block); end
664
+ def to_maybe; end
665
+ def to_result; end
666
+ def to_s; end
667
+ def trace; end
668
+ end
669
+
670
+ module Dry::Monads::Validated::Mixin
671
+ include ::Dry::Monads::Validated::Mixin::Constructors
672
+ end
673
+
674
+ module Dry::Monads::Validated::Mixin::Constructors
675
+ def Invalid(value = T.unsafe(nil), &block); end
676
+ def Valid(value = T.unsafe(nil), &block); end
677
+ end
678
+
679
+ Dry::Monads::Validated::Mixin::Invalid = Dry::Monads::Validated::Invalid
680
+ Dry::Monads::Validated::Mixin::Valid = Dry::Monads::Validated::Valid
681
+
682
+ class Dry::Monads::Validated::Valid < ::Dry::Monads::Validated
683
+ include ::Dry::Core::Equalizer::Methods
684
+
685
+ def initialize(value); end
686
+
687
+ def ===(other); end
688
+ def alt_map(_ = T.unsafe(nil)); end
689
+ def apply(val = T.unsafe(nil), &block); end
690
+ def fmap(proc = T.unsafe(nil), &block); end
691
+ def inspect; end
692
+ def or(_ = T.unsafe(nil)); end
693
+ def to_maybe; end
694
+ def to_result; end
695
+ def to_s; end
696
+ def value!; end
697
+ end
@@ -0,0 +1,8 @@
1
+ # DO NOT EDIT MANUALLY
2
+ # This is an autogenerated file for types exported from the `em-websocket` gem.
3
+ # Please instead update this file by running `bin/tapioca gem em-websocket`.
4
+
5
+ # typed: true
6
+
7
+ # THIS IS AN EMPTY RBI FILE.
8
+ # see https://github.com/Shopify/tapioca/wiki/Manual-Gem-Requires