dry-validation 1.4.0 → 1.5.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 +4 -4
- data/CHANGELOG.md +207 -112
- data/LICENSE +1 -1
- data/README.md +9 -10
- data/dry-validation.gemspec +41 -0
- data/lib/dry-validation.rb +1 -1
- data/lib/dry/validation.rb +6 -8
- data/lib/dry/validation/config.rb +2 -2
- data/lib/dry/validation/constants.rb +5 -5
- data/lib/dry/validation/contract.rb +13 -13
- data/lib/dry/validation/contract/class_interface.rb +40 -32
- data/lib/dry/validation/evaluator.rb +21 -7
- data/lib/dry/validation/extensions/hints.rb +1 -3
- data/lib/dry/validation/extensions/monads.rb +1 -1
- data/lib/dry/validation/extensions/predicates_as_macros.rb +3 -3
- data/lib/dry/validation/failures.rb +8 -3
- data/lib/dry/validation/function.rb +2 -2
- data/lib/dry/validation/macro.rb +2 -2
- data/lib/dry/validation/macros.rb +3 -3
- data/lib/dry/validation/message.rb +3 -3
- data/lib/dry/validation/message_set.rb +4 -50
- data/lib/dry/validation/messages/resolver.rb +35 -3
- data/lib/dry/validation/result.rb +21 -5
- data/lib/dry/validation/rule.rb +10 -4
- data/lib/dry/validation/schema_ext.rb +1 -28
- data/lib/dry/validation/values.rb +11 -5
- data/lib/dry/validation/version.rb +1 -1
- metadata +27 -28
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 83395b144bcdc666d13ac3cb100e2a7488ba9caa638067f03beee031964da26a
|
4
|
+
data.tar.gz: fa5f1480a6bff63238c76ffc6ee8c574ccc113048843d5f79c9fdc216b899d23
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 7d14bcf252cbf7cd6a2d58f936d65da3e71343388b87924f51f56cd7812fecff33bab17f4193cf354cc76fd7d3bbbd2081e847b0c8b54b466c1781599aeba25b
|
7
|
+
data.tar.gz: 11d241432260233c0b7f8fe03b69e1a2cd44e0e7fd241a90ba5f3eb65eff4f21e7c8c88e3fa5c903dc65dbbd78de537a03368ba47cf714a295c7da8784286af8
|
data/CHANGELOG.md
CHANGED
@@ -1,4 +1,71 @@
|
|
1
|
-
|
1
|
+
## 1.5.1 2020-06-18
|
2
|
+
|
3
|
+
|
4
|
+
### Fixed
|
5
|
+
|
6
|
+
- dry-monads no longer required for the `:hints` extension (@schokomarie)
|
7
|
+
- Using `full: true` option works as expected with custom rule messages (issue #618 fixed via #651) (@sirfilip)
|
8
|
+
- Using `locale: ...` option works as expected with hints (issue #589 fixed via #652) (@sirfilip)
|
9
|
+
- `key?` predicate in rules no longer crashes when the rule path points to a non-existent array value (issue #653 fixed via #654) (@solnic)
|
10
|
+
|
11
|
+
|
12
|
+
[Compare v1.5.1...v1.5.1](https://github.com/dry-rb/dry-validation/compare/v1.5.1...v1.5.1)
|
13
|
+
|
14
|
+
## 1.5.1 2020-06-18
|
15
|
+
|
16
|
+
|
17
|
+
### Fixed
|
18
|
+
|
19
|
+
- dry-monads no longer required for the `:hints` extension (@schokomarie)
|
20
|
+
- Using `full: true` option works as expected with custom rule messages (issue #618 fixed via #651) (@sirfilip)
|
21
|
+
- Using `locale: ...` option works as expected with hints (issue #589 fixed via #652) (@sirfilip)
|
22
|
+
- `key?` predicate in rules no longer crashes when the rule path points to a non-existent array value (issue #653 fixed via #654) (@solnic)
|
23
|
+
|
24
|
+
|
25
|
+
[Compare v1.5.0...v1.5.1](https://github.com/dry-rb/dry-validation/compare/v1.5.0...v1.5.1)
|
26
|
+
|
27
|
+
## 1.5.0 2020-03-11
|
28
|
+
|
29
|
+
|
30
|
+
### Added
|
31
|
+
|
32
|
+
- `schema_error?` rule helper (@waiting-for-dev)
|
33
|
+
- `rule_error?` rule helper (@waiting-for-dev)
|
34
|
+
|
35
|
+
### Changed
|
36
|
+
|
37
|
+
- dry-schema dependency was bumped to `~> 1.5` (@solnic)
|
38
|
+
- [internal] `KeyMap` patches have been removed since dry-schema now provides required functionality (@solnic)
|
39
|
+
|
40
|
+
[Compare v1.4.2...v1.5.0](https://github.com/dry-rb/dry-validation/compare/v1.4.2...v1.5.0)
|
41
|
+
|
42
|
+
## 1.4.2 2020-01-18
|
43
|
+
|
44
|
+
|
45
|
+
### Fixed
|
46
|
+
|
47
|
+
- Macros using predicates that accept a range argument work as expected (no need to wrap the argument in an array) (@waiting-for-dev)
|
48
|
+
|
49
|
+
|
50
|
+
[Compare v1.4.1...v1.4.2](https://github.com/dry-rb/dry-validation/compare/v1.4.1...v1.4.2)
|
51
|
+
|
52
|
+
## 1.4.1 2020-01-08
|
53
|
+
|
54
|
+
|
55
|
+
### Added
|
56
|
+
|
57
|
+
- Pattern matching on result values (@flash-gordon)
|
58
|
+
|
59
|
+
### Fixed
|
60
|
+
|
61
|
+
- List tokens are correctly interpolated as a comma separated list in rule messages (see #611) (@waiting-for-dev)
|
62
|
+
- Warnings about delegated keywords (@flash-gordon)
|
63
|
+
|
64
|
+
|
65
|
+
[Compare v1.4.0...v1.4.1](https://github.com/dry-rb/dry-validation/compare/v1.4.0...v1.4.1)
|
66
|
+
|
67
|
+
## 1.4.0 2019-12-12
|
68
|
+
|
2
69
|
|
3
70
|
### Added
|
4
71
|
|
@@ -16,9 +83,10 @@
|
|
16
83
|
- [internal] improved performance in `Contract.ensure_valid_keys` (@grzegorz-jakubiak)
|
17
84
|
- [internal] fixed keyword warnings on MRI 2.7.0 (@flash-gordon)
|
18
85
|
|
19
|
-
[Compare v1.3.1...
|
86
|
+
[Compare v1.3.1...v1.4.0](https://github.com/dry-rb/dry-validation/compare/v1.3.1...v1.4.0)
|
87
|
+
|
88
|
+
## 1.3.1 2019-08-16
|
20
89
|
|
21
|
-
# v1.3.1 2019-08-16
|
22
90
|
|
23
91
|
### Changed
|
24
92
|
|
@@ -26,7 +94,8 @@
|
|
26
94
|
|
27
95
|
[Compare v1.3.0...v1.3.1](https://github.com/dry-rb/dry-validation/compare/v1.3.0...v1.3.1)
|
28
96
|
|
29
|
-
|
97
|
+
## 1.3.0 2019-08-14
|
98
|
+
|
30
99
|
|
31
100
|
### Added
|
32
101
|
|
@@ -42,7 +111,8 @@
|
|
42
111
|
|
43
112
|
[Compare v1.2.1...v1.3.0](https://github.com/dry-rb/dry-validation/compare/v1.2.1...v1.3.0)
|
44
113
|
|
45
|
-
|
114
|
+
## 1.2.1 2019-07-16
|
115
|
+
|
46
116
|
|
47
117
|
### Fixed
|
48
118
|
|
@@ -51,9 +121,11 @@
|
|
51
121
|
- Fixed an issue where guarding a rule would crash when keys are missing in the input (issue #569) (@solnic)
|
52
122
|
- Added missing "pathname" require (issue #570) (@solnic)
|
53
123
|
|
124
|
+
|
54
125
|
[Compare v1.2.0...v1.2.1](https://github.com/dry-rb/dry-validation/compare/v1.2.0...v1.2.1)
|
55
126
|
|
56
|
-
|
127
|
+
## 1.2.0 2019-07-08
|
128
|
+
|
57
129
|
|
58
130
|
### Added
|
59
131
|
|
@@ -69,15 +141,18 @@
|
|
69
141
|
|
70
142
|
[Compare v1.1.1...v1.2.0](https://github.com/dry-rb/dry-validation/compare/v1.1.1...v1.2.0)
|
71
143
|
|
72
|
-
|
144
|
+
## 1.1.1 2019-06-24
|
145
|
+
|
73
146
|
|
74
147
|
### Fixed
|
75
148
|
|
76
149
|
- `Rule#each` works with array values from nested hashes (@mustardnoise)
|
77
150
|
|
151
|
+
|
78
152
|
[Compare v1.1.0...v1.1.1](https://github.com/dry-rb/dry-validation/compare/v1.1.0...v1.1.1)
|
79
153
|
|
80
|
-
|
154
|
+
## 1.1.0 2019-06-14
|
155
|
+
|
81
156
|
|
82
157
|
### Added
|
83
158
|
|
@@ -89,25 +164,18 @@
|
|
89
164
|
|
90
165
|
- Passing multiple macro names to `validate` or `each` works correctly (fixed #538 #541) (@jandudulski)
|
91
166
|
|
92
|
-
[Compare v1.0.0...v1.1.0](https://github.com/dry-rb/dry-validation/compare/v1.0.0...v1.1.0)
|
93
167
|
|
94
|
-
|
168
|
+
[Compare v1.0.0...v1.1.0](https://github.com/dry-rb/dry-validation/compare/v1.0.0...v1.1.0)
|
95
169
|
|
96
|
-
|
170
|
+
## 1.0.0 2019-06-10
|
97
171
|
|
98
172
|
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).
|
99
173
|
|
100
|
-
### :sparkles: Release highlights :sparkles:
|
101
174
|
|
102
|
-
-
|
103
|
-
- Improved message backends with support for `key` and `base` messages, and arbitrary meta-data (like error codes etc.)
|
104
|
-
- Support for defining rules for array elements ie `rule(:items).each { ... }`
|
105
|
-
- Support for macros that encapsulate common rule logic
|
106
|
-
- Built-in `:acceptance` macro
|
175
|
+
[Compare v1.0.0...v1.0.0](https://github.com/dry-rb/dry-validation/compare/v1.0.0...v1.0.0)
|
107
176
|
|
108
|
-
|
177
|
+
## 1.0.0 2019-06-10
|
109
178
|
|
110
|
-
# v1.0.0 2019-06-10 (compared to 1.0.0.rc3)
|
111
179
|
|
112
180
|
### Added
|
113
181
|
|
@@ -130,7 +198,8 @@ See [the list of all addressed issues](https://github.com/dry-rb/dry-validation/
|
|
130
198
|
|
131
199
|
[Compare v1.0.0.rc3...v1.0.0](https://github.com/dry-rb/dry-validation/compare/v1.0.0.rc3...v1.0.0)
|
132
200
|
|
133
|
-
|
201
|
+
## 1.0.0.rc3 2019-05-06
|
202
|
+
|
134
203
|
|
135
204
|
### Added
|
136
205
|
|
@@ -143,9 +212,10 @@ See [the list of all addressed issues](https://github.com/dry-rb/dry-validation/
|
|
143
212
|
|
144
213
|
- `config/errors.yml` are now bundled with the gem, **`rc2` was broken because of this** (solnic)
|
145
214
|
|
215
|
+
|
146
216
|
[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)
|
147
217
|
|
148
|
-
|
218
|
+
## 1.0.0.rc2 2019-05-04
|
149
219
|
|
150
220
|
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`.
|
151
221
|
|
@@ -165,7 +235,8 @@ This was **yanked** on rubygems.org because the bundled gem was missing `config`
|
|
165
235
|
|
166
236
|
[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)
|
167
237
|
|
168
|
-
|
238
|
+
## 1.0.0.rc1 2019-04-26
|
239
|
+
|
169
240
|
|
170
241
|
### Added
|
171
242
|
|
@@ -184,7 +255,8 @@ This was **yanked** on rubygems.org because the bundled gem was missing `config`
|
|
184
255
|
|
185
256
|
[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)
|
186
257
|
|
187
|
-
|
258
|
+
## 1.0.0.beta2 2019-04-04
|
259
|
+
|
188
260
|
|
189
261
|
### Added
|
190
262
|
|
@@ -212,7 +284,8 @@ This was **yanked** on rubygems.org because the bundled gem was missing `config`
|
|
212
284
|
|
213
285
|
[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)
|
214
286
|
|
215
|
-
|
287
|
+
## 1.0.0.beta1 2019-03-26
|
288
|
+
|
216
289
|
|
217
290
|
### Added
|
218
291
|
|
@@ -233,7 +306,7 @@ This was **yanked** on rubygems.org because the bundled gem was missing `config`
|
|
233
306
|
|
234
307
|
[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)
|
235
308
|
|
236
|
-
|
309
|
+
## 1.0.0.alpha2 2019-03-05
|
237
310
|
|
238
311
|
First round of bug fixes. Thanks for testing <3!
|
239
312
|
|
@@ -249,7 +322,7 @@ First round of bug fixes. Thanks for testing <3!
|
|
249
322
|
|
250
323
|
[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)
|
251
324
|
|
252
|
-
|
325
|
+
## 1.0.0.alpha1 2019-03-04
|
253
326
|
|
254
327
|
Complete rewrite on top of `dry-schema`.
|
255
328
|
|
@@ -258,22 +331,25 @@ Complete rewrite on top of `dry-schema`.
|
|
258
331
|
- [BREAKING] `Dry::Validation::Contract` as a replacement for validation schemas (solnic)
|
259
332
|
- [BREAKING] New `rule` DSL with an improved API for setting error messages (solnic)
|
260
333
|
|
261
|
-
[Compare v0.13.0...v1.0.0.alpha1](https://github.com/dry-rb/dry-validation/compare/v0.13.0...v1.0.0.alpha1)
|
262
334
|
|
263
|
-
|
335
|
+
[Compare v0.13.0...v1.0.0.alpha1](https://github.com/dry-rb/dry-validation/compare/v0.13.0...v1.0.0.alpha1)
|
264
336
|
|
265
|
-
|
337
|
+
## 0.13.0 2019-01-29
|
266
338
|
|
267
|
-
- `dry-logic` was bumped to `~> 0.5` (solnic)
|
268
|
-
- `dry-types` was bumped to `~> 0.14` (solnic)
|
269
339
|
|
270
340
|
### Fixed
|
271
341
|
|
272
342
|
- Warning about method redefined (amatsuda)
|
273
343
|
|
344
|
+
### Changed
|
345
|
+
|
346
|
+
- `dry-logic` was bumped to `~> 0.5` (solnic)
|
347
|
+
- `dry-types` was bumped to `~> 0.14` (solnic)
|
348
|
+
|
274
349
|
[Compare v0.12.3...v0.13.0](https://github.com/dry-rb/dry-validation/compare/v0.12.3...v0.13.0)
|
275
350
|
|
276
|
-
|
351
|
+
## 0.12.3 2019-01-29
|
352
|
+
|
277
353
|
|
278
354
|
### Changed
|
279
355
|
|
@@ -281,23 +357,28 @@ Complete rewrite on top of `dry-schema`.
|
|
281
357
|
|
282
358
|
[Compare v0.12.2...v0.12.3](https://github.com/dry-rb/dry-validation/compare/v0.12.2...v0.12.3)
|
283
359
|
|
284
|
-
|
360
|
+
## 0.12.2 2018-08-29
|
361
|
+
|
285
362
|
|
286
363
|
### Fixed
|
287
364
|
|
288
365
|
- Use correct key names for rule messages when using i18n (jozzi05)
|
289
366
|
|
367
|
+
|
290
368
|
[Compare v0.12.1...v0.12.2](https://github.com/dry-rb/dry-validation/compare/v0.12.1...v0.12.2)
|
291
369
|
|
292
|
-
|
370
|
+
## 0.12.1 2018-07-06
|
371
|
+
|
293
372
|
|
294
373
|
### Fixed
|
295
374
|
|
296
375
|
- [internal] fixed deprecation warnings (flash-gordon)
|
297
376
|
|
377
|
+
|
298
378
|
[Compare v0.12.0...v0.12.1](https://github.com/dry-rb/dry-validation/compare/v0.12.0...v0.12.1)
|
299
379
|
|
300
|
-
|
380
|
+
## 0.12.0 2018-05-31
|
381
|
+
|
301
382
|
|
302
383
|
### Changed
|
303
384
|
|
@@ -306,7 +387,8 @@ Complete rewrite on top of `dry-schema`.
|
|
306
387
|
|
307
388
|
[Compare v0.11.1...v0.12.0](https://github.com/dry-rb/dry-validation/compare/v0.11.1...v0.12.0)
|
308
389
|
|
309
|
-
|
390
|
+
## 0.11.1 2017-09-15
|
391
|
+
|
310
392
|
|
311
393
|
### Changed
|
312
394
|
|
@@ -315,7 +397,8 @@ Complete rewrite on top of `dry-schema`.
|
|
315
397
|
|
316
398
|
[Compare v0.11.0...v0.11.1](https://github.com/dry-rb/dry-validation/compare/v0.11.0...v0.11.1)
|
317
399
|
|
318
|
-
|
400
|
+
## 0.11.0 2017-05-30
|
401
|
+
|
319
402
|
|
320
403
|
### Changed
|
321
404
|
|
@@ -323,32 +406,39 @@ Complete rewrite on top of `dry-schema`.
|
|
323
406
|
|
324
407
|
[Compare v0.10.7...v0.11.0](https://github.com/dry-rb/dry-validation/compare/v0.10.7...v0.11.0)
|
325
408
|
|
326
|
-
|
409
|
+
## 0.10.7 2017-05-15
|
410
|
+
|
327
411
|
|
328
412
|
### Fixed
|
329
413
|
|
330
414
|
- `validate` can now be defined multiple times for the same key (kimquy)
|
331
415
|
- Re-using rules between schemas no longer mutates original rule set (pabloh)
|
332
416
|
|
417
|
+
|
333
418
|
[Compare v0.10.6...v0.10.7](https://github.com/dry-rb/dry-validation/compare/v0.10.6...v0.10.7)
|
334
419
|
|
335
|
-
|
420
|
+
## 0.10.6 2017-04-26
|
421
|
+
|
336
422
|
|
337
423
|
### Fixed
|
338
424
|
|
339
425
|
- Fixes issue with wrong localized error messages when namespaced messages are used (kbredemeier)
|
340
426
|
|
427
|
+
|
341
428
|
[Compare v0.10.5...v0.10.6](https://github.com/dry-rb/dry-validation/compare/v0.10.5...v0.10.6)
|
342
429
|
|
343
|
-
|
430
|
+
## 0.10.5 2017-01-12
|
431
|
+
|
344
432
|
|
345
433
|
### Fixed
|
346
434
|
|
347
435
|
- Warnings under MRI 2.4.0 are gone (koic)
|
348
436
|
|
437
|
+
|
349
438
|
[Compare v0.10.4...v0.10.5](https://github.com/dry-rb/dry-validation/compare/v0.10.4...v0.10.5)
|
350
439
|
|
351
|
-
|
440
|
+
## 0.10.4 2016-12-03
|
441
|
+
|
352
442
|
|
353
443
|
### Fixed
|
354
444
|
|
@@ -361,31 +451,38 @@ Complete rewrite on top of `dry-schema`.
|
|
361
451
|
|
362
452
|
[Compare v0.10.3...v0.10.4](https://github.com/dry-rb/dry-validation/compare/v0.10.3...v0.10.4)
|
363
453
|
|
364
|
-
|
454
|
+
## 0.10.3 2016-09-27
|
455
|
+
|
365
456
|
|
366
457
|
### Fixed
|
367
458
|
|
368
459
|
- Custom predicates work correctly with `each` macro (solnic)
|
369
460
|
|
461
|
+
|
370
462
|
[Compare v0.10.2...v0.10.3](https://github.com/dry-rb/dry-validation/compare/v0.10.2...v0.10.3)
|
371
463
|
|
372
|
-
|
464
|
+
## 0.10.2 2016-09-23
|
465
|
+
|
373
466
|
|
374
467
|
### Fixed
|
375
468
|
|
376
469
|
- Constrained types + hints work again (solnic)
|
377
470
|
|
471
|
+
|
378
472
|
[Compare v0.10.1...v0.10.2](https://github.com/dry-rb/dry-validation/compare/v0.10.1...v0.10.2)
|
379
473
|
|
380
|
-
|
474
|
+
## 0.10.1 2016-09-22
|
475
|
+
|
381
476
|
|
382
477
|
### Fixed
|
383
478
|
|
384
479
|
- Remove obsolete require of `dry/struct` which is now an optional extension (flash-gordon)
|
385
480
|
|
481
|
+
|
386
482
|
[Compare v0.10.0...v0.10.1](https://github.com/dry-rb/dry-validation/compare/v0.10.0...v0.10.1)
|
387
483
|
|
388
|
-
|
484
|
+
## 0.10.0 2016-09-21
|
485
|
+
|
389
486
|
|
390
487
|
### Added
|
391
488
|
|
@@ -408,34 +505,31 @@ Complete rewrite on top of `dry-schema`.
|
|
408
505
|
- [BREAKING] `when` macro no longer supports multiple disconnected rules in its block, whatever the block returns will be used for the implication (solnic)
|
409
506
|
- [BREAKING] `rule(some_name: %i(some keys))` will _always_ use `:some_name` as the key for failure messages (solnic)
|
410
507
|
|
411
|
-
### Internal
|
412
|
-
|
413
|
-
- ~2 x performance boost (solnic)
|
414
|
-
- Rule AST was updated to latest dry-logic (solnic)
|
415
|
-
- `MessageCompiler` was drastically simplified based on the new result AST from dry-logic (solnic)
|
416
|
-
- `HintCompiler` is gone as hints are now part of the result AST (solnic)
|
417
|
-
- `maybe` macro creates an implication instead of a disjunction (`not(none?).then(*your-predicates)`) (solnic)
|
418
|
-
|
419
508
|
[Compare v0.9.5...v0.10.0](https://github.com/dry-rb/dry-validation/compare/v0.9.5...v0.10.0)
|
420
509
|
|
421
|
-
|
510
|
+
## 0.9.5 2016-08-16
|
511
|
+
|
422
512
|
|
423
513
|
### Fixed
|
424
514
|
|
425
515
|
- Infering multiple predicates with options works as expected ie `value(:str?, min_size?: 3, max_size?: 6)` (solnic)
|
426
516
|
- Default `locale` configured in `I18n` is now respected by the messages compiler (agustin + cavi21)
|
427
517
|
|
518
|
+
|
428
519
|
[Compare v0.9.4...v0.9.5](https://github.com/dry-rb/dry-validation/compare/v0.9.4...v0.9.5)
|
429
520
|
|
430
|
-
|
521
|
+
## 0.9.4 2016-08-11
|
522
|
+
|
431
523
|
|
432
524
|
### Fixed
|
433
525
|
|
434
526
|
- Error messages for sibling deeply nested schemas are nested correctly (timriley)
|
435
527
|
|
528
|
+
|
436
529
|
[Compare v0.9.3...v0.9.4](https://github.com/dry-rb/dry-validation/compare/v0.9.3...v0.9.4)
|
437
530
|
|
438
|
-
|
531
|
+
## 0.9.3 2016-07-22
|
532
|
+
|
439
533
|
|
440
534
|
### Added
|
441
535
|
|
@@ -453,24 +547,29 @@ Complete rewrite on top of `dry-schema`.
|
|
453
547
|
|
454
548
|
[Compare v0.9.2...v0.9.3](https://github.com/dry-rb/dry-validation/compare/v0.9.2...v0.9.3)
|
455
549
|
|
456
|
-
|
550
|
+
## 0.9.2 2016-07-13
|
551
|
+
|
457
552
|
|
458
553
|
### Fixed
|
459
554
|
|
460
555
|
- Constrained types now work with `each` macro (solnic)
|
461
556
|
- Array coercion without member type works now ie `required(:arr).maybe(:array?)` (solnic)
|
462
557
|
|
558
|
+
|
463
559
|
[Compare v0.9.1...v0.9.2](https://github.com/dry-rb/dry-validation/compare/v0.9.1...v0.9.2)
|
464
560
|
|
465
|
-
|
561
|
+
## 0.9.1 2016-07-11
|
562
|
+
|
466
563
|
|
467
564
|
### Fixed
|
468
565
|
|
469
566
|
- `I18n` backend is no longer required and set by default (solnic)
|
470
567
|
|
568
|
+
|
471
569
|
[Compare v0.9.0...v0.9.1](https://github.com/dry-rb/dry-validation/compare/v0.9.0...v0.9.1)
|
472
570
|
|
473
|
-
|
571
|
+
## 0.9.0 2016-07-08
|
572
|
+
|
474
573
|
|
475
574
|
### Added
|
476
575
|
|
@@ -483,10 +582,6 @@ Complete rewrite on top of `dry-schema`.
|
|
483
582
|
- Support for message token transformations in custom predicates (fran-worley)
|
484
583
|
- [EXPERIMENTAL] Ability to compose predicates that accept dynamic args provided by the schema (solnic)
|
485
584
|
|
486
|
-
### Changed
|
487
|
-
|
488
|
-
- Tokens for `size?` were renamed `left` => `size_left` and `right` => `size_right` (fran-worley)
|
489
|
-
|
490
585
|
### Fixed
|
491
586
|
|
492
587
|
- Duped key names in nested schemas no longer result in invalid error messages structure (solnic)
|
@@ -496,18 +591,14 @@ Complete rewrite on top of `dry-schema`.
|
|
496
591
|
- Hints for elements are no longer provided for an array when the value is not an array (solnic)
|
497
592
|
- `input` macro no longer messes up error messages for nested structures (solnic)
|
498
593
|
|
499
|
-
###
|
594
|
+
### Changed
|
500
595
|
|
501
|
-
-
|
502
|
-
- Refactored Error and Hint compilers (solnic)
|
503
|
-
- Refactored Schema to use an internal executor objects with steps (solnic)
|
504
|
-
- Extracted root-rule into a separate validation step (solnic)
|
505
|
-
- Added `MessageSet` that result objects now use (in 1.0.0 it'll be exposed via public API) (solnic)
|
506
|
-
- We can now distinguish error messages from validation hints via `Message` and `Hint` objects (solnic)
|
596
|
+
- Tokens for `size?` were renamed `left` => `size_left` and `right` => `size_right` (fran-worley)
|
507
597
|
|
508
598
|
[Compare v0.8.0...v0.9.0](https://github.com/dry-rb/dry-validation/compare/v0.8.0...v0.9.0)
|
509
599
|
|
510
|
-
|
600
|
+
## 0.8.0 2016-07-01
|
601
|
+
|
511
602
|
|
512
603
|
### Added
|
513
604
|
|
@@ -553,19 +644,10 @@ Complete rewrite on top of `dry-schema`.
|
|
553
644
|
- Deprecate key in favor of required (coop)
|
554
645
|
- Remove nested key syntax (solnic)
|
555
646
|
|
556
|
-
### Internal
|
557
|
-
|
558
|
-
- ~15% performance boost via various optimizations (solnic)
|
559
|
-
- When using explicit type specs building a schema is ~80-85x faster (solnic)
|
560
|
-
- No longer uses `Dry::Types::Predicates` as `:type?` predicate was moved to dry-logic (solnic)
|
561
|
-
- Integration specs covering predicates with Form and Schema (jodosha)
|
562
|
-
- Use latest ruby versions on travis (flash-gordon)
|
563
|
-
- Make pry console optional with IRB as a default (flash-gordon)
|
564
|
-
- Remove wrapping rules in :set nodes (solnic)
|
565
|
-
|
566
647
|
[Compare v0.7.4...v0.8.0](https://github.com/dry-rb/dry-validation/compare/v0.7.4...v0.8.0)
|
567
648
|
|
568
|
-
|
649
|
+
## 0.7.4 2016-04-06
|
650
|
+
|
569
651
|
|
570
652
|
### Added
|
571
653
|
|
@@ -576,9 +658,11 @@ Complete rewrite on top of `dry-schema`.
|
|
576
658
|
|
577
659
|
- Depending on deeply nested values in high-level rules works now (solnic)
|
578
660
|
|
661
|
+
|
579
662
|
[Compare v0.7.3...v0.7.4](https://github.com/dry-rb/dry-validation/compare/v0.7.3...v0.7.4)
|
580
663
|
|
581
|
-
|
664
|
+
## 0.7.3 2016-03-30
|
665
|
+
|
582
666
|
|
583
667
|
### Added
|
584
668
|
|
@@ -591,22 +675,22 @@ Complete rewrite on top of `dry-schema`.
|
|
591
675
|
- Creating a nested schema properly sets full path to nested data structure (solnic)
|
592
676
|
- Error message for `empty?` predicate is now correct (jodosha)
|
593
677
|
|
594
|
-
### Internal
|
595
|
-
|
596
|
-
- Switch from `thread_safe` to `concurrent` (joevandyk)
|
597
678
|
|
598
679
|
[Compare v0.7.2...v0.7.3](https://github.com/dry-rb/dry-validation/compare/v0.7.2...v0.7.3)
|
599
680
|
|
600
|
-
|
681
|
+
## 0.7.2 2016-03-28
|
682
|
+
|
601
683
|
|
602
684
|
### Added
|
603
685
|
|
604
686
|
- Support for nested schemas inside high-level rules (solnic)
|
605
687
|
- `Schema#to_proc` so that you can do `data.each(&schema)` (solnic)
|
606
688
|
|
689
|
+
|
607
690
|
[Compare v0.7.1...v0.7.2](https://github.com/dry-rb/dry-validation/compare/v0.7.1...v0.7.2)
|
608
691
|
|
609
|
-
|
692
|
+
## 0.7.1 2016-03-21
|
693
|
+
|
610
694
|
|
611
695
|
### Added
|
612
696
|
|
@@ -624,7 +708,8 @@ Complete rewrite on top of `dry-schema`.
|
|
624
708
|
|
625
709
|
[Compare v0.7.0...v0.7.1](https://github.com/dry-rb/dry-validation/compare/v0.7.0...v0.7.1)
|
626
710
|
|
627
|
-
|
711
|
+
## 0.7.0 2016-03-16
|
712
|
+
|
628
713
|
|
629
714
|
### Added
|
630
715
|
|
@@ -648,6 +733,12 @@ Complete rewrite on top of `dry-schema`.
|
|
648
733
|
- `Validation::Result` responds to `#[]` and `#each` (delegating to its output)
|
649
734
|
and it's an enumerable (solnic)
|
650
735
|
|
736
|
+
### Fixed
|
737
|
+
|
738
|
+
- Qualified rule names properly use last node by default for error messages (solnic)
|
739
|
+
- Validation hints only include relevant messages (solnic)
|
740
|
+
- `:yaml` messages respect `:locale` option in `Result#messages` (solnic)
|
741
|
+
|
651
742
|
### Changed
|
652
743
|
|
653
744
|
- `schema` was **removed** from the DSL, just use `key(:name).schema` instead (solnic)
|
@@ -658,15 +749,10 @@ Complete rewrite on top of `dry-schema`.
|
|
658
749
|
- `Schema::Result` is now `Validation::Result` and it no longer has success and
|
659
750
|
failure results, only error results are provided (solnic)
|
660
751
|
|
661
|
-
### Fixed
|
662
|
-
|
663
|
-
- Qualified rule names properly use last node by default for error messages (solnic)
|
664
|
-
- Validation hints only include relevant messages (solnic)
|
665
|
-
- `:yaml` messages respect `:locale` option in `Result#messages` (solnic)
|
666
|
-
|
667
752
|
[Compare v0.6.0...v0.7.0](https://github.com/dry-rb/dry-validation/compare/v0.6.0...v0.7.0)
|
668
753
|
|
669
|
-
|
754
|
+
## 0.6.0 2016-01-20
|
755
|
+
|
670
756
|
|
671
757
|
### Added
|
672
758
|
|
@@ -677,38 +763,41 @@ Complete rewrite on top of `dry-schema`.
|
|
677
763
|
- Support for `confirmation(:foo, some_predicate: some_argument)` shortcut syntax (solnic)
|
678
764
|
- Support for error messages for grouped rules (like `confirmation`) (solnic)
|
679
765
|
- Schemas support injecting rules from the outside (solnic)
|
680
|
-
|
681
|
-
## Changed
|
682
|
-
|
766
|
+
- ## Changed
|
683
767
|
- `rule` uses objects that inherit from `BasicObject` to avoid conflicts with
|
684
768
|
predicate names and built-in `Object` methods (solnic)
|
685
769
|
- In `Schema::Form` both `key` and `optional` will apply `filled?` predicate by
|
686
770
|
default when no block is passed (solnic)
|
687
771
|
|
688
|
-
[Compare v0.5.0...v0.6.0](https://github.com/dry-rb/dry-validation/compare/v0.5.0...v0.6.0)
|
689
772
|
|
690
|
-
|
773
|
+
[Compare v0.5.0...v0.6.0](https://github.com/dry-rb/dry-validation/compare/v0.5.0...v0.6.0)
|
691
774
|
|
692
|
-
|
775
|
+
## 0.5.0 2016-01-11
|
693
776
|
|
694
|
-
- Now depends on [dry-logic](https://github.com/dry-rb/dry-logic) for predicates and rules (solnic)
|
695
|
-
- `dry/validation/schema/form` is now required by default (solnic)
|
696
777
|
|
697
778
|
### Fixed
|
698
779
|
|
699
780
|
- `Schema::Form` uses safe `form.array` and `form.hash` types which fixes #42 (solnic)
|
700
781
|
|
782
|
+
### Changed
|
783
|
+
|
784
|
+
- Now depends on [dry-logic](https://github.com/dry-rb/dry-logic) for predicates and rules (solnic)
|
785
|
+
- `dry/validation/schema/form` is now required by default (solnic)
|
786
|
+
|
701
787
|
[Compare v0.4.1...v0.5.0](https://github.com/dry-rb/dry-validation/compare/v0.4.1...v0.5.0)
|
702
788
|
|
703
|
-
|
789
|
+
## 0.4.1 2015-12-27
|
790
|
+
|
704
791
|
|
705
792
|
### Added
|
706
793
|
|
707
794
|
- Support for `each` and type coercion inference in `Schema::Form` (solnic)
|
708
795
|
|
796
|
+
|
709
797
|
[Compare v0.4.0...v0.4.1](https://github.com/dry-rb/dry-validation/compare/v0.4.0...v0.4.1)
|
710
798
|
|
711
|
-
|
799
|
+
## 0.4.0 2015-12-21
|
800
|
+
|
712
801
|
|
713
802
|
### Added
|
714
803
|
|
@@ -722,9 +811,11 @@ Complete rewrite on top of `dry-schema`.
|
|
722
811
|
|
723
812
|
- Error messages hash has now consistent structure `rule_name => [msgs_array, input_value]` (solnic)
|
724
813
|
|
814
|
+
|
725
815
|
[Compare v0.3.1...v0.4.0](https://github.com/dry-rb/dry-validation/compare/v0.3.1...v0.4.0)
|
726
816
|
|
727
|
-
|
817
|
+
## 0.3.1 2015-12-08
|
818
|
+
|
728
819
|
|
729
820
|
### Added
|
730
821
|
|
@@ -734,9 +825,11 @@ Complete rewrite on top of `dry-schema`.
|
|
734
825
|
|
735
826
|
- Error compiler returns an empty hash rather than a nil when there are no errors (solnic)
|
736
827
|
|
828
|
+
|
737
829
|
[Compare v0.3.0...v0.3.1](https://github.com/dry-rb/dry-validation/compare/v0.3.0...v0.3.1)
|
738
830
|
|
739
|
-
|
831
|
+
## 0.3.0 2015-12-07
|
832
|
+
|
740
833
|
|
741
834
|
### Added
|
742
835
|
|
@@ -758,9 +851,10 @@ Complete rewrite on top of `dry-schema`.
|
|
758
851
|
errors and messages
|
759
852
|
- `Schema::Result#messages` returns a hash with rule names, messages and input values (solnic)
|
760
853
|
|
761
|
-
[Compare v0.2.0...
|
854
|
+
[Compare v0.2.0...v0.3.0](https://github.com/dry-rb/dry-validation/compare/v0.2.0...v0.3.0)
|
855
|
+
|
856
|
+
## 0.2.0 2015-11-30
|
762
857
|
|
763
|
-
# v0.2.0 2015-11-30
|
764
858
|
|
765
859
|
### Added
|
766
860
|
|
@@ -781,8 +875,9 @@ Complete rewrite on top of `dry-schema`.
|
|
781
875
|
|
782
876
|
- Added missing `and` / `or` interfaces to composite rules (solnic)
|
783
877
|
|
784
|
-
[Compare v0.1.0...HEAD](https://github.com/dry-rb/dry-validation/compare/v0.1.0...HEAD)
|
785
878
|
|
786
|
-
|
879
|
+
[Compare v0.1.0...v0.2.0](https://github.com/dry-rb/dry-validation/compare/v0.1.0...v0.2.0)
|
880
|
+
|
881
|
+
## 0.1.0 2015-11-25
|
787
882
|
|
788
883
|
First public release
|