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.
- checksums.yaml +4 -4
- data/.github/workflows/ci.yml +15 -19
- data/.gitignore +4 -0
- data/CHANGELOG.md +4 -0
- data/Gemfile +1 -0
- data/README.md +1 -585
- data/bin/tapioca +29 -0
- data/clean-architecture.gemspec +4 -4
- data/lib/clean-architecture.rb +4 -1
- data/lib/clean_architecture/adapters/all.rb +1 -1
- data/lib/clean_architecture/adapters/attribute_hash_base.rb +47 -20
- data/lib/clean_architecture/all.rb +1 -4
- data/lib/clean_architecture/builders/abstract_active_record_entity_builder.rb +43 -13
- data/lib/clean_architecture/builders/all.rb +1 -1
- data/lib/clean_architecture/checks/all.rb +1 -1
- data/lib/clean_architecture/checks/authorization.rb +11 -9
- data/lib/clean_architecture/entities/all.rb +1 -3
- data/lib/clean_architecture/entities/failure_details.rb +27 -17
- data/lib/clean_architecture/matchers/all.rb +1 -1
- data/lib/clean_architecture/matchers/use_case_result.rb +9 -3
- data/lib/clean_architecture/queries/all.rb +1 -1
- data/lib/clean_architecture/queries/http_failure_code.rb +8 -20
- data/lib/clean_architecture/queries/http_success_code.rb +14 -7
- data/lib/clean_architecture/serializers/all.rb +1 -1
- data/lib/clean_architecture/serializers/html_response_from_result.rb +7 -1
- data/lib/clean_architecture/serializers/json_response_from_result.rb +4 -4
- data/lib/clean_architecture/version.rb +1 -1
- data/nix/sources.json +14 -0
- data/nix/sources.nix +174 -0
- data/run_ci.sh +7 -0
- data/shell.nix +17 -12
- data/sorbet/config +4 -0
- data/sorbet/{rbi/gems → dry-monads-sorbet}/dry-monads.rbi +176 -94
- data/sorbet/rbi/gems/activemodel@6.1.4.1.rbi +1292 -0
- data/sorbet/rbi/gems/activerecord@6.1.4.1.rbi +8092 -0
- data/sorbet/rbi/gems/activesupport@6.1.4.1.rbi +3531 -0
- data/sorbet/rbi/gems/{ast.rbi → ast@2.4.2.rbi} +28 -22
- data/sorbet/rbi/gems/byebug@11.1.3.rbi +1568 -0
- data/sorbet/rbi/gems/coderay@1.1.3.rbi +1005 -0
- data/sorbet/rbi/gems/concurrent-ruby@1.1.9.rbi +915 -0
- data/sorbet/rbi/gems/diff-lcs@1.4.4.rbi +8 -0
- data/sorbet/rbi/gems/docile@1.4.0.rbi +54 -0
- data/sorbet/rbi/gems/dry-core@0.7.1.rbi +92 -0
- data/sorbet/rbi/gems/dry-equalizer@0.3.0.rbi +28 -0
- data/sorbet/rbi/gems/dry-matcher@0.9.0.rbi +56 -0
- data/sorbet/rbi/gems/dry-monads-sorbet@1.1.7.rbi +41 -0
- data/sorbet/rbi/gems/dry-monads@1.4.0.rbi +697 -0
- data/sorbet/rbi/gems/em-websocket@0.5.2.rbi +8 -0
- data/sorbet/rbi/gems/eventmachine@1.2.7.rbi +45 -0
- data/sorbet/rbi/gems/ffi@1.15.4.rbi +8 -0
- data/sorbet/rbi/gems/formatador@0.3.0.rbi +8 -0
- data/sorbet/rbi/gems/guard-compat@1.2.1.rbi +31 -0
- data/sorbet/rbi/gems/guard-livereload@2.5.2.rbi +8 -0
- data/sorbet/rbi/gems/guard-rspec@4.7.3.rbi +211 -0
- data/sorbet/rbi/gems/guard@2.18.0.rbi +8 -0
- data/sorbet/rbi/gems/http_parser.rb@0.6.0.rbi +8 -0
- data/sorbet/rbi/gems/i18n@1.8.10.rbi +8 -0
- data/sorbet/rbi/gems/listen@3.7.0.rbi +8 -0
- data/sorbet/rbi/gems/lumberjack@1.2.8.rbi +8 -0
- data/sorbet/rbi/gems/method_source@1.0.0.rbi +72 -0
- data/sorbet/rbi/gems/minitest@5.14.4.rbi +344 -0
- data/sorbet/rbi/gems/multi_json@1.15.0.rbi +8 -0
- data/sorbet/rbi/gems/nenv@0.3.0.rbi +8 -0
- data/sorbet/rbi/gems/notiffany@0.1.3.rbi +8 -0
- data/sorbet/rbi/gems/parallel@1.21.0.rbi +113 -0
- data/sorbet/rbi/gems/{parser.rbi → parser@3.0.2.0.rbi} +966 -699
- data/sorbet/rbi/gems/pry-byebug@3.9.0.rbi +461 -0
- data/sorbet/rbi/gems/{pry.rbi → pry@0.13.1.rbi} +2191 -1605
- data/sorbet/rbi/gems/{rainbow.rbi → rainbow@3.0.0.rbi} +90 -55
- data/sorbet/rbi/gems/{rake.rbi → rake@13.0.6.rbi} +578 -427
- data/sorbet/rbi/gems/rb-fsevent@0.11.0.rbi +8 -0
- data/sorbet/rbi/gems/rb-inotify@0.10.1.rbi +8 -0
- data/sorbet/rbi/gems/rb-readline@0.5.5.rbi +884 -0
- data/sorbet/rbi/gems/rbi@0.0.6.rbi +1405 -0
- data/sorbet/rbi/gems/regexp_parser@2.1.1.rbi +1120 -0
- data/sorbet/rbi/gems/{rexml.rbi → rexml@3.2.5.rbi} +562 -479
- data/sorbet/rbi/gems/{rspec-core.rbi → rspec-core@3.10.1.rbi} +2317 -1533
- data/sorbet/rbi/gems/rspec-expectations@3.10.1.rbi +1574 -0
- data/sorbet/rbi/gems/rspec-mocks@3.10.2.rbi +1462 -0
- data/sorbet/rbi/gems/rspec-support@3.10.2.rbi +509 -0
- data/sorbet/rbi/gems/rspec@3.10.0.rbi +38 -0
- data/sorbet/rbi/gems/rubocop-ast@1.12.0.rbi +1938 -0
- data/sorbet/rbi/gems/rubocop-rspec@2.5.0.rbi +1786 -0
- data/sorbet/rbi/gems/rubocop@1.22.1.rbi +13252 -0
- data/sorbet/rbi/gems/ruby-progressbar@1.11.0.rbi +405 -0
- data/sorbet/rbi/gems/shellany@0.0.1.rbi +8 -0
- data/sorbet/rbi/gems/simplecov-html@0.12.3.rbi +89 -0
- data/sorbet/rbi/gems/simplecov@0.21.2.rbi +577 -0
- data/sorbet/rbi/gems/simplecov_json_formatter@0.1.3.rbi +8 -0
- data/sorbet/rbi/gems/sorbet-struct-comparable@1.1.0.rbi +17 -0
- data/sorbet/rbi/gems/spoom@1.1.5.rbi +1241 -0
- data/sorbet/rbi/gems/stackprof@0.2.17.rbi +98 -0
- data/sorbet/rbi/gems/tapioca@0.5.2.rbi +949 -0
- data/sorbet/rbi/gems/thor@1.1.0.rbi +839 -0
- data/sorbet/rbi/gems/tzinfo@2.0.4.rbi +8 -0
- data/sorbet/rbi/gems/unicode-display_width@2.1.0.rbi +26 -0
- data/sorbet/rbi/gems/unparser@0.6.0.rbi +8 -0
- data/sorbet/rbi/gems/zeitwerk@2.4.2.rbi +8 -0
- data/sorbet/tapioca/require.rb +9 -0
- metadata +88 -91
- data/.ruby-version +0 -1
- data/lib/clean_architecture/entities/targeted_parameters.rb +0 -24
- data/lib/clean_architecture/entities/untargeted_parameters.rb +0 -21
- data/lib/clean_architecture/interfaces/all.rb +0 -12
- data/lib/clean_architecture/interfaces/authorization_parameters.rb +0 -19
- data/lib/clean_architecture/interfaces/base_parameters.rb +0 -24
- data/lib/clean_architecture/interfaces/jsonable.rb +0 -16
- data/lib/clean_architecture/interfaces/targeted_parameters.rb +0 -19
- data/lib/clean_architecture/interfaces/use_case.rb +0 -20
- data/lib/clean_architecture/interfaces/use_case_actor.rb +0 -20
- data/lib/clean_architecture/interfaces/use_case_target.rb +0 -24
- data/lib/clean_architecture/types.rb +0 -8
- data/lib/clean_architecture/use_cases/abstract_use_case.rb +0 -63
- data/lib/clean_architecture/use_cases/all.rb +0 -10
- data/lib/clean_architecture/use_cases/contract.rb +0 -9
- data/lib/clean_architecture/use_cases/errors.rb +0 -58
- data/lib/clean_architecture/use_cases/form.rb +0 -116
- data/lib/clean_architecture/use_cases/parameters.rb +0 -43
- data/sorbet/rbi/gems/activemodel.rbi +0 -75
- data/sorbet/rbi/gems/activesupport.rbi +0 -440
- data/sorbet/rbi/gems/byebug.rbi +0 -1040
- data/sorbet/rbi/gems/coderay.rbi +0 -92
- data/sorbet/rbi/gems/concurrent-ruby.rbi +0 -1586
- data/sorbet/rbi/gems/docile.rbi +0 -32
- data/sorbet/rbi/gems/dry-configurable.rbi +0 -139
- data/sorbet/rbi/gems/dry-container.rbi +0 -89
- data/sorbet/rbi/gems/dry-core.rbi +0 -80
- data/sorbet/rbi/gems/dry-equalizer.rbi +0 -26
- data/sorbet/rbi/gems/dry-inflector.rbi +0 -73
- data/sorbet/rbi/gems/dry-initializer.rbi +0 -209
- data/sorbet/rbi/gems/dry-logic.rbi +0 -305
- data/sorbet/rbi/gems/dry-matcher.rbi +0 -34
- data/sorbet/rbi/gems/dry-schema.rbi +0 -786
- data/sorbet/rbi/gems/dry-struct.rbi +0 -137
- data/sorbet/rbi/gems/dry-types.rbi +0 -709
- data/sorbet/rbi/gems/dry-validation.rbi +0 -288
- data/sorbet/rbi/gems/duckface-interfaces.rbi +0 -94
- data/sorbet/rbi/gems/i18n.rbi +0 -133
- data/sorbet/rbi/gems/jaro_winkler.rbi +0 -15
- data/sorbet/rbi/gems/method_source.rbi +0 -64
- data/sorbet/rbi/gems/parallel.rbi +0 -82
- data/sorbet/rbi/gems/pry-byebug.rbi +0 -155
- data/sorbet/rbi/gems/rb-readline.rbi +0 -767
- data/sorbet/rbi/gems/rspec-expectations.rbi +0 -398
- data/sorbet/rbi/gems/rspec-mocks.rbi +0 -816
- data/sorbet/rbi/gems/rspec-support.rbi +0 -271
- data/sorbet/rbi/gems/rspec.rbi +0 -15
- data/sorbet/rbi/gems/rubocop-rspec.rbi +0 -922
- data/sorbet/rbi/gems/rubocop.rbi +0 -7319
- data/sorbet/rbi/gems/ruby-progressbar.rbi +0 -305
- data/sorbet/rbi/gems/simplecov-html.rbi +0 -35
- data/sorbet/rbi/gems/simplecov.rbi +0 -361
- data/sorbet/rbi/gems/stackprof.rbi +0 -52
- data/sorbet/rbi/gems/unicode-display_width.rbi +0 -17
- data/sorbet/rbi/hidden-definitions/errors.txt +0 -8580
- data/sorbet/rbi/hidden-definitions/hidden.rbi +0 -17036
- data/sorbet/rbi/sorbet-typed/lib/activemodel/all/activemodel.rbi +0 -452
- data/sorbet/rbi/sorbet-typed/lib/activesupport/>=6.0.0.rc1/activesupport.rbi +0 -23
- data/sorbet/rbi/sorbet-typed/lib/activesupport/all/activesupport.rbi +0 -979
- data/sorbet/rbi/sorbet-typed/lib/bundler/all/bundler.rbi +0 -8684
- data/sorbet/rbi/sorbet-typed/lib/minitest/all/minitest.rbi +0 -108
- data/sorbet/rbi/sorbet-typed/lib/rainbow/all/rainbow.rbi +0 -276
- data/sorbet/rbi/sorbet-typed/lib/ruby/all/gem.rbi +0 -4222
- data/sorbet/rbi/sorbet-typed/lib/ruby/all/open3.rbi +0 -111
- data/sorbet/rbi/sorbet-typed/lib/ruby/all/resolv.rbi +0 -543
- data/sorbet/rbi/todo.rbi +0 -10
@@ -0,0 +1,8 @@
|
|
1
|
+
# DO NOT EDIT MANUALLY
|
2
|
+
# This is an autogenerated file for types exported from the `tzinfo` gem.
|
3
|
+
# Please instead update this file by running `bin/tapioca gem tzinfo`.
|
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,26 @@
|
|
1
|
+
# DO NOT EDIT MANUALLY
|
2
|
+
# This is an autogenerated file for types exported from the `unicode-display_width` gem.
|
3
|
+
# Please instead update this file by running `bin/tapioca gem unicode-display_width`.
|
4
|
+
|
5
|
+
# typed: true
|
6
|
+
|
7
|
+
module Unicode; end
|
8
|
+
|
9
|
+
class Unicode::DisplayWidth
|
10
|
+
def initialize(ambiguous: T.unsafe(nil), overwrite: T.unsafe(nil), emoji: T.unsafe(nil)); end
|
11
|
+
|
12
|
+
def get_config(**kwargs); end
|
13
|
+
def of(string, **kwargs); end
|
14
|
+
|
15
|
+
class << self
|
16
|
+
def emoji_extra_width_of(string, ambiguous = T.unsafe(nil), overwrite = T.unsafe(nil), _ = T.unsafe(nil)); end
|
17
|
+
def of(string, ambiguous = T.unsafe(nil), overwrite = T.unsafe(nil), options = T.unsafe(nil)); end
|
18
|
+
end
|
19
|
+
end
|
20
|
+
|
21
|
+
Unicode::DisplayWidth::DATA_DIRECTORY = T.let(T.unsafe(nil), String)
|
22
|
+
Unicode::DisplayWidth::DEPTHS = T.let(T.unsafe(nil), Array)
|
23
|
+
Unicode::DisplayWidth::INDEX = T.let(T.unsafe(nil), Array)
|
24
|
+
Unicode::DisplayWidth::INDEX_FILENAME = T.let(T.unsafe(nil), String)
|
25
|
+
Unicode::DisplayWidth::UNICODE_VERSION = T.let(T.unsafe(nil), String)
|
26
|
+
Unicode::DisplayWidth::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 `unparser` gem.
|
3
|
+
# Please instead update this file by running `bin/tapioca gem unparser`.
|
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,8 @@
|
|
1
|
+
# DO NOT EDIT MANUALLY
|
2
|
+
# This is an autogenerated file for types exported from the `zeitwerk` gem.
|
3
|
+
# Please instead update this file by running `bin/tapioca gem zeitwerk`.
|
4
|
+
|
5
|
+
# typed: true
|
6
|
+
|
7
|
+
# THIS IS AN EMPTY RBI FILE.
|
8
|
+
# see https://github.com/Shopify/tapioca/wiki/Manual-Gem-Requires
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: clean-architecture
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version:
|
4
|
+
version: 6.0.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Bellroy Tech Team
|
8
|
-
autorequire:
|
8
|
+
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 1980-01-01 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: activemodel
|
@@ -39,21 +39,21 @@ dependencies:
|
|
39
39
|
- !ruby/object:Gem::Version
|
40
40
|
version: '5'
|
41
41
|
- !ruby/object:Gem::Dependency
|
42
|
-
name:
|
42
|
+
name: activerecord
|
43
43
|
requirement: !ruby/object:Gem::Requirement
|
44
44
|
requirements:
|
45
45
|
- - ">="
|
46
46
|
- !ruby/object:Gem::Version
|
47
|
-
version: '
|
47
|
+
version: '5'
|
48
48
|
type: :runtime
|
49
49
|
prerelease: false
|
50
50
|
version_requirements: !ruby/object:Gem::Requirement
|
51
51
|
requirements:
|
52
52
|
- - ">="
|
53
53
|
- !ruby/object:Gem::Version
|
54
|
-
version: '
|
54
|
+
version: '5'
|
55
55
|
- !ruby/object:Gem::Dependency
|
56
|
-
name: dry-
|
56
|
+
name: dry-matcher
|
57
57
|
requirement: !ruby/object:Gem::Requirement
|
58
58
|
requirements:
|
59
59
|
- - ">="
|
@@ -67,7 +67,7 @@ dependencies:
|
|
67
67
|
- !ruby/object:Gem::Version
|
68
68
|
version: '0'
|
69
69
|
- !ruby/object:Gem::Dependency
|
70
|
-
name: dry-
|
70
|
+
name: dry-monads
|
71
71
|
requirement: !ruby/object:Gem::Requirement
|
72
72
|
requirements:
|
73
73
|
- - ">="
|
@@ -81,7 +81,7 @@ dependencies:
|
|
81
81
|
- !ruby/object:Gem::Version
|
82
82
|
version: '0'
|
83
83
|
- !ruby/object:Gem::Dependency
|
84
|
-
name: dry-
|
84
|
+
name: dry-monads-sorbet
|
85
85
|
requirement: !ruby/object:Gem::Requirement
|
86
86
|
requirements:
|
87
87
|
- - ">="
|
@@ -95,21 +95,21 @@ dependencies:
|
|
95
95
|
- !ruby/object:Gem::Version
|
96
96
|
version: '0'
|
97
97
|
- !ruby/object:Gem::Dependency
|
98
|
-
name:
|
98
|
+
name: sorbet
|
99
99
|
requirement: !ruby/object:Gem::Requirement
|
100
100
|
requirements:
|
101
101
|
- - ">="
|
102
102
|
- !ruby/object:Gem::Version
|
103
|
-
version:
|
103
|
+
version: '0'
|
104
104
|
type: :runtime
|
105
105
|
prerelease: false
|
106
106
|
version_requirements: !ruby/object:Gem::Requirement
|
107
107
|
requirements:
|
108
108
|
- - ">="
|
109
109
|
- !ruby/object:Gem::Version
|
110
|
-
version:
|
110
|
+
version: '0'
|
111
111
|
- !ruby/object:Gem::Dependency
|
112
|
-
name:
|
112
|
+
name: sorbet-runtime
|
113
113
|
requirement: !ruby/object:Gem::Requirement
|
114
114
|
requirements:
|
115
115
|
- - ">="
|
@@ -123,7 +123,7 @@ dependencies:
|
|
123
123
|
- !ruby/object:Gem::Version
|
124
124
|
version: '0'
|
125
125
|
- !ruby/object:Gem::Dependency
|
126
|
-
name: sorbet-
|
126
|
+
name: sorbet-struct-comparable
|
127
127
|
requirement: !ruby/object:Gem::Requirement
|
128
128
|
requirements:
|
129
129
|
- - ">="
|
@@ -192,12 +192,12 @@ files:
|
|
192
192
|
- ".reek.yml"
|
193
193
|
- ".rspec"
|
194
194
|
- ".rubocop.yml"
|
195
|
-
- ".ruby-version"
|
196
195
|
- CHANGELOG.md
|
197
196
|
- Gemfile
|
198
197
|
- Guardfile
|
199
198
|
- README.md
|
200
199
|
- Rakefile
|
200
|
+
- bin/tapioca
|
201
201
|
- clean-architecture.gemspec
|
202
202
|
- generate_require_files.rb
|
203
203
|
- lib/clean-architecture.rb
|
@@ -210,16 +210,6 @@ files:
|
|
210
210
|
- lib/clean_architecture/checks/authorization.rb
|
211
211
|
- lib/clean_architecture/entities/all.rb
|
212
212
|
- lib/clean_architecture/entities/failure_details.rb
|
213
|
-
- lib/clean_architecture/entities/targeted_parameters.rb
|
214
|
-
- lib/clean_architecture/entities/untargeted_parameters.rb
|
215
|
-
- lib/clean_architecture/interfaces/all.rb
|
216
|
-
- lib/clean_architecture/interfaces/authorization_parameters.rb
|
217
|
-
- lib/clean_architecture/interfaces/base_parameters.rb
|
218
|
-
- lib/clean_architecture/interfaces/jsonable.rb
|
219
|
-
- lib/clean_architecture/interfaces/targeted_parameters.rb
|
220
|
-
- lib/clean_architecture/interfaces/use_case.rb
|
221
|
-
- lib/clean_architecture/interfaces/use_case_actor.rb
|
222
|
-
- lib/clean_architecture/interfaces/use_case_target.rb
|
223
213
|
- lib/clean_architecture/matchers/all.rb
|
224
214
|
- lib/clean_architecture/matchers/use_case_result.rb
|
225
215
|
- lib/clean_architecture/queries/all.rb
|
@@ -228,77 +218,84 @@ files:
|
|
228
218
|
- lib/clean_architecture/serializers/all.rb
|
229
219
|
- lib/clean_architecture/serializers/html_response_from_result.rb
|
230
220
|
- lib/clean_architecture/serializers/json_response_from_result.rb
|
231
|
-
- lib/clean_architecture/types.rb
|
232
|
-
- lib/clean_architecture/use_cases/abstract_use_case.rb
|
233
|
-
- lib/clean_architecture/use_cases/all.rb
|
234
|
-
- lib/clean_architecture/use_cases/contract.rb
|
235
|
-
- lib/clean_architecture/use_cases/errors.rb
|
236
|
-
- lib/clean_architecture/use_cases/form.rb
|
237
|
-
- lib/clean_architecture/use_cases/parameters.rb
|
238
221
|
- lib/clean_architecture/version.rb
|
222
|
+
- nix/sources.json
|
223
|
+
- nix/sources.nix
|
224
|
+
- run_ci.sh
|
239
225
|
- shell.nix
|
240
226
|
- sorbet/config
|
241
|
-
- sorbet/
|
242
|
-
- sorbet/rbi/gems/
|
243
|
-
- sorbet/rbi/gems/
|
244
|
-
- sorbet/rbi/gems/
|
245
|
-
- sorbet/rbi/gems/
|
246
|
-
- sorbet/rbi/gems/
|
247
|
-
- sorbet/rbi/gems/
|
248
|
-
- sorbet/rbi/gems/
|
249
|
-
- sorbet/rbi/gems/
|
250
|
-
- sorbet/rbi/gems/
|
251
|
-
- sorbet/rbi/gems/dry-
|
252
|
-
- sorbet/rbi/gems/dry-
|
253
|
-
- sorbet/rbi/gems/dry-
|
254
|
-
- sorbet/rbi/gems/dry-
|
255
|
-
- sorbet/rbi/gems/dry-
|
256
|
-
- sorbet/rbi/gems/
|
257
|
-
- sorbet/rbi/gems/
|
258
|
-
- sorbet/rbi/gems/
|
259
|
-
- sorbet/rbi/gems/
|
260
|
-
- sorbet/rbi/gems/
|
261
|
-
- sorbet/rbi/gems/
|
262
|
-
- sorbet/rbi/gems/
|
263
|
-
- sorbet/rbi/gems/
|
264
|
-
- sorbet/rbi/gems/
|
265
|
-
- sorbet/rbi/gems/
|
266
|
-
- sorbet/rbi/gems/
|
267
|
-
- sorbet/rbi/gems/
|
268
|
-
- sorbet/rbi/gems/
|
269
|
-
- sorbet/rbi/gems/
|
270
|
-
- sorbet/rbi/gems/
|
271
|
-
- sorbet/rbi/gems/
|
272
|
-
- sorbet/rbi/gems/
|
273
|
-
- sorbet/rbi/gems/
|
274
|
-
- sorbet/rbi/gems/
|
275
|
-
- sorbet/rbi/gems/
|
276
|
-
- sorbet/rbi/gems/
|
277
|
-
- sorbet/rbi/gems/
|
278
|
-
- sorbet/rbi/gems/
|
279
|
-
- sorbet/rbi/gems/
|
280
|
-
- sorbet/rbi/gems/
|
281
|
-
- sorbet/rbi/gems/
|
282
|
-
- sorbet/rbi/gems/
|
283
|
-
- sorbet/rbi/gems/
|
284
|
-
- sorbet/rbi/gems/
|
285
|
-
- sorbet/rbi/
|
286
|
-
- sorbet/rbi/
|
287
|
-
- sorbet/rbi/
|
288
|
-
- sorbet/rbi/
|
289
|
-
- sorbet/rbi/
|
290
|
-
- sorbet/rbi/
|
291
|
-
- sorbet/rbi/
|
292
|
-
- sorbet/rbi/
|
293
|
-
- sorbet/rbi/
|
294
|
-
- sorbet/rbi/
|
295
|
-
- sorbet/rbi/
|
296
|
-
- sorbet/rbi/
|
227
|
+
- sorbet/dry-monads-sorbet/dry-monads.rbi
|
228
|
+
- sorbet/rbi/gems/activemodel@6.1.4.1.rbi
|
229
|
+
- sorbet/rbi/gems/activerecord@6.1.4.1.rbi
|
230
|
+
- sorbet/rbi/gems/activesupport@6.1.4.1.rbi
|
231
|
+
- sorbet/rbi/gems/ast@2.4.2.rbi
|
232
|
+
- sorbet/rbi/gems/byebug@11.1.3.rbi
|
233
|
+
- sorbet/rbi/gems/coderay@1.1.3.rbi
|
234
|
+
- sorbet/rbi/gems/concurrent-ruby@1.1.9.rbi
|
235
|
+
- sorbet/rbi/gems/diff-lcs@1.4.4.rbi
|
236
|
+
- sorbet/rbi/gems/docile@1.4.0.rbi
|
237
|
+
- sorbet/rbi/gems/dry-core@0.7.1.rbi
|
238
|
+
- sorbet/rbi/gems/dry-equalizer@0.3.0.rbi
|
239
|
+
- sorbet/rbi/gems/dry-matcher@0.9.0.rbi
|
240
|
+
- sorbet/rbi/gems/dry-monads-sorbet@1.1.7.rbi
|
241
|
+
- sorbet/rbi/gems/dry-monads@1.4.0.rbi
|
242
|
+
- sorbet/rbi/gems/em-websocket@0.5.2.rbi
|
243
|
+
- sorbet/rbi/gems/eventmachine@1.2.7.rbi
|
244
|
+
- sorbet/rbi/gems/ffi@1.15.4.rbi
|
245
|
+
- sorbet/rbi/gems/formatador@0.3.0.rbi
|
246
|
+
- sorbet/rbi/gems/guard-compat@1.2.1.rbi
|
247
|
+
- sorbet/rbi/gems/guard-livereload@2.5.2.rbi
|
248
|
+
- sorbet/rbi/gems/guard-rspec@4.7.3.rbi
|
249
|
+
- sorbet/rbi/gems/guard@2.18.0.rbi
|
250
|
+
- sorbet/rbi/gems/http_parser.rb@0.6.0.rbi
|
251
|
+
- sorbet/rbi/gems/i18n@1.8.10.rbi
|
252
|
+
- sorbet/rbi/gems/listen@3.7.0.rbi
|
253
|
+
- sorbet/rbi/gems/lumberjack@1.2.8.rbi
|
254
|
+
- sorbet/rbi/gems/method_source@1.0.0.rbi
|
255
|
+
- sorbet/rbi/gems/minitest@5.14.4.rbi
|
256
|
+
- sorbet/rbi/gems/multi_json@1.15.0.rbi
|
257
|
+
- sorbet/rbi/gems/nenv@0.3.0.rbi
|
258
|
+
- sorbet/rbi/gems/notiffany@0.1.3.rbi
|
259
|
+
- sorbet/rbi/gems/parallel@1.21.0.rbi
|
260
|
+
- sorbet/rbi/gems/parser@3.0.2.0.rbi
|
261
|
+
- sorbet/rbi/gems/pry-byebug@3.9.0.rbi
|
262
|
+
- sorbet/rbi/gems/pry@0.13.1.rbi
|
263
|
+
- sorbet/rbi/gems/rainbow@3.0.0.rbi
|
264
|
+
- sorbet/rbi/gems/rake@13.0.6.rbi
|
265
|
+
- sorbet/rbi/gems/rb-fsevent@0.11.0.rbi
|
266
|
+
- sorbet/rbi/gems/rb-inotify@0.10.1.rbi
|
267
|
+
- sorbet/rbi/gems/rb-readline@0.5.5.rbi
|
268
|
+
- sorbet/rbi/gems/rbi@0.0.6.rbi
|
269
|
+
- sorbet/rbi/gems/regexp_parser@2.1.1.rbi
|
270
|
+
- sorbet/rbi/gems/rexml@3.2.5.rbi
|
271
|
+
- sorbet/rbi/gems/rspec-core@3.10.1.rbi
|
272
|
+
- sorbet/rbi/gems/rspec-expectations@3.10.1.rbi
|
273
|
+
- sorbet/rbi/gems/rspec-mocks@3.10.2.rbi
|
274
|
+
- sorbet/rbi/gems/rspec-support@3.10.2.rbi
|
275
|
+
- sorbet/rbi/gems/rspec@3.10.0.rbi
|
276
|
+
- sorbet/rbi/gems/rubocop-ast@1.12.0.rbi
|
277
|
+
- sorbet/rbi/gems/rubocop-rspec@2.5.0.rbi
|
278
|
+
- sorbet/rbi/gems/rubocop@1.22.1.rbi
|
279
|
+
- sorbet/rbi/gems/ruby-progressbar@1.11.0.rbi
|
280
|
+
- sorbet/rbi/gems/shellany@0.0.1.rbi
|
281
|
+
- sorbet/rbi/gems/simplecov-html@0.12.3.rbi
|
282
|
+
- sorbet/rbi/gems/simplecov@0.21.2.rbi
|
283
|
+
- sorbet/rbi/gems/simplecov_json_formatter@0.1.3.rbi
|
284
|
+
- sorbet/rbi/gems/sorbet-struct-comparable@1.1.0.rbi
|
285
|
+
- sorbet/rbi/gems/spoom@1.1.5.rbi
|
286
|
+
- sorbet/rbi/gems/stackprof@0.2.17.rbi
|
287
|
+
- sorbet/rbi/gems/tapioca@0.5.2.rbi
|
288
|
+
- sorbet/rbi/gems/thor@1.1.0.rbi
|
289
|
+
- sorbet/rbi/gems/tzinfo@2.0.4.rbi
|
290
|
+
- sorbet/rbi/gems/unicode-display_width@2.1.0.rbi
|
291
|
+
- sorbet/rbi/gems/unparser@0.6.0.rbi
|
292
|
+
- sorbet/rbi/gems/zeitwerk@2.4.2.rbi
|
293
|
+
- sorbet/tapioca/require.rb
|
297
294
|
homepage: https://bellroy.com
|
298
295
|
licenses: []
|
299
296
|
metadata:
|
300
297
|
allowed_push_host: https://rubygems.org
|
301
|
-
post_install_message:
|
298
|
+
post_install_message:
|
302
299
|
rdoc_options: []
|
303
300
|
require_paths:
|
304
301
|
- lib
|
@@ -313,8 +310,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
313
310
|
- !ruby/object:Gem::Version
|
314
311
|
version: '0'
|
315
312
|
requirements: []
|
316
|
-
rubygems_version: 3.
|
317
|
-
signing_key:
|
313
|
+
rubygems_version: 3.2.16
|
314
|
+
signing_key:
|
318
315
|
specification_version: 4
|
319
316
|
summary: Bellroy Clean Architecture Framework
|
320
317
|
test_files: []
|
data/.ruby-version
DELETED
@@ -1 +0,0 @@
|
|
1
|
-
2.6.6
|
@@ -1,24 +0,0 @@
|
|
1
|
-
# typed: true
|
2
|
-
# frozen_string_literal: true
|
3
|
-
|
4
|
-
require 'clean_architecture/interfaces/targeted_parameters'
|
5
|
-
require 'clean_architecture/interfaces/authorization_parameters'
|
6
|
-
|
7
|
-
module CleanArchitecture
|
8
|
-
module Entities
|
9
|
-
class TargetedParameters
|
10
|
-
attr_reader :actor, :extra_parameters_hash, :gateway, :target, :settings
|
11
|
-
|
12
|
-
implements_interface Interfaces::TargetedParameters
|
13
|
-
implements_interface Interfaces::AuthorizationParameters
|
14
|
-
|
15
|
-
def initialize(actor, target, extra_parameters_hash, gateway, settings)
|
16
|
-
@actor = actor
|
17
|
-
@target = target
|
18
|
-
@extra_parameters_hash = extra_parameters_hash
|
19
|
-
@gateway = gateway
|
20
|
-
@settings = settings
|
21
|
-
end
|
22
|
-
end
|
23
|
-
end
|
24
|
-
end
|
@@ -1,21 +0,0 @@
|
|
1
|
-
# typed: true
|
2
|
-
# frozen_string_literal: true
|
3
|
-
|
4
|
-
require 'clean_architecture/interfaces/base_parameters'
|
5
|
-
|
6
|
-
module CleanArchitecture
|
7
|
-
module Entities
|
8
|
-
class UntargetedParameters
|
9
|
-
attr_reader :actor, :extra_parameters_hash, :gateway, :settings
|
10
|
-
|
11
|
-
implements_interface Interfaces::BaseParameters
|
12
|
-
|
13
|
-
def initialize(actor, extra_parameters_hash, gateway, settings)
|
14
|
-
@actor = actor
|
15
|
-
@extra_parameters_hash = extra_parameters_hash
|
16
|
-
@gateway = gateway
|
17
|
-
@settings = settings
|
18
|
-
end
|
19
|
-
end
|
20
|
-
end
|
21
|
-
end
|
@@ -1,12 +0,0 @@
|
|
1
|
-
# typed: strong
|
2
|
-
# frozen_string_literal: true
|
3
|
-
|
4
|
-
# THIS FILE IS AUTOGENERATED AND SHOULD NOT BE MANUALLY MODIFIED
|
5
|
-
|
6
|
-
require 'clean_architecture/interfaces/authorization_parameters'
|
7
|
-
require 'clean_architecture/interfaces/base_parameters'
|
8
|
-
require 'clean_architecture/interfaces/jsonable'
|
9
|
-
require 'clean_architecture/interfaces/targeted_parameters'
|
10
|
-
require 'clean_architecture/interfaces/use_case'
|
11
|
-
require 'clean_architecture/interfaces/use_case_actor'
|
12
|
-
require 'clean_architecture/interfaces/use_case_target'
|
@@ -1,19 +0,0 @@
|
|
1
|
-
# typed: false
|
2
|
-
# frozen_string_literal: true
|
3
|
-
|
4
|
-
require 'clean_architecture/interfaces/base_parameters'
|
5
|
-
require 'duckface'
|
6
|
-
|
7
|
-
module CleanArchitecture
|
8
|
-
module Interfaces
|
9
|
-
module AuthorizationParameters
|
10
|
-
extend Duckface::ActsAsInterface
|
11
|
-
|
12
|
-
include BaseParameters
|
13
|
-
|
14
|
-
def actor
|
15
|
-
raise NotImplementedError
|
16
|
-
end
|
17
|
-
end
|
18
|
-
end
|
19
|
-
end
|
@@ -1,24 +0,0 @@
|
|
1
|
-
# typed: false
|
2
|
-
# frozen_string_literal: true
|
3
|
-
|
4
|
-
require 'duckface'
|
5
|
-
|
6
|
-
module CleanArchitecture
|
7
|
-
module Interfaces
|
8
|
-
module BaseParameters
|
9
|
-
extend Duckface::ActsAsInterface
|
10
|
-
|
11
|
-
def extra_parameters_hash
|
12
|
-
raise NotImplementedError
|
13
|
-
end
|
14
|
-
|
15
|
-
def gateway
|
16
|
-
raise NotImplementedError
|
17
|
-
end
|
18
|
-
|
19
|
-
def settings
|
20
|
-
raise NotImplementedError
|
21
|
-
end
|
22
|
-
end
|
23
|
-
end
|
24
|
-
end
|
@@ -1,19 +0,0 @@
|
|
1
|
-
# typed: false
|
2
|
-
# frozen_string_literal: true
|
3
|
-
|
4
|
-
require 'clean_architecture/interfaces/base_parameters'
|
5
|
-
require 'duckface'
|
6
|
-
|
7
|
-
module CleanArchitecture
|
8
|
-
module Interfaces
|
9
|
-
module TargetedParameters
|
10
|
-
extend Duckface::ActsAsInterface
|
11
|
-
|
12
|
-
include BaseParameters
|
13
|
-
|
14
|
-
def target
|
15
|
-
raise NotImplementedError
|
16
|
-
end
|
17
|
-
end
|
18
|
-
end
|
19
|
-
end
|
@@ -1,20 +0,0 @@
|
|
1
|
-
# typed: false
|
2
|
-
# frozen_string_literal: true
|
3
|
-
|
4
|
-
require 'duckface'
|
5
|
-
|
6
|
-
module CleanArchitecture
|
7
|
-
module Interfaces
|
8
|
-
module UseCase
|
9
|
-
extend Duckface::ActsAsInterface
|
10
|
-
|
11
|
-
def initialize(_parameters)
|
12
|
-
raise NotImplementedError
|
13
|
-
end
|
14
|
-
|
15
|
-
def result
|
16
|
-
raise NotImplementedError
|
17
|
-
end
|
18
|
-
end
|
19
|
-
end
|
20
|
-
end
|
@@ -1,20 +0,0 @@
|
|
1
|
-
# typed: false
|
2
|
-
# frozen_string_literal: true
|
3
|
-
|
4
|
-
require 'duckface'
|
5
|
-
|
6
|
-
module CleanArchitecture
|
7
|
-
module Interfaces
|
8
|
-
module UseCaseActor
|
9
|
-
extend Duckface::ActsAsInterface
|
10
|
-
|
11
|
-
def authorized?(_action, _target)
|
12
|
-
raise NotImplementedError
|
13
|
-
end
|
14
|
-
|
15
|
-
def user_identifier
|
16
|
-
raise NotImplementedError
|
17
|
-
end
|
18
|
-
end
|
19
|
-
end
|
20
|
-
end
|
@@ -1,24 +0,0 @@
|
|
1
|
-
# typed: false
|
2
|
-
# frozen_string_literal: true
|
3
|
-
|
4
|
-
require 'duckface'
|
5
|
-
|
6
|
-
module CleanArchitecture
|
7
|
-
module Interfaces
|
8
|
-
module UseCaseTarget
|
9
|
-
extend Duckface::ActsAsInterface
|
10
|
-
|
11
|
-
def attribute_hash
|
12
|
-
raise NotImplementedError
|
13
|
-
end
|
14
|
-
|
15
|
-
def identifier
|
16
|
-
raise NotImplementedError
|
17
|
-
end
|
18
|
-
|
19
|
-
def type_name
|
20
|
-
raise NotImplementedError
|
21
|
-
end
|
22
|
-
end
|
23
|
-
end
|
24
|
-
end
|
@@ -1,63 +0,0 @@
|
|
1
|
-
# typed: true
|
2
|
-
# frozen_string_literal: true
|
3
|
-
|
4
|
-
require 'dry/monads/result'
|
5
|
-
require 'dry/validation'
|
6
|
-
require 'dry/matcher/result_matcher'
|
7
|
-
require 'clean_architecture/use_cases/errors'
|
8
|
-
require 'clean_architecture/use_cases/parameters'
|
9
|
-
require 'clean_architecture/use_cases/contract'
|
10
|
-
require 'clean_architecture/entities/failure_details'
|
11
|
-
require 'forwardable'
|
12
|
-
|
13
|
-
module CleanArchitecture
|
14
|
-
module UseCases
|
15
|
-
class AbstractUseCase
|
16
|
-
extend Forwardable
|
17
|
-
|
18
|
-
@contract = nil
|
19
|
-
|
20
|
-
def self.contract(base_contract = Contract)
|
21
|
-
@contract ||= begin
|
22
|
-
Class.new(base_contract, &Proc.new)
|
23
|
-
end
|
24
|
-
end
|
25
|
-
|
26
|
-
def self.parameters(params)
|
27
|
-
raise 'You must define a contract first' if @contract.nil?
|
28
|
-
|
29
|
-
context = params.fetch(:context, {})
|
30
|
-
Parameters.new(
|
31
|
-
context,
|
32
|
-
contract.new(context).call(params)
|
33
|
-
)
|
34
|
-
end
|
35
|
-
|
36
|
-
def initialize(params)
|
37
|
-
@params = params
|
38
|
-
end
|
39
|
-
|
40
|
-
def result
|
41
|
-
raise NotImplementedError
|
42
|
-
end
|
43
|
-
|
44
|
-
private
|
45
|
-
|
46
|
-
DEFAULT_FAILURE_TYPE = 'error'
|
47
|
-
|
48
|
-
def fail_with_error_message(message, failure_type = DEFAULT_FAILURE_TYPE)
|
49
|
-
new_errors = Errors.new(nil, failure_type)
|
50
|
-
new_errors.add(:base, message)
|
51
|
-
Dry::Monads::Failure(new_errors)
|
52
|
-
end
|
53
|
-
|
54
|
-
def result_of_validating_params
|
55
|
-
@params.to_monad
|
56
|
-
end
|
57
|
-
|
58
|
-
def context(key)
|
59
|
-
@params.context(key)
|
60
|
-
end
|
61
|
-
end
|
62
|
-
end
|
63
|
-
end
|
@@ -1,10 +0,0 @@
|
|
1
|
-
# typed: strong
|
2
|
-
# frozen_string_literal: true
|
3
|
-
|
4
|
-
# THIS FILE IS AUTOGENERATED AND SHOULD NOT BE MANUALLY MODIFIED
|
5
|
-
|
6
|
-
require 'clean_architecture/use_cases/abstract_use_case'
|
7
|
-
require 'clean_architecture/use_cases/contract'
|
8
|
-
require 'clean_architecture/use_cases/errors'
|
9
|
-
require 'clean_architecture/use_cases/form'
|
10
|
-
require 'clean_architecture/use_cases/parameters'
|