trailblazer-endpoint 0.0.10 → 0.0.11

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 57e2396200f20eb000c87f7b740ea31dd41c9db79ea6d3ba02bdb2e85e0b8ba0
4
- data.tar.gz: 68fc7c66e7fdebe16cf6a347c0d7104efb520fcf2fc8aabcafd79914df5492d9
3
+ metadata.gz: ee7450a17e47e6bb1b31145021159a23d95ae031686a7457988879435f318cde
4
+ data.tar.gz: c1777129764926dbbe9baade928d80ec38af237596015d87d85a328e7ffb0ae0
5
5
  SHA512:
6
- metadata.gz: 93f8b8b7e0fad7959cec6ac2f8b11955867ccc6276ee511748beb072df2f66e00ccb648f082c30e7f776cf3736442688d0334e9c59ea95c06d96b6b26ea6f6ec
7
- data.tar.gz: 200822214d8146292f64390c63fb3104386496b2326e6fd026d61bd477592fb6bc86d3a3acb48c8e9acd279ac5375f8164da816c6744e6ec5e901ec9d3edf718
6
+ metadata.gz: 4fac1c090644f9981b01396978d0664ec543af839315947689f5a14816b4c373ee20d8a5393eeffe627ce908479be1666810205e5fc604f8eed845ee313defa5
7
+ data.tar.gz: 5ef9f14ed31f5fb5028482a74ce2690ea7853b3bd9543ac380b5f3bc21edf9ad7384bcf761b5b334409f1d93c41ca75d245d8cc05c05fc9d82b0e4bfd6624684
data/CHANGES.md CHANGED
@@ -1,3 +1,8 @@
1
+ # 0.0.11
2
+
3
+ * Require `trailblazer-activity-dsl-linear` >= 1.0.0.
4
+ * Use `#terminus` instead of clumsily adding termini to `Protocol` and `Adapter`.
5
+
1
6
  # 0.0.10
2
7
 
3
8
  * Require `dsl-linear` >= 0.5.0.
data/Gemfile CHANGED
@@ -8,7 +8,7 @@ gem "multi_json"
8
8
  gem "minitest-line"
9
9
 
10
10
  # gem "trailblazer-activity", path: "../trailblazer-activity"
11
- # gem "trailblazer-activity-dsl-linear", path: "../trailblazer-activity-dsl-linear"
11
+ gem "trailblazer-activity-dsl-linear", path: "../trailblazer-activity-dsl-linear"
12
12
  # gem "trailblazer-operation", path: "../operation"
13
13
 
14
14
  gem "dry-validation"
@@ -15,15 +15,8 @@ module Trailblazer
15
15
  _403_path = ->(*) { step :_403_status }
16
16
  # _422_path = ->(*) { step :_422_status } # TODO: this is currently represented by the {failure} track.
17
17
 
18
- # FIXME: is this really the only way to add an {End} to all this?
19
- @state.update_sequence do |sequence:, **|
20
- sequence = Activity::Path::DSL.append_end(sequence, task: Activity::End.new(semantic: :fail_fast), magnetic_to: :fail_fast, id: "End.fail_fast") # TODO: rename to {protocol_failure}
21
- sequence = Activity::Path::DSL.append_end(sequence, task: Activity::End.new(semantic: :failure), magnetic_to: :failure, id: "End.failure")
22
-
23
- recompile_activity!(sequence)
24
-
25
- sequence
26
- end
18
+ terminus :fail_fast
19
+ terminus :failure
27
20
 
28
21
  step Subprocess(Protocol), # this will get replaced
29
22
  id: :protocol,
@@ -38,15 +38,8 @@ module Trailblazer
38
38
 
39
39
  # add the {End.not_found} terminus to this Protocol. I'm not sure that's the final style, but since a {Protocol} needs to provide all
40
40
  # termini for the Adapter this is the only way to get it working right now.
41
- # FIXME: is this really the only way to add an {End} to all this?
42
- @state.update_sequence do |sequence:, **|
43
- sequence = Activity::Path::DSL.append_end(sequence, task: Activity::End.new(semantic: :not_found), magnetic_to: :not_found, id: "End.not_found")
44
- sequence = Activity::Path::DSL.append_end(sequence, task: Activity::End.new(semantic: :invalid_data), magnetic_to: :invalid_data, id: "End.invalid_data")
45
-
46
- recompile_activity!(sequence)
47
-
48
- sequence
49
- end
41
+ terminus :not_found
42
+ terminus :invalid_data
50
43
 
51
44
  # Best-practices of useful routes and handlers that work with 2.1-OPs.
52
45
  class Standard < Protocol
@@ -1,5 +1,5 @@
1
1
  module Trailblazer
2
2
  class Endpoint
3
- VERSION = "0.0.10"
3
+ VERSION = "0.0.11"
4
4
  end
5
5
  end
@@ -14,10 +14,10 @@ gem 'sqlite3', '~> 1.4'
14
14
  # gem 'rack-cors'
15
15
 
16
16
  # gem "trailblazer-operation"
17
- gem "trailblazer-operation", path: "../../../trailblazer-operation"
18
- gem "trailblazer-context", path: "../../../trailblazer-context"
19
- gem "trailblazer-activity-dsl-linear", path: "../../../trailblazer-activity-dsl-linear"
20
- gem "trailblazer-activity", path: "../../../trailblazer-activity"
17
+ # gem "trailblazer-operation", path: "../../../trailblazer-operation"
18
+ # # gem "trailblazer-context", path: "../../../trailblazer-context"
19
+ # gem "trailblazer-activity-dsl-linear", path: "../../../trailblazer-activity-dsl-linear"
20
+ # gem "trailblazer-activity", path: "../../../trailblazer-activity"
21
21
 
22
22
 
23
23
  gem "trailblazer-endpoint", path: "../../."
@@ -27,7 +27,8 @@ gem "minitest-line"
27
27
  gem "trailblazer-cells"
28
28
  gem "cells-erb"
29
29
  gem "cells-rails"
30
-
30
+ gem "representable"
31
+ gem "trailblazer-operation"
31
32
 
32
33
  # FIXME
33
34
  # gem "trailblazer-workflow", path: "../../../trailblazer-workflow"
@@ -1,89 +1,62 @@
1
- PATH
2
- remote: ../../../trailblazer-activity-dsl-linear
3
- specs:
4
- trailblazer-activity-dsl-linear (0.5.0)
5
- trailblazer-activity (>= 0.13.0, < 1.0.0)
6
-
7
- PATH
8
- remote: ../../../trailblazer-activity
9
- specs:
10
- trailblazer-activity (0.13.0)
11
- trailblazer-context (~> 0.5.0)
12
- trailblazer-option (~> 0.1.0)
13
-
14
- PATH
15
- remote: ../../../trailblazer-context
16
- specs:
17
- trailblazer-context (0.5.0)
18
- hashie (>= 3.0.0)
19
-
20
- PATH
21
- remote: ../../../trailblazer-operation
22
- specs:
23
- trailblazer-operation (0.7.5)
24
- trailblazer-activity (>= 0.12.2, < 1.0.0)
25
- trailblazer-activity-dsl-linear (>= 0.4.1, < 1.0.0)
26
- trailblazer-developer (>= 0.0.21, < 1.0.0)
27
-
28
1
  PATH
29
2
  remote: ../..
30
3
  specs:
31
- trailblazer-endpoint (0.0.9)
32
- trailblazer-activity-dsl-linear (>= 0.5.0, < 0.6.0)
4
+ trailblazer-endpoint (0.0.10)
5
+ trailblazer-activity-dsl-linear (>= 1.0.0, < 1.1.0)
33
6
 
34
7
  GEM
35
8
  remote: https://rubygems.org/
36
9
  specs:
37
- actioncable (6.0.3.4)
38
- actionpack (= 6.0.3.4)
10
+ actioncable (6.0.4.7)
11
+ actionpack (= 6.0.4.7)
39
12
  nio4r (~> 2.0)
40
13
  websocket-driver (>= 0.6.1)
41
- actionmailbox (6.0.3.4)
42
- actionpack (= 6.0.3.4)
43
- activejob (= 6.0.3.4)
44
- activerecord (= 6.0.3.4)
45
- activestorage (= 6.0.3.4)
46
- activesupport (= 6.0.3.4)
14
+ actionmailbox (6.0.4.7)
15
+ actionpack (= 6.0.4.7)
16
+ activejob (= 6.0.4.7)
17
+ activerecord (= 6.0.4.7)
18
+ activestorage (= 6.0.4.7)
19
+ activesupport (= 6.0.4.7)
47
20
  mail (>= 2.7.1)
48
- actionmailer (6.0.3.4)
49
- actionpack (= 6.0.3.4)
50
- actionview (= 6.0.3.4)
51
- activejob (= 6.0.3.4)
21
+ actionmailer (6.0.4.7)
22
+ actionpack (= 6.0.4.7)
23
+ actionview (= 6.0.4.7)
24
+ activejob (= 6.0.4.7)
52
25
  mail (~> 2.5, >= 2.5.4)
53
26
  rails-dom-testing (~> 2.0)
54
- actionpack (6.0.3.4)
55
- actionview (= 6.0.3.4)
56
- activesupport (= 6.0.3.4)
27
+ actionpack (6.0.4.7)
28
+ actionview (= 6.0.4.7)
29
+ activesupport (= 6.0.4.7)
57
30
  rack (~> 2.0, >= 2.0.8)
58
31
  rack-test (>= 0.6.3)
59
32
  rails-dom-testing (~> 2.0)
60
33
  rails-html-sanitizer (~> 1.0, >= 1.2.0)
61
- actiontext (6.0.3.4)
62
- actionpack (= 6.0.3.4)
63
- activerecord (= 6.0.3.4)
64
- activestorage (= 6.0.3.4)
65
- activesupport (= 6.0.3.4)
34
+ actiontext (6.0.4.7)
35
+ actionpack (= 6.0.4.7)
36
+ activerecord (= 6.0.4.7)
37
+ activestorage (= 6.0.4.7)
38
+ activesupport (= 6.0.4.7)
66
39
  nokogiri (>= 1.8.5)
67
- actionview (6.0.3.4)
68
- activesupport (= 6.0.3.4)
40
+ actionview (6.0.4.7)
41
+ activesupport (= 6.0.4.7)
69
42
  builder (~> 3.1)
70
43
  erubi (~> 1.4)
71
44
  rails-dom-testing (~> 2.0)
72
45
  rails-html-sanitizer (~> 1.1, >= 1.2.0)
73
- activejob (6.0.3.4)
74
- activesupport (= 6.0.3.4)
46
+ activejob (6.0.4.7)
47
+ activesupport (= 6.0.4.7)
75
48
  globalid (>= 0.3.6)
76
- activemodel (6.0.3.4)
77
- activesupport (= 6.0.3.4)
78
- activerecord (6.0.3.4)
79
- activemodel (= 6.0.3.4)
80
- activesupport (= 6.0.3.4)
81
- activestorage (6.0.3.4)
82
- actionpack (= 6.0.3.4)
83
- activejob (= 6.0.3.4)
84
- activerecord (= 6.0.3.4)
85
- marcel (~> 0.3.1)
86
- activesupport (6.0.3.4)
49
+ activemodel (6.0.4.7)
50
+ activesupport (= 6.0.4.7)
51
+ activerecord (6.0.4.7)
52
+ activemodel (= 6.0.4.7)
53
+ activesupport (= 6.0.4.7)
54
+ activestorage (6.0.4.7)
55
+ actionpack (= 6.0.4.7)
56
+ activejob (= 6.0.4.7)
57
+ activerecord (= 6.0.4.7)
58
+ marcel (~> 1.0.0)
59
+ activesupport (6.0.4.7)
87
60
  concurrent-ruby (~> 1.0, >= 1.0.2)
88
61
  i18n (>= 0.7, < 2)
89
62
  minitest (~> 5.1)
@@ -98,10 +71,10 @@ GEM
98
71
  cells-erb (0.1.0)
99
72
  cells (~> 4.0)
100
73
  erbse (>= 0.1.1)
101
- cells-rails (0.1.3)
74
+ cells-rails (0.1.4)
102
75
  actionpack (>= 5.0)
103
76
  cells (>= 4.1.6, < 5.0.0)
104
- concurrent-ruby (1.1.7)
77
+ concurrent-ruby (1.1.10)
105
78
  crass (1.0.6)
106
79
  declarative (0.0.20)
107
80
  declarative-builder (0.1.0)
@@ -110,96 +83,104 @@ GEM
110
83
  erbse (0.1.4)
111
84
  temple
112
85
  erubi (1.10.0)
113
- globalid (0.4.2)
114
- activesupport (>= 4.2.0)
86
+ globalid (1.0.0)
87
+ activesupport (>= 5.0)
115
88
  hashie (5.0.0)
116
89
  hirb (0.7.3)
117
- i18n (1.8.7)
90
+ i18n (1.10.0)
118
91
  concurrent-ruby (~> 1.0)
119
- jwt (2.2.2)
120
- loofah (2.8.0)
92
+ jwt (2.3.0)
93
+ loofah (2.16.0)
121
94
  crass (~> 1.0.2)
122
95
  nokogiri (>= 1.5.9)
123
96
  mail (2.7.1)
124
97
  mini_mime (>= 0.1.1)
125
- marcel (0.3.3)
126
- mimemagic (~> 0.3.2)
98
+ marcel (1.0.2)
127
99
  method_source (1.0.0)
128
- mimemagic (0.3.5)
129
- mini_mime (1.0.2)
130
- mini_portile2 (2.5.0)
131
- minitest (5.14.3)
100
+ mini_mime (1.1.2)
101
+ mini_portile2 (2.8.0)
102
+ minitest (5.15.0)
132
103
  minitest-line (0.6.5)
133
104
  minitest (~> 5.0)
134
105
  multi_json (1.15.0)
135
- nio4r (2.5.4)
136
- nokogiri (1.11.1)
137
- mini_portile2 (~> 2.5.0)
106
+ nio4r (2.5.8)
107
+ nokogiri (1.13.3)
108
+ mini_portile2 (~> 2.8.0)
138
109
  racc (~> 1.4)
139
- nokogiri (1.11.1-x86_64-linux)
110
+ nokogiri (1.13.3-x86_64-linux)
140
111
  racc (~> 1.4)
141
- racc (1.5.2)
112
+ racc (1.6.0)
142
113
  rack (2.2.3)
143
114
  rack-test (1.1.0)
144
115
  rack (>= 1.0, < 3)
145
- rails (6.0.3.4)
146
- actioncable (= 6.0.3.4)
147
- actionmailbox (= 6.0.3.4)
148
- actionmailer (= 6.0.3.4)
149
- actionpack (= 6.0.3.4)
150
- actiontext (= 6.0.3.4)
151
- actionview (= 6.0.3.4)
152
- activejob (= 6.0.3.4)
153
- activemodel (= 6.0.3.4)
154
- activerecord (= 6.0.3.4)
155
- activestorage (= 6.0.3.4)
156
- activesupport (= 6.0.3.4)
116
+ rails (6.0.4.7)
117
+ actioncable (= 6.0.4.7)
118
+ actionmailbox (= 6.0.4.7)
119
+ actionmailer (= 6.0.4.7)
120
+ actionpack (= 6.0.4.7)
121
+ actiontext (= 6.0.4.7)
122
+ actionview (= 6.0.4.7)
123
+ activejob (= 6.0.4.7)
124
+ activemodel (= 6.0.4.7)
125
+ activerecord (= 6.0.4.7)
126
+ activestorage (= 6.0.4.7)
127
+ activesupport (= 6.0.4.7)
157
128
  bundler (>= 1.3.0)
158
- railties (= 6.0.3.4)
129
+ railties (= 6.0.4.7)
159
130
  sprockets-rails (>= 2.0.0)
160
131
  rails-dom-testing (2.0.3)
161
132
  activesupport (>= 4.2.0)
162
133
  nokogiri (>= 1.6)
163
- rails-html-sanitizer (1.3.0)
134
+ rails-html-sanitizer (1.4.2)
164
135
  loofah (~> 2.3)
165
- railties (6.0.3.4)
166
- actionpack (= 6.0.3.4)
167
- activesupport (= 6.0.3.4)
136
+ railties (6.0.4.7)
137
+ actionpack (= 6.0.4.7)
138
+ activesupport (= 6.0.4.7)
168
139
  method_source
169
140
  rake (>= 0.8.7)
170
141
  thor (>= 0.20.3, < 2.0)
171
- rake (13.0.3)
172
- representable (3.1.1)
142
+ rake (13.0.6)
143
+ representable (3.2.0)
173
144
  declarative (< 0.1.0)
174
145
  trailblazer-option (>= 0.1.1, < 0.2.0)
175
146
  uber (< 0.2.0)
176
- sprockets (4.0.2)
147
+ sprockets (4.0.3)
177
148
  concurrent-ruby (~> 1.0)
178
149
  rack (> 1, < 3)
179
- sprockets-rails (3.2.2)
180
- actionpack (>= 4.0)
181
- activesupport (>= 4.0)
150
+ sprockets-rails (3.4.2)
151
+ actionpack (>= 5.2)
152
+ activesupport (>= 5.2)
182
153
  sprockets (>= 3.0.0)
183
154
  sqlite3 (1.4.2)
184
155
  temple (0.8.2)
185
- thor (1.0.1)
156
+ thor (1.2.1)
186
157
  thread_safe (0.3.6)
187
158
  tilt (2.0.10)
159
+ trailblazer-activity (0.14.0)
160
+ trailblazer-context (~> 0.5.0)
161
+ trailblazer-option (~> 0.1.0)
162
+ trailblazer-activity-dsl-linear (1.0.0)
163
+ trailblazer-activity (>= 0.14.0, < 0.15.0)
164
+ trailblazer-declarative (>= 0.0.1, < 0.1.0)
188
165
  trailblazer-cells (0.0.3)
189
166
  cells (>= 4.1.0.rc1, < 5.0.0)
190
- trailblazer-developer (0.0.22)
167
+ trailblazer-context (0.5.0)
168
+ hashie (>= 3.0.0)
169
+ trailblazer-declarative (0.0.1)
170
+ trailblazer-developer (0.0.26)
191
171
  hirb
192
- representable (>= 3.1.1, < 4.0.0)
193
- trailblazer-activity (>= 0.12.2, < 1.0.0)
194
- trailblazer-activity-dsl-linear (>= 0.4.1, < 1.0.0)
172
+ trailblazer-activity-dsl-linear (>= 1.0.0.beta1, < 1.1.0)
173
+ trailblazer-operation (0.8.0)
174
+ trailblazer-activity-dsl-linear (>= 1.0.0, < 1.1.0)
175
+ trailblazer-developer (>= 0.0.26)
195
176
  trailblazer-option (0.1.2)
196
177
  tzinfo (1.2.9)
197
178
  thread_safe (~> 0.1)
198
179
  uber (0.1.0)
199
- websocket-driver (0.7.3)
180
+ websocket-driver (0.7.5)
200
181
  websocket-extensions (>= 0.1.0)
201
182
  websocket-extensions (0.1.5)
202
- zeitwerk (2.4.2)
183
+ zeitwerk (2.5.4)
203
184
 
204
185
  PLATFORMS
205
186
  ruby
@@ -212,13 +193,11 @@ DEPENDENCIES
212
193
  minitest-line
213
194
  multi_json
214
195
  rails (~> 6.0.3, >= 6.0.3.1)
196
+ representable
215
197
  sqlite3 (~> 1.4)
216
- trailblazer-activity!
217
- trailblazer-activity-dsl-linear!
218
198
  trailblazer-cells
219
- trailblazer-context!
220
199
  trailblazer-endpoint!
221
- trailblazer-operation!
200
+ trailblazer-operation
222
201
 
223
202
  BUNDLED WITH
224
- 2.2.11
203
+ 2.3.10
@@ -7,9 +7,9 @@ Gem::Specification.new do |spec|
7
7
  spec.version = Trailblazer::Endpoint::VERSION
8
8
  spec.authors = ["Nick Sutterer"]
9
9
  spec.email = ["apotonick@gmail.com"]
10
- spec.description = %q{Endpoints handle authentication, policies, run your domain operation and set up the rendering.}
11
- spec.summary = %q{Endpoints handle authentication, policies, run your domain operation and set up the rendering.}
12
- spec.homepage = "http://trailblazer.to/"
10
+ spec.description = %q{Endpoints handle authentication, policies, run your domain operation and prepare rendering.}
11
+ spec.summary = %q{Endpoints handle authentication, policies, run your domain operation and prepare rendering.}
12
+ spec.homepage = "https://trailblazer.to/2.1/docs/endpoint.html"
13
13
  spec.license = "LGPL-3.0"
14
14
 
15
15
  spec.files = `git ls-files`.split($/)
@@ -17,11 +17,10 @@ Gem::Specification.new do |spec|
17
17
  spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
18
18
  spec.require_paths = ["lib"]
19
19
 
20
- spec.add_dependency "trailblazer-activity-dsl-linear", ">= 0.5.0", "< 0.6.0"
20
+ spec.add_dependency "trailblazer-activity-dsl-linear", ">= 1.0.0", "< 1.1.0"
21
21
 
22
22
  spec.add_development_dependency "bundler"
23
23
  spec.add_development_dependency "rake"
24
24
  spec.add_development_dependency "minitest"
25
25
  spec.add_development_dependency "trailblazer-developer"
26
- # spec.add_development_dependency "appraisal"
27
26
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: trailblazer-endpoint
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.10
4
+ version: 0.0.11
5
5
  platform: ruby
6
6
  authors:
7
7
  - Nick Sutterer
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2022-02-04 00:00:00.000000000 Z
11
+ date: 2022-08-24 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: trailblazer-activity-dsl-linear
@@ -16,20 +16,20 @@ dependencies:
16
16
  requirements:
17
17
  - - ">="
18
18
  - !ruby/object:Gem::Version
19
- version: 0.5.0
19
+ version: 1.0.0
20
20
  - - "<"
21
21
  - !ruby/object:Gem::Version
22
- version: 0.6.0
22
+ version: 1.1.0
23
23
  type: :runtime
24
24
  prerelease: false
25
25
  version_requirements: !ruby/object:Gem::Requirement
26
26
  requirements:
27
27
  - - ">="
28
28
  - !ruby/object:Gem::Version
29
- version: 0.5.0
29
+ version: 1.0.0
30
30
  - - "<"
31
31
  - !ruby/object:Gem::Version
32
- version: 0.6.0
32
+ version: 1.1.0
33
33
  - !ruby/object:Gem::Dependency
34
34
  name: bundler
35
35
  requirement: !ruby/object:Gem::Requirement
@@ -87,7 +87,7 @@ dependencies:
87
87
  - !ruby/object:Gem::Version
88
88
  version: '0'
89
89
  description: Endpoints handle authentication, policies, run your domain operation
90
- and set up the rendering.
90
+ and prepare rendering.
91
91
  email:
92
92
  - apotonick@gmail.com
93
93
  executables: []
@@ -100,7 +100,6 @@ files:
100
100
  - Gemfile
101
101
  - README.md
102
102
  - Rakefile
103
- - gemfiles/rails_app.gemfile
104
103
  - lib/trailblazer-endpoint.rb
105
104
  - lib/trailblazer/endpoint.rb
106
105
  - lib/trailblazer/endpoint/adapter.rb
@@ -187,7 +186,7 @@ files:
187
186
  - test/rails-app/tmp/.keep
188
187
  - test/test_helper.rb
189
188
  - trailblazer-endpoint.gemspec
190
- homepage: http://trailblazer.to/
189
+ homepage: https://trailblazer.to/2.1/docs/endpoint.html
191
190
  licenses:
192
191
  - LGPL-3.0
193
192
  metadata: {}
@@ -210,7 +209,7 @@ rubygems_version: 3.2.3
210
209
  signing_key:
211
210
  specification_version: 4
212
211
  summary: Endpoints handle authentication, policies, run your domain operation and
213
- set up the rendering.
212
+ prepare rendering.
214
213
  test_files:
215
214
  - test/adapter/api_test.rb
216
215
  - test/adapter/representable_test.rb
@@ -1,12 +0,0 @@
1
- # This file was generated by Appraisal
2
-
3
- source "https://rubygems.org"
4
-
5
- gem "multi_json"
6
- gem "minitest-line"
7
- gem "dry-validation"
8
- gem "rails", "6.0.3.1"
9
- gem "sqlite3", "~> 1.4"
10
- gem "trailblazer-operation"
11
-
12
- gemspec path: "../"