dry-validation 1.4.1 → 1.4.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 7da2738360b969decba415a2a6418b41ca8b55202d39dd6843871722b904164e
4
- data.tar.gz: 20cfc387c6ebe8ce8ffd9b6d9227d59393cf304ba70bdd01ace0ff13d67e99fe
3
+ metadata.gz: ea571eab29d2c8f50457cd8472a8f0d66da98bfda7f7fd1b697776532193b12d
4
+ data.tar.gz: 0e45ff77064b269b25e4c9dbc84219dcc78e07390bb14e75dd2fa0ab24593096
5
5
  SHA512:
6
- metadata.gz: 5d86de3a87c58f51dabd171950a3d72398e3a93fde3ac521937c0e7b13518388519238127968eb330b991774a2d017b109e3ddc919e23d423771c2bee6361a63
7
- data.tar.gz: 86c6cc8cf5ea0ba31dda616f68cedd2481f9e1f8455d787d4575583af7ad7428cee4de45477bf454084adacd6778216f2867dc95ac0cbe1e9fad2889a07f124a
6
+ metadata.gz: ddc760c72d530ceada83071591ebb7d214ed1c1fe7ec56486120170cd8b32a50916468dc086018820d3505a1eb14df1cbfe07a80b212da7c5f67c262dc47847b
7
+ data.tar.gz: d06df105ce8e8a9ef8720dd6df9748585c9621a39bca8a73067e337ad153edbdbd052581be687a6df9bc0c62e16b1ad9fb8866014a0d4ba9a2c411c31d892610
@@ -1,4 +1,15 @@
1
- # v1.4.1 2020-01-08
1
+ ## 1.4.2 2020-01-18
2
+
3
+
4
+ ### Fixed
5
+
6
+ - Macros using predicates that accept a range argument work as expected (no need to wrap the argument in an array) (@waiting-for-dev)
7
+
8
+
9
+ [Compare v1.4.1...v1.4.2](https://github.com/dry-rb/dry-validation/compare/v1.4.1...v1.4.2)
10
+
11
+ ## 1.4.1 2020-01-08
12
+
2
13
 
3
14
  ### Added
4
15
 
@@ -8,11 +19,12 @@
8
19
 
9
20
  - List tokens are correctly interpolated as a comma separated list in rule messages (see #611) (@waiting-for-dev)
10
21
  - Warnings about delegated keywords (@flash-gordon)
11
- - A few delegation warnings about keyword arguments (@flash-gordon)
22
+
12
23
 
13
24
  [Compare v1.4.0...v1.4.1](https://github.com/dry-rb/dry-validation/compare/v1.4.0...v1.4.1)
14
25
 
15
- # v1.4.0 2019-12-12
26
+ ## 1.4.0 2019-12-12
27
+
16
28
 
17
29
  ### Added
18
30
 
@@ -32,7 +44,8 @@
32
44
 
33
45
  [Compare v1.3.1...v1.4.0](https://github.com/dry-rb/dry-validation/compare/v1.3.1...v1.4.0)
34
46
 
35
- # v1.3.1 2019-08-16
47
+ ## 1.3.1 2019-08-16
48
+
36
49
 
37
50
  ### Changed
38
51
 
@@ -40,7 +53,8 @@
40
53
 
41
54
  [Compare v1.3.0...v1.3.1](https://github.com/dry-rb/dry-validation/compare/v1.3.0...v1.3.1)
42
55
 
43
- # v1.3.0 2019-08-14
56
+ ## 1.3.0 2019-08-14
57
+
44
58
 
45
59
  ### Added
46
60
 
@@ -56,7 +70,8 @@
56
70
 
57
71
  [Compare v1.2.1...v1.3.0](https://github.com/dry-rb/dry-validation/compare/v1.2.1...v1.3.0)
58
72
 
59
- # v1.2.1 2019-07-16
73
+ ## 1.2.1 2019-07-16
74
+
60
75
 
61
76
  ### Fixed
62
77
 
@@ -65,9 +80,11 @@
65
80
  - Fixed an issue where guarding a rule would crash when keys are missing in the input (issue #569) (@solnic)
66
81
  - Added missing "pathname" require (issue #570) (@solnic)
67
82
 
83
+
68
84
  [Compare v1.2.0...v1.2.1](https://github.com/dry-rb/dry-validation/compare/v1.2.0...v1.2.1)
69
85
 
70
- # v1.2.0 2019-07-08
86
+ ## 1.2.0 2019-07-08
87
+
71
88
 
72
89
  ### Added
73
90
 
@@ -83,15 +100,18 @@
83
100
 
84
101
  [Compare v1.1.1...v1.2.0](https://github.com/dry-rb/dry-validation/compare/v1.1.1...v1.2.0)
85
102
 
86
- # v1.1.1 2019-06-24
103
+ ## 1.1.1 2019-06-24
104
+
87
105
 
88
106
  ### Fixed
89
107
 
90
108
  - `Rule#each` works with array values from nested hashes (@mustardnoise)
91
109
 
110
+
92
111
  [Compare v1.1.0...v1.1.1](https://github.com/dry-rb/dry-validation/compare/v1.1.0...v1.1.1)
93
112
 
94
- # v1.1.0 2019-06-14
113
+ ## 1.1.0 2019-06-14
114
+
95
115
 
96
116
  ### Added
97
117
 
@@ -103,25 +123,18 @@
103
123
 
104
124
  - Passing multiple macro names to `validate` or `each` works correctly (fixed #538 #541) (@jandudulski)
105
125
 
106
- [Compare v1.0.0...v1.1.0](https://github.com/dry-rb/dry-validation/compare/v1.0.0...v1.1.0)
107
126
 
108
- # v1.0.0 2019-06-10
127
+ [Compare v1.0.0...v1.1.0](https://github.com/dry-rb/dry-validation/compare/v1.0.0...v1.1.0)
109
128
 
110
- This release is a complete rewrite on top of `dry-schema` that uses contract classes to define schema and validation rules. It's **not backward-compatible**. This release addressed over 150 known issues, including bugs and missing features.
129
+ ## 1.0.0 2019-06-10
111
130
 
112
131
  See [the list of all addressed issues](https://github.com/dry-rb/dry-validation/issues?utf8=✓&q=is%3Aissue+is%3Aclosed+closed%3A%3E%3D2019-01-01+) as well as issues that were moved to dry-schema and [addressed there](https://github.com/dry-rb/dry-schema/issues?q=is%3Aissue+is%3Aclosed+dry-validation+milestone%3A1.0.0).
113
132
 
114
- ### :sparkles: Release highlights :sparkles:
115
133
 
116
- - New `Dry::Validation::Contract` API for defining contract classes with schemas and validation rules
117
- - Improved message backends with support for `key` and `base` messages, and arbitrary meta-data (like error codes etc.)
118
- - Support for defining rules for array elements ie `rule(:items).each { ... }`
119
- - Support for macros that encapsulate common rule logic
120
- - Built-in `:acceptance` macro
134
+ [Compare v1.0.0...v1.0.0](https://github.com/dry-rb/dry-validation/compare/v1.0.0...v1.0.0)
121
135
 
122
- [Compare v0.13.3...v1.0.0](https://github.com/dry-rb/dry-validation/compare/v0.13.3...v1.0.0)
136
+ ## 1.0.0 2019-06-10
123
137
 
124
- # v1.0.0 2019-06-10 (compared to 1.0.0.rc3)
125
138
 
126
139
  ### Added
127
140
 
@@ -144,7 +157,8 @@ See [the list of all addressed issues](https://github.com/dry-rb/dry-validation/
144
157
 
145
158
  [Compare v1.0.0.rc3...v1.0.0](https://github.com/dry-rb/dry-validation/compare/v1.0.0.rc3...v1.0.0)
146
159
 
147
- # v1.0.0.rc3 2019-05-06
160
+ ## 1.0.0.rc3 2019-05-06
161
+
148
162
 
149
163
  ### Added
150
164
 
@@ -157,9 +171,10 @@ See [the list of all addressed issues](https://github.com/dry-rb/dry-validation/
157
171
 
158
172
  - `config/errors.yml` are now bundled with the gem, **`rc2` was broken because of this** (solnic)
159
173
 
174
+
160
175
  [Compare v1.0.0.rc2...v1.0.0.rc3](https://github.com/dry-rb/dry-validation/compare/v1.0.0.rc2...v1.0.0.rc3)
161
176
 
162
- # v1.0.0.rc2 2019-05-04
177
+ ## 1.0.0.rc2 2019-05-04
163
178
 
164
179
  This was **yanked** on rubygems.org because the bundled gem was missing `config` directory, thus it was not possible to require it. It was fixed in `rc3`.
165
180
 
@@ -179,7 +194,8 @@ This was **yanked** on rubygems.org because the bundled gem was missing `config`
179
194
 
180
195
  [Compare v1.0.0.rc1...v1.0.0.rc2](https://github.com/dry-rb/dry-validation/compare/v1.0.0.rc1...v1.0.0.rc2)
181
196
 
182
- # v1.0.0.rc1 2019-04-26
197
+ ## 1.0.0.rc1 2019-04-26
198
+
183
199
 
184
200
  ### Added
185
201
 
@@ -198,7 +214,8 @@ This was **yanked** on rubygems.org because the bundled gem was missing `config`
198
214
 
199
215
  [Compare v1.0.0.beta2...v1.0.0.rc1](https://github.com/dry-rb/dry-validation/compare/v1.0.0.beta2...v1.0.0.rc1)
200
216
 
201
- # v1.0.0.beta2 2019-04-04
217
+ ## 1.0.0.beta2 2019-04-04
218
+
202
219
 
203
220
  ### Added
204
221
 
@@ -226,7 +243,8 @@ This was **yanked** on rubygems.org because the bundled gem was missing `config`
226
243
 
227
244
  [Compare v1.0.0.beta1...v1.0.0.beta2](https://github.com/dry-rb/dry-validation/compare/v1.0.0.beta1...v1.0.0.beta2)
228
245
 
229
- # v1.0.0.beta1 2019-03-26
246
+ ## 1.0.0.beta1 2019-03-26
247
+
230
248
 
231
249
  ### Added
232
250
 
@@ -247,7 +265,7 @@ This was **yanked** on rubygems.org because the bundled gem was missing `config`
247
265
 
248
266
  [Compare v1.0.0.alpha2...v1.0.0.beta1](https://github.com/dry-rb/dry-validation/compare/v1.0.0.alpha2...v1.0.0.beta1)
249
267
 
250
- # v1.0.0.alpha2 2019-03-05
268
+ ## 1.0.0.alpha2 2019-03-05
251
269
 
252
270
  First round of bug fixes. Thanks for testing <3!
253
271
 
@@ -263,7 +281,7 @@ First round of bug fixes. Thanks for testing <3!
263
281
 
264
282
  [Compare v1.0.0.alpha1...v1.0.0.alpha2](https://github.com/dry-rb/dry-validation/compare/v1.0.0.alpha1...v1.0.0.alpha2)
265
283
 
266
- # v1.0.0.alpha1 2019-03-04
284
+ ## 1.0.0.alpha1 2019-03-04
267
285
 
268
286
  Complete rewrite on top of `dry-schema`.
269
287
 
@@ -272,22 +290,25 @@ Complete rewrite on top of `dry-schema`.
272
290
  - [BREAKING] `Dry::Validation::Contract` as a replacement for validation schemas (solnic)
273
291
  - [BREAKING] New `rule` DSL with an improved API for setting error messages (solnic)
274
292
 
293
+
275
294
  [Compare v0.13.0...v1.0.0.alpha1](https://github.com/dry-rb/dry-validation/compare/v0.13.0...v1.0.0.alpha1)
276
295
 
277
- # v0.13.0 2019-01-29
296
+ ## 0.13.0 2019-01-29
278
297
 
279
- ### Changed
280
-
281
- - `dry-logic` was bumped to `~> 0.5` (solnic)
282
- - `dry-types` was bumped to `~> 0.14` (solnic)
283
298
 
284
299
  ### Fixed
285
300
 
286
301
  - Warning about method redefined (amatsuda)
287
302
 
303
+ ### Changed
304
+
305
+ - `dry-logic` was bumped to `~> 0.5` (solnic)
306
+ - `dry-types` was bumped to `~> 0.14` (solnic)
307
+
288
308
  [Compare v0.12.3...v0.13.0](https://github.com/dry-rb/dry-validation/compare/v0.12.3...v0.13.0)
289
309
 
290
- # v0.12.3 2019-01-29
310
+ ## 0.12.3 2019-01-29
311
+
291
312
 
292
313
  ### Changed
293
314
 
@@ -295,23 +316,28 @@ Complete rewrite on top of `dry-schema`.
295
316
 
296
317
  [Compare v0.12.2...v0.12.3](https://github.com/dry-rb/dry-validation/compare/v0.12.2...v0.12.3)
297
318
 
298
- # v0.12.2 2018-08-29
319
+ ## 0.12.2 2018-08-29
320
+
299
321
 
300
322
  ### Fixed
301
323
 
302
324
  - Use correct key names for rule messages when using i18n (jozzi05)
303
325
 
326
+
304
327
  [Compare v0.12.1...v0.12.2](https://github.com/dry-rb/dry-validation/compare/v0.12.1...v0.12.2)
305
328
 
306
- # v0.12.1 2018-07-06
329
+ ## 0.12.1 2018-07-06
330
+
307
331
 
308
332
  ### Fixed
309
333
 
310
334
  - [internal] fixed deprecation warnings (flash-gordon)
311
335
 
336
+
312
337
  [Compare v0.12.0...v0.12.1](https://github.com/dry-rb/dry-validation/compare/v0.12.0...v0.12.1)
313
338
 
314
- # v0.12.0 2018-05-31
339
+ ## 0.12.0 2018-05-31
340
+
315
341
 
316
342
  ### Changed
317
343
 
@@ -320,7 +346,8 @@ Complete rewrite on top of `dry-schema`.
320
346
 
321
347
  [Compare v0.11.1...v0.12.0](https://github.com/dry-rb/dry-validation/compare/v0.11.1...v0.12.0)
322
348
 
323
- # v0.11.1 2017-09-15
349
+ ## 0.11.1 2017-09-15
350
+
324
351
 
325
352
  ### Changed
326
353
 
@@ -329,7 +356,8 @@ Complete rewrite on top of `dry-schema`.
329
356
 
330
357
  [Compare v0.11.0...v0.11.1](https://github.com/dry-rb/dry-validation/compare/v0.11.0...v0.11.1)
331
358
 
332
- # v0.11.0 2017-05-30
359
+ ## 0.11.0 2017-05-30
360
+
333
361
 
334
362
  ### Changed
335
363
 
@@ -337,32 +365,39 @@ Complete rewrite on top of `dry-schema`.
337
365
 
338
366
  [Compare v0.10.7...v0.11.0](https://github.com/dry-rb/dry-validation/compare/v0.10.7...v0.11.0)
339
367
 
340
- # v0.10.7 2017-05-15
368
+ ## 0.10.7 2017-05-15
369
+
341
370
 
342
371
  ### Fixed
343
372
 
344
373
  - `validate` can now be defined multiple times for the same key (kimquy)
345
374
  - Re-using rules between schemas no longer mutates original rule set (pabloh)
346
375
 
376
+
347
377
  [Compare v0.10.6...v0.10.7](https://github.com/dry-rb/dry-validation/compare/v0.10.6...v0.10.7)
348
378
 
349
- # v0.10.6 2017-04-26
379
+ ## 0.10.6 2017-04-26
380
+
350
381
 
351
382
  ### Fixed
352
383
 
353
384
  - Fixes issue with wrong localized error messages when namespaced messages are used (kbredemeier)
354
385
 
386
+
355
387
  [Compare v0.10.5...v0.10.6](https://github.com/dry-rb/dry-validation/compare/v0.10.5...v0.10.6)
356
388
 
357
- # v0.10.5 2017-01-12
389
+ ## 0.10.5 2017-01-12
390
+
358
391
 
359
392
  ### Fixed
360
393
 
361
394
  - Warnings under MRI 2.4.0 are gone (koic)
362
395
 
396
+
363
397
  [Compare v0.10.4...v0.10.5](https://github.com/dry-rb/dry-validation/compare/v0.10.4...v0.10.5)
364
398
 
365
- # v0.10.4 2016-12-03
399
+ ## 0.10.4 2016-12-03
400
+
366
401
 
367
402
  ### Fixed
368
403
 
@@ -375,31 +410,38 @@ Complete rewrite on top of `dry-schema`.
375
410
 
376
411
  [Compare v0.10.3...v0.10.4](https://github.com/dry-rb/dry-validation/compare/v0.10.3...v0.10.4)
377
412
 
378
- # v0.10.3 2016-09-27
413
+ ## 0.10.3 2016-09-27
414
+
379
415
 
380
416
  ### Fixed
381
417
 
382
418
  - Custom predicates work correctly with `each` macro (solnic)
383
419
 
420
+
384
421
  [Compare v0.10.2...v0.10.3](https://github.com/dry-rb/dry-validation/compare/v0.10.2...v0.10.3)
385
422
 
386
- # v0.10.2 2016-09-23
423
+ ## 0.10.2 2016-09-23
424
+
387
425
 
388
426
  ### Fixed
389
427
 
390
428
  - Constrained types + hints work again (solnic)
391
429
 
430
+
392
431
  [Compare v0.10.1...v0.10.2](https://github.com/dry-rb/dry-validation/compare/v0.10.1...v0.10.2)
393
432
 
394
- # v0.10.1 2016-09-22
433
+ ## 0.10.1 2016-09-22
434
+
395
435
 
396
436
  ### Fixed
397
437
 
398
438
  - Remove obsolete require of `dry/struct` which is now an optional extension (flash-gordon)
399
439
 
440
+
400
441
  [Compare v0.10.0...v0.10.1](https://github.com/dry-rb/dry-validation/compare/v0.10.0...v0.10.1)
401
442
 
402
- # v0.10.0 2016-09-21
443
+ ## 0.10.0 2016-09-21
444
+
403
445
 
404
446
  ### Added
405
447
 
@@ -422,34 +464,31 @@ Complete rewrite on top of `dry-schema`.
422
464
  - [BREAKING] `when` macro no longer supports multiple disconnected rules in its block, whatever the block returns will be used for the implication (solnic)
423
465
  - [BREAKING] `rule(some_name: %i(some keys))` will _always_ use `:some_name` as the key for failure messages (solnic)
424
466
 
425
- ### Internal
426
-
427
- - ~2 x performance boost (solnic)
428
- - Rule AST was updated to latest dry-logic (solnic)
429
- - `MessageCompiler` was drastically simplified based on the new result AST from dry-logic (solnic)
430
- - `HintCompiler` is gone as hints are now part of the result AST (solnic)
431
- - `maybe` macro creates an implication instead of a disjunction (`not(none?).then(*your-predicates)`) (solnic)
432
-
433
467
  [Compare v0.9.5...v0.10.0](https://github.com/dry-rb/dry-validation/compare/v0.9.5...v0.10.0)
434
468
 
435
- # v0.9.5 2016-08-16
469
+ ## 0.9.5 2016-08-16
470
+
436
471
 
437
472
  ### Fixed
438
473
 
439
474
  - Infering multiple predicates with options works as expected ie `value(:str?, min_size?: 3, max_size?: 6)` (solnic)
440
475
  - Default `locale` configured in `I18n` is now respected by the messages compiler (agustin + cavi21)
441
476
 
477
+
442
478
  [Compare v0.9.4...v0.9.5](https://github.com/dry-rb/dry-validation/compare/v0.9.4...v0.9.5)
443
479
 
444
- # v0.9.4 2016-08-11
480
+ ## 0.9.4 2016-08-11
481
+
445
482
 
446
483
  ### Fixed
447
484
 
448
485
  - Error messages for sibling deeply nested schemas are nested correctly (timriley)
449
486
 
487
+
450
488
  [Compare v0.9.3...v0.9.4](https://github.com/dry-rb/dry-validation/compare/v0.9.3...v0.9.4)
451
489
 
452
- # v0.9.3 2016-07-22
490
+ ## 0.9.3 2016-07-22
491
+
453
492
 
454
493
  ### Added
455
494
 
@@ -467,24 +506,29 @@ Complete rewrite on top of `dry-schema`.
467
506
 
468
507
  [Compare v0.9.2...v0.9.3](https://github.com/dry-rb/dry-validation/compare/v0.9.2...v0.9.3)
469
508
 
470
- # v0.9.2 2016-07-13
509
+ ## 0.9.2 2016-07-13
510
+
471
511
 
472
512
  ### Fixed
473
513
 
474
514
  - Constrained types now work with `each` macro (solnic)
475
515
  - Array coercion without member type works now ie `required(:arr).maybe(:array?)` (solnic)
476
516
 
517
+
477
518
  [Compare v0.9.1...v0.9.2](https://github.com/dry-rb/dry-validation/compare/v0.9.1...v0.9.2)
478
519
 
479
- # v0.9.1 2016-07-11
520
+ ## 0.9.1 2016-07-11
521
+
480
522
 
481
523
  ### Fixed
482
524
 
483
525
  - `I18n` backend is no longer required and set by default (solnic)
484
526
 
527
+
485
528
  [Compare v0.9.0...v0.9.1](https://github.com/dry-rb/dry-validation/compare/v0.9.0...v0.9.1)
486
529
 
487
- # v0.9.0 2016-07-08
530
+ ## 0.9.0 2016-07-08
531
+
488
532
 
489
533
  ### Added
490
534
 
@@ -497,10 +541,6 @@ Complete rewrite on top of `dry-schema`.
497
541
  - Support for message token transformations in custom predicates (fran-worley)
498
542
  - [EXPERIMENTAL] Ability to compose predicates that accept dynamic args provided by the schema (solnic)
499
543
 
500
- ### Changed
501
-
502
- - Tokens for `size?` were renamed `left` => `size_left` and `right` => `size_right` (fran-worley)
503
-
504
544
  ### Fixed
505
545
 
506
546
  - Duped key names in nested schemas no longer result in invalid error messages structure (solnic)
@@ -510,18 +550,14 @@ Complete rewrite on top of `dry-schema`.
510
550
  - Hints for elements are no longer provided for an array when the value is not an array (solnic)
511
551
  - `input` macro no longer messes up error messages for nested structures (solnic)
512
552
 
513
- ### Internal
553
+ ### Changed
514
554
 
515
- - Compiling messages is now ~5% faster (solnic + splattael)
516
- - Refactored Error and Hint compilers (solnic)
517
- - Refactored Schema to use an internal executor objects with steps (solnic)
518
- - Extracted root-rule into a separate validation step (solnic)
519
- - Added `MessageSet` that result objects now use (in 1.0.0 it'll be exposed via public API) (solnic)
520
- - We can now distinguish error messages from validation hints via `Message` and `Hint` objects (solnic)
555
+ - Tokens for `size?` were renamed `left` => `size_left` and `right` => `size_right` (fran-worley)
521
556
 
522
557
  [Compare v0.8.0...v0.9.0](https://github.com/dry-rb/dry-validation/compare/v0.8.0...v0.9.0)
523
558
 
524
- # v0.8.0 2016-07-01
559
+ ## 0.8.0 2016-07-01
560
+
525
561
 
526
562
  ### Added
527
563
 
@@ -567,19 +603,10 @@ Complete rewrite on top of `dry-schema`.
567
603
  - Deprecate key in favor of required (coop)
568
604
  - Remove nested key syntax (solnic)
569
605
 
570
- ### Internal
571
-
572
- - ~15% performance boost via various optimizations (solnic)
573
- - When using explicit type specs building a schema is ~80-85x faster (solnic)
574
- - No longer uses `Dry::Types::Predicates` as `:type?` predicate was moved to dry-logic (solnic)
575
- - Integration specs covering predicates with Form and Schema (jodosha)
576
- - Use latest ruby versions on travis (flash-gordon)
577
- - Make pry console optional with IRB as a default (flash-gordon)
578
- - Remove wrapping rules in :set nodes (solnic)
579
-
580
606
  [Compare v0.7.4...v0.8.0](https://github.com/dry-rb/dry-validation/compare/v0.7.4...v0.8.0)
581
607
 
582
- # v0.7.4 2016-04-06
608
+ ## 0.7.4 2016-04-06
609
+
583
610
 
584
611
  ### Added
585
612
 
@@ -590,9 +617,11 @@ Complete rewrite on top of `dry-schema`.
590
617
 
591
618
  - Depending on deeply nested values in high-level rules works now (solnic)
592
619
 
620
+
593
621
  [Compare v0.7.3...v0.7.4](https://github.com/dry-rb/dry-validation/compare/v0.7.3...v0.7.4)
594
622
 
595
- # v0.7.3 2016-03-30
623
+ ## 0.7.3 2016-03-30
624
+
596
625
 
597
626
  ### Added
598
627
 
@@ -605,22 +634,22 @@ Complete rewrite on top of `dry-schema`.
605
634
  - Creating a nested schema properly sets full path to nested data structure (solnic)
606
635
  - Error message for `empty?` predicate is now correct (jodosha)
607
636
 
608
- ### Internal
609
-
610
- - Switch from `thread_safe` to `concurrent` (joevandyk)
611
637
 
612
638
  [Compare v0.7.2...v0.7.3](https://github.com/dry-rb/dry-validation/compare/v0.7.2...v0.7.3)
613
639
 
614
- # v0.7.2 2016-03-28
640
+ ## 0.7.2 2016-03-28
641
+
615
642
 
616
643
  ### Added
617
644
 
618
645
  - Support for nested schemas inside high-level rules (solnic)
619
646
  - `Schema#to_proc` so that you can do `data.each(&schema)` (solnic)
620
647
 
648
+
621
649
  [Compare v0.7.1...v0.7.2](https://github.com/dry-rb/dry-validation/compare/v0.7.1...v0.7.2)
622
650
 
623
- # v0.7.1 2016-03-21
651
+ ## 0.7.1 2016-03-21
652
+
624
653
 
625
654
  ### Added
626
655
 
@@ -638,7 +667,8 @@ Complete rewrite on top of `dry-schema`.
638
667
 
639
668
  [Compare v0.7.0...v0.7.1](https://github.com/dry-rb/dry-validation/compare/v0.7.0...v0.7.1)
640
669
 
641
- # v0.7.0 2016-03-16
670
+ ## 0.7.0 2016-03-16
671
+
642
672
 
643
673
  ### Added
644
674
 
@@ -662,6 +692,12 @@ Complete rewrite on top of `dry-schema`.
662
692
  - `Validation::Result` responds to `#[]` and `#each` (delegating to its output)
663
693
  and it's an enumerable (solnic)
664
694
 
695
+ ### Fixed
696
+
697
+ - Qualified rule names properly use last node by default for error messages (solnic)
698
+ - Validation hints only include relevant messages (solnic)
699
+ - `:yaml` messages respect `:locale` option in `Result#messages` (solnic)
700
+
665
701
  ### Changed
666
702
 
667
703
  - `schema` was **removed** from the DSL, just use `key(:name).schema` instead (solnic)
@@ -672,15 +708,10 @@ Complete rewrite on top of `dry-schema`.
672
708
  - `Schema::Result` is now `Validation::Result` and it no longer has success and
673
709
  failure results, only error results are provided (solnic)
674
710
 
675
- ### Fixed
676
-
677
- - Qualified rule names properly use last node by default for error messages (solnic)
678
- - Validation hints only include relevant messages (solnic)
679
- - `:yaml` messages respect `:locale` option in `Result#messages` (solnic)
680
-
681
711
  [Compare v0.6.0...v0.7.0](https://github.com/dry-rb/dry-validation/compare/v0.6.0...v0.7.0)
682
712
 
683
- # v0.6.0 2016-01-20
713
+ ## 0.6.0 2016-01-20
714
+
684
715
 
685
716
  ### Added
686
717
 
@@ -691,38 +722,41 @@ Complete rewrite on top of `dry-schema`.
691
722
  - Support for `confirmation(:foo, some_predicate: some_argument)` shortcut syntax (solnic)
692
723
  - Support for error messages for grouped rules (like `confirmation`) (solnic)
693
724
  - Schemas support injecting rules from the outside (solnic)
694
-
695
- ## Changed
696
-
725
+ - ## Changed
697
726
  - `rule` uses objects that inherit from `BasicObject` to avoid conflicts with
698
727
  predicate names and built-in `Object` methods (solnic)
699
728
  - In `Schema::Form` both `key` and `optional` will apply `filled?` predicate by
700
729
  default when no block is passed (solnic)
701
730
 
702
- [Compare v0.5.0...v0.6.0](https://github.com/dry-rb/dry-validation/compare/v0.5.0...v0.6.0)
703
731
 
704
- # v0.5.0 2016-01-11
732
+ [Compare v0.5.0...v0.6.0](https://github.com/dry-rb/dry-validation/compare/v0.5.0...v0.6.0)
705
733
 
706
- ### Changed
734
+ ## 0.5.0 2016-01-11
707
735
 
708
- - Now depends on [dry-logic](https://github.com/dry-rb/dry-logic) for predicates and rules (solnic)
709
- - `dry/validation/schema/form` is now required by default (solnic)
710
736
 
711
737
  ### Fixed
712
738
 
713
739
  - `Schema::Form` uses safe `form.array` and `form.hash` types which fixes #42 (solnic)
714
740
 
741
+ ### Changed
742
+
743
+ - Now depends on [dry-logic](https://github.com/dry-rb/dry-logic) for predicates and rules (solnic)
744
+ - `dry/validation/schema/form` is now required by default (solnic)
745
+
715
746
  [Compare v0.4.1...v0.5.0](https://github.com/dry-rb/dry-validation/compare/v0.4.1...v0.5.0)
716
747
 
717
- # v0.4.1 2015-12-27
748
+ ## 0.4.1 2015-12-27
749
+
718
750
 
719
751
  ### Added
720
752
 
721
753
  - Support for `each` and type coercion inference in `Schema::Form` (solnic)
722
754
 
755
+
723
756
  [Compare v0.4.0...v0.4.1](https://github.com/dry-rb/dry-validation/compare/v0.4.0...v0.4.1)
724
757
 
725
- # v0.4.0 2015-12-21
758
+ ## 0.4.0 2015-12-21
759
+
726
760
 
727
761
  ### Added
728
762
 
@@ -736,9 +770,11 @@ Complete rewrite on top of `dry-schema`.
736
770
 
737
771
  - Error messages hash has now consistent structure `rule_name => [msgs_array, input_value]` (solnic)
738
772
 
773
+
739
774
  [Compare v0.3.1...v0.4.0](https://github.com/dry-rb/dry-validation/compare/v0.3.1...v0.4.0)
740
775
 
741
- # v0.3.1 2015-12-08
776
+ ## 0.3.1 2015-12-08
777
+
742
778
 
743
779
  ### Added
744
780
 
@@ -748,9 +784,11 @@ Complete rewrite on top of `dry-schema`.
748
784
 
749
785
  - Error compiler returns an empty hash rather than a nil when there are no errors (solnic)
750
786
 
787
+
751
788
  [Compare v0.3.0...v0.3.1](https://github.com/dry-rb/dry-validation/compare/v0.3.0...v0.3.1)
752
789
 
753
- # v0.3.0 2015-12-07
790
+ ## 0.3.0 2015-12-07
791
+
754
792
 
755
793
  ### Added
756
794
 
@@ -772,9 +810,10 @@ Complete rewrite on top of `dry-schema`.
772
810
  errors and messages
773
811
  - `Schema::Result#messages` returns a hash with rule names, messages and input values (solnic)
774
812
 
775
- [Compare v0.2.0...HEAD](https://github.com/dry-rb/dry-validation/compare/v0.2.0...HEAD)
813
+ [Compare v0.2.0...v0.3.0](https://github.com/dry-rb/dry-validation/compare/v0.2.0...v0.3.0)
814
+
815
+ ## 0.2.0 2015-11-30
776
816
 
777
- # v0.2.0 2015-11-30
778
817
 
779
818
  ### Added
780
819
 
@@ -795,8 +834,9 @@ Complete rewrite on top of `dry-schema`.
795
834
 
796
835
  - Added missing `and` / `or` interfaces to composite rules (solnic)
797
836
 
798
- [Compare v0.1.0...HEAD](https://github.com/dry-rb/dry-validation/compare/v0.1.0...HEAD)
799
837
 
800
- # v0.1.0 2015-11-25
838
+ [Compare v0.1.0...v0.2.0](https://github.com/dry-rb/dry-validation/compare/v0.1.0...v0.2.0)
839
+
840
+ ## 0.1.0 2015-11-25
801
841
 
802
842
  First public release
@@ -0,0 +1,39 @@
1
+ # frozen_string_literal: true
2
+ # this file is managed by dry-rb/devtools project
3
+
4
+ lib = File.expand_path('lib', __dir__)
5
+ $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
6
+ require 'dry/validation/version'
7
+
8
+ Gem::Specification.new do |spec|
9
+ spec.name = 'dry-validation'
10
+ spec.authors = ["Piotr Solnica"]
11
+ spec.email = ["piotr.solnica@gmail.com"]
12
+ spec.license = 'MIT'
13
+ spec.version = Dry::Validation::VERSION.dup
14
+
15
+ spec.summary = "Validation library"
16
+ spec.description = spec.summary
17
+ spec.homepage = 'https://dry-rb.org/gems/dry-validation'
18
+ spec.files = Dir["CHANGELOG.md", "LICENSE", "README.md", "dry-validation.gemspec", "lib/**/*", "config/*.yml"]
19
+ spec.require_paths = ['lib']
20
+
21
+ spec.metadata['allowed_push_host'] = 'https://rubygems.org'
22
+ spec.metadata['changelog_uri'] = 'https://github.com/dry-rb/dry-validation/blob/master/CHANGELOG.md'
23
+ spec.metadata['source_code_uri'] = 'https://github.com/dry-rb/dry-validation'
24
+ spec.metadata['bug_tracker_uri'] = 'https://github.com/dry-rb/dry-validation/issues'
25
+
26
+ spec.required_ruby_version = '>= 2.4.0'
27
+
28
+ # to update dependencies edit project.yml
29
+ spec.add_runtime_dependency "concurrent-ruby", "~> 1.0"
30
+ spec.add_runtime_dependency "dry-container", "~> 0.7", ">= 0.7.1"
31
+ spec.add_runtime_dependency "dry-core", "~> 0.4"
32
+ spec.add_runtime_dependency "dry-equalizer", "~> 0.2"
33
+ spec.add_runtime_dependency "dry-initializer", "~> 3.0"
34
+ spec.add_runtime_dependency "dry-schema", "~> 1.4", ">= 1.4.3"
35
+
36
+ spec.add_development_dependency "bundler"
37
+ spec.add_development_dependency "rake"
38
+ spec.add_development_dependency "rspec"
39
+ end
@@ -118,12 +118,18 @@ module Dry
118
118
  args.each_with_object([]) do |spec, macros|
119
119
  case spec
120
120
  when Hash
121
- spec.each { |k, v| macros << [k, Array(v)] }
121
+ add_macro_from_hash(macros, spec)
122
122
  else
123
123
  macros << Array(spec)
124
124
  end
125
125
  end
126
126
  end
127
+
128
+ def add_macro_from_hash(macros, spec)
129
+ spec.each do |k, v|
130
+ macros << [k, v.is_a?(Array) ? v : [v]]
131
+ end
132
+ end
127
133
  end
128
134
  end
129
135
  end
@@ -2,6 +2,6 @@
2
2
 
3
3
  module Dry
4
4
  module Validation
5
- VERSION = '1.4.1'
5
+ VERSION = '1.4.2'
6
6
  end
7
7
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: dry-validation
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.4.1
4
+ version: 1.4.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Piotr Solnica
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2020-01-08 00:00:00.000000000 Z
11
+ date: 2020-01-18 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: concurrent-ruby
@@ -25,53 +25,53 @@ dependencies:
25
25
  - !ruby/object:Gem::Version
26
26
  version: '1.0'
27
27
  - !ruby/object:Gem::Dependency
28
- name: dry-core
28
+ name: dry-container
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
31
  - - "~>"
32
32
  - !ruby/object:Gem::Version
33
- version: '0.4'
33
+ version: '0.7'
34
+ - - ">="
35
+ - !ruby/object:Gem::Version
36
+ version: 0.7.1
34
37
  type: :runtime
35
38
  prerelease: false
36
39
  version_requirements: !ruby/object:Gem::Requirement
37
40
  requirements:
38
41
  - - "~>"
39
42
  - !ruby/object:Gem::Version
40
- version: '0.4'
43
+ version: '0.7'
44
+ - - ">="
45
+ - !ruby/object:Gem::Version
46
+ version: 0.7.1
41
47
  - !ruby/object:Gem::Dependency
42
- name: dry-equalizer
48
+ name: dry-core
43
49
  requirement: !ruby/object:Gem::Requirement
44
50
  requirements:
45
51
  - - "~>"
46
52
  - !ruby/object:Gem::Version
47
- version: '0.2'
53
+ version: '0.4'
48
54
  type: :runtime
49
55
  prerelease: false
50
56
  version_requirements: !ruby/object:Gem::Requirement
51
57
  requirements:
52
58
  - - "~>"
53
59
  - !ruby/object:Gem::Version
54
- version: '0.2'
60
+ version: '0.4'
55
61
  - !ruby/object:Gem::Dependency
56
- name: dry-container
62
+ name: dry-equalizer
57
63
  requirement: !ruby/object:Gem::Requirement
58
64
  requirements:
59
65
  - - "~>"
60
66
  - !ruby/object:Gem::Version
61
- version: '0.7'
62
- - - ">="
63
- - !ruby/object:Gem::Version
64
- version: 0.7.1
67
+ version: '0.2'
65
68
  type: :runtime
66
69
  prerelease: false
67
70
  version_requirements: !ruby/object:Gem::Requirement
68
71
  requirements:
69
72
  - - "~>"
70
73
  - !ruby/object:Gem::Version
71
- version: '0.7'
72
- - - ">="
73
- - !ruby/object:Gem::Version
74
- version: 0.7.1
74
+ version: '0.2'
75
75
  - !ruby/object:Gem::Dependency
76
76
  name: dry-initializer
77
77
  requirement: !ruby/object:Gem::Requirement
@@ -92,7 +92,7 @@ dependencies:
92
92
  requirements:
93
93
  - - "~>"
94
94
  - !ruby/object:Gem::Version
95
- version: '1.0'
95
+ version: '1.4'
96
96
  - - ">="
97
97
  - !ruby/object:Gem::Version
98
98
  version: 1.4.3
@@ -102,7 +102,7 @@ dependencies:
102
102
  requirements:
103
103
  - - "~>"
104
104
  - !ruby/object:Gem::Version
105
- version: '1.0'
105
+ version: '1.4'
106
106
  - - ">="
107
107
  - !ruby/object:Gem::Version
108
108
  version: 1.4.3
@@ -148,7 +148,7 @@ dependencies:
148
148
  - - ">="
149
149
  - !ruby/object:Gem::Version
150
150
  version: '0'
151
- description:
151
+ description: Validation library
152
152
  email:
153
153
  - piotr.solnica@gmail.com
154
154
  executables: []
@@ -159,6 +159,7 @@ files:
159
159
  - LICENSE
160
160
  - README.md
161
161
  - config/errors.yml
162
+ - dry-validation.gemspec
162
163
  - lib/dry-validation.rb
163
164
  - lib/dry/validation.rb
164
165
  - lib/dry/validation/config.rb
@@ -184,7 +185,11 @@ files:
184
185
  homepage: https://dry-rb.org/gems/dry-validation
185
186
  licenses:
186
187
  - MIT
187
- metadata: {}
188
+ metadata:
189
+ allowed_push_host: https://rubygems.org
190
+ changelog_uri: https://github.com/dry-rb/dry-validation/blob/master/CHANGELOG.md
191
+ source_code_uri: https://github.com/dry-rb/dry-validation
192
+ bug_tracker_uri: https://github.com/dry-rb/dry-validation/issues
188
193
  post_install_message:
189
194
  rdoc_options: []
190
195
  require_paths:
@@ -193,14 +198,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
193
198
  requirements:
194
199
  - - ">="
195
200
  - !ruby/object:Gem::Version
196
- version: '2.3'
201
+ version: 2.4.0
197
202
  required_rubygems_version: !ruby/object:Gem::Requirement
198
203
  requirements:
199
204
  - - ">="
200
205
  - !ruby/object:Gem::Version
201
206
  version: '0'
202
207
  requirements: []
203
- rubygems_version: 3.1.2
208
+ rubygems_version: 3.0.3
204
209
  signing_key:
205
210
  specification_version: 4
206
211
  summary: Validation library