metaractor 3.3.0 → 3.3.3

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: 8a67b3860db00780ce1c03f5c551fdb7bbace32bdd7e16d6adabadb541516cb0
4
- data.tar.gz: 2c24a4a91199c196eae047b09830891ff5ea3c0fd2e2d734acfe57059775fc74
3
+ metadata.gz: 3321611d056a60e545e40ad71e66f4512657fd44a0d6ce9a2758e2f08116895b
4
+ data.tar.gz: 4172b472e1a0d3fa3802452a3a0ee0b17b7d0bb975b630c32281c40cb5fd9063
5
5
  SHA512:
6
- metadata.gz: 40fdf35588580edf4b57e719958bad16f6dece4e74fd7a4c202c03a3aab47c6c7647fe90c2152a84eb6e8fd20a1bafd84e137efea9676cbd75966b39f22cacff
7
- data.tar.gz: 30fdcf53265820b0e510823730ed027e64171316f757b4047b304ba7f9a1bcc9e95b63016114ee4f2807c2a7a1cb94fc8779ecbb9adca47fd4ea8c0a17fa5245
6
+ metadata.gz: 7d77a4cfd87cd12955d73835cd8a060eb3f7c027c9a424cfd14a41c6c45e4f259303ffb9c25cf1bd200af48e775aacfc7c81549a851e578576f4d9c0c4cd972e
7
+ data.tar.gz: 10ea3e5a506caf3f47ab26a971c5a9f15d25fce14c53a18a25547cc9551bbebd6bf849fb2091bde67526805cea470388a24c77cc47d301d4f2c5e421ca5bd9b3
data/.envrc ADDED
@@ -0,0 +1,5 @@
1
+ if ! has nix_direnv_version || ! nix_direnv_version 2.3.0; then
2
+ source_url "https://raw.githubusercontent.com/nix-community/nix-direnv/2.3.0/direnvrc" "sha256-Dmd+j63L84wuzgyjITIfSxSD57Tx7v51DMxVZOsiUD8="
3
+ fi
4
+
5
+ use flake . --impure
@@ -0,0 +1,13 @@
1
+ name: Specs
2
+
3
+ on: [push]
4
+
5
+ jobs:
6
+ test:
7
+ runs-on: ubuntu-latest
8
+ steps:
9
+ - uses: actions/checkout@v3
10
+ - uses: ruby/setup-ruby@v1
11
+ with:
12
+ bundler-cache: true # runs 'bundle install' and caches installed gems automatically
13
+ - run: bundle exec rspec spec
data/.gitignore CHANGED
@@ -7,3 +7,8 @@
7
7
  /pkg/
8
8
  /spec/reports/
9
9
  /tmp/
10
+
11
+ # Devenv
12
+ .devenv*
13
+ devenv.local.nix
14
+ .direnv*
data/.rspec CHANGED
@@ -1,4 +1,3 @@
1
1
  --color
2
2
  --require spec_helper
3
3
  --format progress
4
- --format RSpec::Buildkite::AnnotationFormatter
data/.ruby-version ADDED
@@ -0,0 +1 @@
1
+ 3.2.2
data/Gemfile CHANGED
@@ -1,4 +1,3 @@
1
- source 'https://rubygems.org'
1
+ source "https://rubygems.org"
2
2
 
3
3
  gemspec
4
- gem 'rspec-buildkite', github: 'outstand/rspec-buildkite', branch: 'error-output'
data/README.md CHANGED
@@ -1,4 +1,5 @@
1
- # Metaractor [![Build status](https://badge.buildkite.com/70063a5154eb7366b8b7fd65a875c5f64301bc60f6d29a2ad7.svg)](https://buildkite.com/outstand/metaractor)
1
+ ![logo-color](https://user-images.githubusercontent.com/146013/225313017-ea1e42d6-741d-4db6-a492-a1e75106d720.png)
2
+
2
3
  Adds parameter validation and error control to [interactor](https://github.com/collectiveidea/interactor).
3
4
 
4
5
  ## Installation
@@ -54,7 +55,7 @@ See Interactor's [README](https://github.com/collectiveidea/interactor/blob/mast
54
55
  Metaractor is meant to be extensible (hence the 'meta'). You can add additional modules in the following way:
55
56
 
56
57
  ```ruby
57
- # This is an example from Outstand's production app to add some sidekiq magic.
58
+ # This is an example from a production app to add some sidekiq magic.
58
59
  # Feel free to place this in start up code or a Rails initializer.
59
60
  Metaractor.configure do |config|
60
61
  config.prepend_module Metaractor::SidekiqCallbacks
@@ -345,18 +346,60 @@ For more examples of all of the above approaches, please see the specs.
345
346
 
346
347
  ## Development
347
348
 
348
- - `docker compose build --pull`
349
- - `docker compose run --rm metaractor` to run specs
349
+ - Install nix:
350
+ ```sh
351
+ sh <(curl -L https://nixos.org/nix/install)
352
+ ```
353
+
354
+ - Configure nix:
355
+ ```sh
356
+ sudo tee -a /etc/nix/nix.conf <<EOF
357
+ auto-optimise-store = true
358
+ bash-prompt-prefix = (nix:$name)\040
359
+ experimental-features = nix-command flakes
360
+ extra-nix-path = nixpkgs=flake:nixpkgs
361
+ trusted-users = root $USER
362
+ EOF
363
+
364
+ sudo pkill nix-daemon
365
+ ```
366
+
367
+ - Set up cachix:
368
+ ```sh
369
+ nix profile install 'nixpkgs#cachix'
370
+ cachix use devenv
371
+ ```
372
+
373
+ - Install devenv:
374
+ ```sh
375
+ nix profile install --accept-flake-config github:cachix/devenv/latest
376
+ ```
377
+
378
+ - Install direnv:
379
+ ```sh
380
+ brew install direnv
381
+ ```
382
+
383
+ - Add the following lines to your ~/.zshrc:
384
+ ```sh
385
+ # Nix
386
+ if [ -e '/nix/var/nix/profiles/default/etc/profile.d/nix-daemon.sh' ]; then
387
+ . '/nix/var/nix/profiles/default/etc/profile.d/nix-daemon.sh'
388
+ fi
389
+ # End Nix
390
+
391
+ export DIRENV_LOG_FORMAT=
392
+ eval "$(direnv hook zsh)"
393
+ ```
350
394
 
351
- or with the Deskfile loaded:
352
- - `rspec spec`
395
+ - `direnv allow`
396
+ - `rspec spec` to run specs
353
397
 
354
398
  To release a new version:
355
399
  - Update the version number in `version.rb` and commit the result.
356
- - `docker compose build --pull`
357
- - `docker compose run --rm release`
400
+ - `rake release`
358
401
 
359
402
  ## Contributing
360
403
 
361
- Bug reports and pull requests are welcome on GitHub at https://github.com/outstand/metaractor.
404
+ Bug reports and pull requests are welcome on GitHub at https://github.com/metaractor/metaractor.
362
405
 
data/Rakefile CHANGED
@@ -1,2 +1,2 @@
1
1
  require "bundler/gem_tasks"
2
- task :default => :spec
2
+ task default: :spec
data/flake.lock ADDED
@@ -0,0 +1,417 @@
1
+ {
2
+ "nodes": {
3
+ "dev-cli": {
4
+ "inputs": {
5
+ "flake-compat": "flake-compat",
6
+ "flake-parts": "flake-parts",
7
+ "nixpkgs": [
8
+ "nixpkgs"
9
+ ]
10
+ },
11
+ "locked": {
12
+ "lastModified": 1688133858,
13
+ "narHash": "sha256-UeibsB2V5vozsqJAazx36d9oRmzXqlid8cpRdE9Hj1c=",
14
+ "owner": "detaso",
15
+ "repo": "dev-cli",
16
+ "rev": "bb6f0c892a67e90efd8119d5ceb0873b48b28e68",
17
+ "type": "github"
18
+ },
19
+ "original": {
20
+ "owner": "detaso",
21
+ "repo": "dev-cli",
22
+ "type": "github"
23
+ }
24
+ },
25
+ "devenv": {
26
+ "inputs": {
27
+ "flake-compat": "flake-compat_2",
28
+ "nix": "nix",
29
+ "nixpkgs": "nixpkgs",
30
+ "pre-commit-hooks": "pre-commit-hooks"
31
+ },
32
+ "locked": {
33
+ "lastModified": 1688639977,
34
+ "narHash": "sha256-nLpc6Qr3HB+xGVTkl9lrEpr06vGf4khuxG/7ay3gNuI=",
35
+ "owner": "cachix",
36
+ "repo": "devenv",
37
+ "rev": "b98d24ddc6d46252df1920fea44241f8fb6e45b2",
38
+ "type": "github"
39
+ },
40
+ "original": {
41
+ "owner": "cachix",
42
+ "repo": "devenv",
43
+ "type": "github"
44
+ }
45
+ },
46
+ "flake-compat": {
47
+ "flake": false,
48
+ "locked": {
49
+ "lastModified": 1673956053,
50
+ "narHash": "sha256-4gtG9iQuiKITOjNQQeQIpoIB6b16fm+504Ch3sNKLd8=",
51
+ "owner": "edolstra",
52
+ "repo": "flake-compat",
53
+ "rev": "35bb57c0c8d8b62bbfd284272c928ceb64ddbde9",
54
+ "type": "github"
55
+ },
56
+ "original": {
57
+ "owner": "edolstra",
58
+ "repo": "flake-compat",
59
+ "type": "github"
60
+ }
61
+ },
62
+ "flake-compat_2": {
63
+ "flake": false,
64
+ "locked": {
65
+ "lastModified": 1673956053,
66
+ "narHash": "sha256-4gtG9iQuiKITOjNQQeQIpoIB6b16fm+504Ch3sNKLd8=",
67
+ "owner": "edolstra",
68
+ "repo": "flake-compat",
69
+ "rev": "35bb57c0c8d8b62bbfd284272c928ceb64ddbde9",
70
+ "type": "github"
71
+ },
72
+ "original": {
73
+ "owner": "edolstra",
74
+ "repo": "flake-compat",
75
+ "type": "github"
76
+ }
77
+ },
78
+ "flake-compat_3": {
79
+ "flake": false,
80
+ "locked": {
81
+ "lastModified": 1673956053,
82
+ "narHash": "sha256-4gtG9iQuiKITOjNQQeQIpoIB6b16fm+504Ch3sNKLd8=",
83
+ "owner": "edolstra",
84
+ "repo": "flake-compat",
85
+ "rev": "35bb57c0c8d8b62bbfd284272c928ceb64ddbde9",
86
+ "type": "github"
87
+ },
88
+ "original": {
89
+ "owner": "edolstra",
90
+ "repo": "flake-compat",
91
+ "type": "github"
92
+ }
93
+ },
94
+ "flake-parts": {
95
+ "inputs": {
96
+ "nixpkgs-lib": "nixpkgs-lib"
97
+ },
98
+ "locked": {
99
+ "lastModified": 1687762428,
100
+ "narHash": "sha256-DIf7mi45PKo+s8dOYF+UlXHzE0Wl/+k3tXUyAoAnoGE=",
101
+ "owner": "hercules-ci",
102
+ "repo": "flake-parts",
103
+ "rev": "37dd7bb15791c86d55c5121740a1887ab55ee836",
104
+ "type": "github"
105
+ },
106
+ "original": {
107
+ "owner": "hercules-ci",
108
+ "repo": "flake-parts",
109
+ "type": "github"
110
+ }
111
+ },
112
+ "flake-parts_2": {
113
+ "inputs": {
114
+ "nixpkgs-lib": "nixpkgs-lib_2"
115
+ },
116
+ "locked": {
117
+ "lastModified": 1688466019,
118
+ "narHash": "sha256-VeM2akYrBYMsb4W/MmBo1zmaMfgbL4cH3Pu8PGyIwJ0=",
119
+ "owner": "hercules-ci",
120
+ "repo": "flake-parts",
121
+ "rev": "8e8d955c22df93dbe24f19ea04f47a74adbdc5ec",
122
+ "type": "github"
123
+ },
124
+ "original": {
125
+ "id": "flake-parts",
126
+ "type": "indirect"
127
+ }
128
+ },
129
+ "flake-utils": {
130
+ "inputs": {
131
+ "systems": "systems"
132
+ },
133
+ "locked": {
134
+ "lastModified": 1685518550,
135
+ "narHash": "sha256-o2d0KcvaXzTrPRIo0kOLV0/QXHhDQ5DTi+OxcjO8xqY=",
136
+ "owner": "numtide",
137
+ "repo": "flake-utils",
138
+ "rev": "a1720a10a6cfe8234c0e93907ffe81be440f4cef",
139
+ "type": "github"
140
+ },
141
+ "original": {
142
+ "owner": "numtide",
143
+ "repo": "flake-utils",
144
+ "type": "github"
145
+ }
146
+ },
147
+ "flake-utils_2": {
148
+ "locked": {
149
+ "lastModified": 1667395993,
150
+ "narHash": "sha256-nuEHfE/LcWyuSWnS8t12N1wc105Qtau+/OdUAjtQ0rA=",
151
+ "owner": "numtide",
152
+ "repo": "flake-utils",
153
+ "rev": "5aed5285a952e0b949eb3ba02c12fa4fcfef535f",
154
+ "type": "github"
155
+ },
156
+ "original": {
157
+ "owner": "numtide",
158
+ "repo": "flake-utils",
159
+ "type": "github"
160
+ }
161
+ },
162
+ "gitignore": {
163
+ "inputs": {
164
+ "nixpkgs": [
165
+ "devenv",
166
+ "pre-commit-hooks",
167
+ "nixpkgs"
168
+ ]
169
+ },
170
+ "locked": {
171
+ "lastModified": 1660459072,
172
+ "narHash": "sha256-8DFJjXG8zqoONA1vXtgeKXy68KdJL5UaXR8NtVMUbx8=",
173
+ "owner": "hercules-ci",
174
+ "repo": "gitignore.nix",
175
+ "rev": "a20de23b925fd8264fd7fad6454652e142fd7f73",
176
+ "type": "github"
177
+ },
178
+ "original": {
179
+ "owner": "hercules-ci",
180
+ "repo": "gitignore.nix",
181
+ "type": "github"
182
+ }
183
+ },
184
+ "lowdown-src": {
185
+ "flake": false,
186
+ "locked": {
187
+ "lastModified": 1633514407,
188
+ "narHash": "sha256-Dw32tiMjdK9t3ETl5fzGrutQTzh2rufgZV4A/BbxuD4=",
189
+ "owner": "kristapsdz",
190
+ "repo": "lowdown",
191
+ "rev": "d2c2b44ff6c27b936ec27358a2653caaef8f73b8",
192
+ "type": "github"
193
+ },
194
+ "original": {
195
+ "owner": "kristapsdz",
196
+ "repo": "lowdown",
197
+ "type": "github"
198
+ }
199
+ },
200
+ "nix": {
201
+ "inputs": {
202
+ "lowdown-src": "lowdown-src",
203
+ "nixpkgs": [
204
+ "devenv",
205
+ "nixpkgs"
206
+ ],
207
+ "nixpkgs-regression": "nixpkgs-regression"
208
+ },
209
+ "locked": {
210
+ "lastModified": 1676545802,
211
+ "narHash": "sha256-EK4rZ+Hd5hsvXnzSzk2ikhStJnD63odF7SzsQ8CuSPU=",
212
+ "owner": "domenkozar",
213
+ "repo": "nix",
214
+ "rev": "7c91803598ffbcfe4a55c44ac6d49b2cf07a527f",
215
+ "type": "github"
216
+ },
217
+ "original": {
218
+ "owner": "domenkozar",
219
+ "ref": "relaxed-flakes",
220
+ "repo": "nix",
221
+ "type": "github"
222
+ }
223
+ },
224
+ "nixpkgs": {
225
+ "locked": {
226
+ "lastModified": 1678875422,
227
+ "narHash": "sha256-T3o6NcQPwXjxJMn2shz86Chch4ljXgZn746c2caGxd8=",
228
+ "owner": "NixOS",
229
+ "repo": "nixpkgs",
230
+ "rev": "126f49a01de5b7e35a43fd43f891ecf6d3a51459",
231
+ "type": "github"
232
+ },
233
+ "original": {
234
+ "owner": "NixOS",
235
+ "ref": "nixpkgs-unstable",
236
+ "repo": "nixpkgs",
237
+ "type": "github"
238
+ }
239
+ },
240
+ "nixpkgs-lib": {
241
+ "locked": {
242
+ "dir": "lib",
243
+ "lastModified": 1685564631,
244
+ "narHash": "sha256-8ywr3AkblY4++3lIVxmrWZFzac7+f32ZEhH/A8pNscI=",
245
+ "owner": "NixOS",
246
+ "repo": "nixpkgs",
247
+ "rev": "4f53efe34b3a8877ac923b9350c874e3dcd5dc0a",
248
+ "type": "github"
249
+ },
250
+ "original": {
251
+ "dir": "lib",
252
+ "owner": "NixOS",
253
+ "ref": "nixos-unstable",
254
+ "repo": "nixpkgs",
255
+ "type": "github"
256
+ }
257
+ },
258
+ "nixpkgs-lib_2": {
259
+ "locked": {
260
+ "dir": "lib",
261
+ "lastModified": 1688049487,
262
+ "narHash": "sha256-100g4iaKC9MalDjUW9iN6Jl/OocTDtXdeAj7pEGIRh4=",
263
+ "owner": "NixOS",
264
+ "repo": "nixpkgs",
265
+ "rev": "4bc72cae107788bf3f24f30db2e2f685c9298dc9",
266
+ "type": "github"
267
+ },
268
+ "original": {
269
+ "dir": "lib",
270
+ "owner": "NixOS",
271
+ "ref": "nixos-unstable",
272
+ "repo": "nixpkgs",
273
+ "type": "github"
274
+ }
275
+ },
276
+ "nixpkgs-regression": {
277
+ "locked": {
278
+ "lastModified": 1643052045,
279
+ "narHash": "sha256-uGJ0VXIhWKGXxkeNnq4TvV3CIOkUJ3PAoLZ3HMzNVMw=",
280
+ "owner": "NixOS",
281
+ "repo": "nixpkgs",
282
+ "rev": "215d4d0fd80ca5163643b03a33fde804a29cc1e2",
283
+ "type": "github"
284
+ },
285
+ "original": {
286
+ "owner": "NixOS",
287
+ "repo": "nixpkgs",
288
+ "rev": "215d4d0fd80ca5163643b03a33fde804a29cc1e2",
289
+ "type": "github"
290
+ }
291
+ },
292
+ "nixpkgs-ruby": {
293
+ "inputs": {
294
+ "flake-compat": "flake-compat_3",
295
+ "flake-utils": "flake-utils_2",
296
+ "nixpkgs": [
297
+ "nixpkgs"
298
+ ]
299
+ },
300
+ "locked": {
301
+ "lastModified": 1688103575,
302
+ "narHash": "sha256-VkkUAm6U9sogXYFGhru0xIb0KI+mrVbk5PKjCD8rnV4=",
303
+ "owner": "bobvanderlinden",
304
+ "repo": "nixpkgs-ruby",
305
+ "rev": "e6ae16647947d0858a99e033ce695c33d6212852",
306
+ "type": "github"
307
+ },
308
+ "original": {
309
+ "owner": "bobvanderlinden",
310
+ "repo": "nixpkgs-ruby",
311
+ "type": "github"
312
+ }
313
+ },
314
+ "nixpkgs-stable": {
315
+ "locked": {
316
+ "lastModified": 1685801374,
317
+ "narHash": "sha256-otaSUoFEMM+LjBI1XL/xGB5ao6IwnZOXc47qhIgJe8U=",
318
+ "owner": "NixOS",
319
+ "repo": "nixpkgs",
320
+ "rev": "c37ca420157f4abc31e26f436c1145f8951ff373",
321
+ "type": "github"
322
+ },
323
+ "original": {
324
+ "owner": "NixOS",
325
+ "ref": "nixos-23.05",
326
+ "repo": "nixpkgs",
327
+ "type": "github"
328
+ }
329
+ },
330
+ "nixpkgs_2": {
331
+ "locked": {
332
+ "lastModified": 1688585123,
333
+ "narHash": "sha256-+xFOB4WaRUHuZI7H1tWHTrwY4BnbPmh8M1n/XhPRH0w=",
334
+ "owner": "NixOS",
335
+ "repo": "nixpkgs",
336
+ "rev": "23de9f3b56e72632c628d92b71c47032e14a3d4d",
337
+ "type": "github"
338
+ },
339
+ "original": {
340
+ "owner": "NixOS",
341
+ "ref": "nixpkgs-unstable",
342
+ "repo": "nixpkgs",
343
+ "type": "github"
344
+ }
345
+ },
346
+ "pre-commit-hooks": {
347
+ "inputs": {
348
+ "flake-compat": [
349
+ "devenv",
350
+ "flake-compat"
351
+ ],
352
+ "flake-utils": "flake-utils",
353
+ "gitignore": "gitignore",
354
+ "nixpkgs": [
355
+ "devenv",
356
+ "nixpkgs"
357
+ ],
358
+ "nixpkgs-stable": "nixpkgs-stable"
359
+ },
360
+ "locked": {
361
+ "lastModified": 1688056373,
362
+ "narHash": "sha256-2+SDlNRTKsgo3LBRiMUcoEUb6sDViRNQhzJquZ4koOI=",
363
+ "owner": "cachix",
364
+ "repo": "pre-commit-hooks.nix",
365
+ "rev": "5843cf069272d92b60c3ed9e55b7a8989c01d4c7",
366
+ "type": "github"
367
+ },
368
+ "original": {
369
+ "owner": "cachix",
370
+ "repo": "pre-commit-hooks.nix",
371
+ "type": "github"
372
+ }
373
+ },
374
+ "root": {
375
+ "inputs": {
376
+ "dev-cli": "dev-cli",
377
+ "devenv": "devenv",
378
+ "flake-parts": "flake-parts_2",
379
+ "nixpkgs": "nixpkgs_2",
380
+ "nixpkgs-ruby": "nixpkgs-ruby",
381
+ "systems": "systems_2"
382
+ }
383
+ },
384
+ "systems": {
385
+ "locked": {
386
+ "lastModified": 1681028828,
387
+ "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
388
+ "owner": "nix-systems",
389
+ "repo": "default",
390
+ "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e",
391
+ "type": "github"
392
+ },
393
+ "original": {
394
+ "owner": "nix-systems",
395
+ "repo": "default",
396
+ "type": "github"
397
+ }
398
+ },
399
+ "systems_2": {
400
+ "locked": {
401
+ "lastModified": 1681028828,
402
+ "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
403
+ "owner": "nix-systems",
404
+ "repo": "default",
405
+ "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e",
406
+ "type": "github"
407
+ },
408
+ "original": {
409
+ "owner": "nix-systems",
410
+ "repo": "default",
411
+ "type": "github"
412
+ }
413
+ }
414
+ },
415
+ "root": "root",
416
+ "version": 7
417
+ }
data/flake.nix ADDED
@@ -0,0 +1,67 @@
1
+ {
2
+ inputs = {
3
+ nixpkgs.url = "github:NixOS/nixpkgs/nixpkgs-unstable";
4
+ systems.url = "github:nix-systems/default";
5
+ devenv.url = "github:cachix/devenv";
6
+ nixpkgs-ruby.url = "github:bobvanderlinden/nixpkgs-ruby";
7
+ nixpkgs-ruby.inputs.nixpkgs.follows = "nixpkgs";
8
+ dev-cli.url = "github:detaso/dev-cli";
9
+ dev-cli.inputs.nixpkgs.follows = "nixpkgs";
10
+ };
11
+
12
+ outputs = inputs@{ flake-parts, ... }:
13
+ flake-parts.lib.mkFlake { inherit inputs; } {
14
+ imports = [
15
+ inputs.devenv.flakeModule
16
+ ];
17
+ systems = [ "x86_64-linux" "aarch64-linux" "aarch64-darwin" "x86_64-darwin" ];
18
+
19
+ perSystem = { config, self', inputs', pkgs, system, ... }: {
20
+ # Per-system attributes can be defined here. The self' and inputs'
21
+ # module parameters provide easy access to attributes of the same
22
+ # system.
23
+
24
+ devenv.shells.default = let
25
+ dev-cli = inputs.dev-cli.packages.${system}.default;
26
+ in {
27
+ # https://devenv.sh/reference/options/
28
+
29
+ packages = with pkgs; [
30
+ git
31
+ nodejs-18_x
32
+ yarn
33
+ postgresql_14
34
+ zlib
35
+ zstd
36
+ libiconv
37
+ tmux
38
+ tmuxPlugins.sensible
39
+ tmuxPlugins.yank
40
+ reattach-to-user-namespace
41
+ ] ++ [
42
+ dev-cli
43
+ ];
44
+
45
+ languages.ruby.enable = true;
46
+ languages.ruby.bundler.enable = false;
47
+ languages.ruby.version = "3.2.2";
48
+
49
+ enterShell = ''
50
+ export BUNDLE_BIN="$DEVENV_ROOT/.devenv/bin"
51
+ export PATH="$DEVENV_PROFILE/bin:$DEVENV_ROOT/bin:$BUNDLE_BIN:$PATH"
52
+ export BOOTSNAP_CACHE_DIR="$DEVENV_ROOT/.devenv/state"
53
+
54
+ if [ ! -f ~/.tmux.conf ] && [ ! -f ~/.config/tmux/tmux.conf ] && [ -f "$DEVENV_ROOT/.overmind.tmux.conf" ]; then
55
+ export OVERMIND_TMUX_CONFIG="$DEVENV_ROOT/.overmind.tmux.conf"
56
+ fi
57
+ '';
58
+
59
+ env.OVERMIND_NO_PORT=1;
60
+ env.OVERMIND_ANY_CAN_DIE=1;
61
+ process.implementation = "overmind";
62
+
63
+ env.RUBY_DEBUG_SOCK_DIR = "/tmp/";
64
+ };
65
+ };
66
+ };
67
+ }
@@ -28,7 +28,7 @@ module Metaractor
28
28
 
29
29
  def add_errors(messages: [], errors: {}, **args)
30
30
  if !messages.empty?
31
- self.errors.add(errors: { base: messages }, **args)
31
+ self.errors.add(errors: {base: messages}, **args)
32
32
  else
33
33
  self.errors.add(errors: errors, **args)
34
34
  end