dry-validation 0.11.2 → 0.12.0

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.
Files changed (64) hide show
  1. checksums.yaml +4 -4
  2. data/.travis.yml +1 -1
  3. data/CHANGELOG.md +10 -0
  4. data/Gemfile +7 -5
  5. data/README.md +4 -2
  6. data/Rakefile +5 -3
  7. data/benchmarks/benchmark_form_invalid.rb +2 -2
  8. data/benchmarks/benchmark_form_valid.rb +2 -2
  9. data/dry-validation.gemspec +2 -2
  10. data/examples/{form.rb → params.rb} +1 -1
  11. data/lib/dry/validation.rb +3 -3
  12. data/lib/dry/validation/{input_processor_compiler → compat}/form.rb +20 -2
  13. data/lib/dry/validation/extensions/monads.rb +6 -5
  14. data/lib/dry/validation/input_processor_compiler.rb +2 -1
  15. data/lib/dry/validation/input_processor_compiler/params.rb +49 -0
  16. data/lib/dry/validation/message_compiler.rb +4 -0
  17. data/lib/dry/validation/messages/abstract.rb +1 -1
  18. data/lib/dry/validation/predicate_registry.rb +12 -11
  19. data/lib/dry/validation/schema/class_interface.rb +7 -4
  20. data/lib/dry/validation/schema/form.rb +3 -15
  21. data/lib/dry/validation/schema/params.rb +22 -0
  22. data/lib/dry/validation/version.rb +1 -1
  23. data/spec/extensions/monads/result_spec.rb +15 -13
  24. data/spec/integration/messages/i18n_spec.rb +0 -2
  25. data/spec/integration/{form → params}/predicates/array_spec.rb +5 -5
  26. data/spec/integration/{form → params}/predicates/empty_spec.rb +8 -8
  27. data/spec/integration/{form → params}/predicates/eql_spec.rb +8 -8
  28. data/spec/integration/{form → params}/predicates/even_spec.rb +8 -8
  29. data/spec/integration/{form → params}/predicates/excluded_from_spec.rb +8 -8
  30. data/spec/integration/{form → params}/predicates/excludes_spec.rb +8 -8
  31. data/spec/integration/{form → params}/predicates/false_spec.rb +8 -8
  32. data/spec/integration/{form → params}/predicates/filled_spec.rb +10 -10
  33. data/spec/integration/{form → params}/predicates/format_spec.rb +8 -8
  34. data/spec/integration/{form → params}/predicates/gt_spec.rb +8 -8
  35. data/spec/integration/{form → params}/predicates/gteq_spec.rb +8 -8
  36. data/spec/integration/{form → params}/predicates/included_in_spec.rb +8 -8
  37. data/spec/integration/{form → params}/predicates/includes_spec.rb +8 -8
  38. data/spec/integration/{form → params}/predicates/key_spec.rb +5 -5
  39. data/spec/integration/{form → params}/predicates/lt_spec.rb +8 -8
  40. data/spec/integration/{form → params}/predicates/lteq_spec.rb +8 -8
  41. data/spec/integration/{form → params}/predicates/max_size_spec.rb +8 -8
  42. data/spec/integration/{form → params}/predicates/min_size_spec.rb +8 -8
  43. data/spec/integration/{form → params}/predicates/none_spec.rb +8 -8
  44. data/spec/integration/{form → params}/predicates/not_eql_spec.rb +8 -8
  45. data/spec/integration/{form → params}/predicates/odd_spec.rb +8 -8
  46. data/spec/integration/{form → params}/predicates/size/fixed_spec.rb +8 -8
  47. data/spec/integration/{form → params}/predicates/size/range_spec.rb +8 -8
  48. data/spec/integration/{form → params}/predicates/true_spec.rb +8 -8
  49. data/spec/integration/{form → params}/predicates/type_spec.rb +8 -8
  50. data/spec/integration/schema/array_schema_spec.rb +3 -3
  51. data/spec/integration/schema/extending_dsl_spec.rb +2 -2
  52. data/spec/integration/schema/form_spec.rb +3 -1
  53. data/spec/integration/schema/hash_schema_spec.rb +3 -3
  54. data/spec/integration/schema/json/explicit_types_spec.rb +1 -1
  55. data/spec/integration/schema/macros/each_spec.rb +1 -1
  56. data/spec/integration/schema/{form → params}/defining_base_schema_spec.rb +1 -1
  57. data/spec/integration/schema/{form → params}/explicit_types_spec.rb +35 -22
  58. data/spec/integration/schema/params_spec.rb +234 -0
  59. data/spec/integration/schema/reusing_schema_spec.rb +1 -1
  60. data/spec/integration/schema/using_types_spec.rb +1 -1
  61. data/spec/integration/schema_spec.rb +5 -5
  62. data/spec/spec_helper.rb +5 -2
  63. data/spec/unit/input_processor_compiler/{form_spec.rb → params_spec.rb} +13 -13
  64. metadata +77 -67
@@ -1,13 +1,13 @@
1
1
  RSpec.describe 'Predicates: Key' do
2
2
  context 'with required' do
3
3
  it "raises error" do
4
- expect { Dry::Validation.Form { required(:foo) { key? } } }.to raise_error InvalidSchemaError
4
+ expect { Dry::Validation.Params { required(:foo) { key? } } }.to raise_error InvalidSchemaError
5
5
  end
6
6
  end
7
7
 
8
8
  context 'with optional' do
9
9
  it "raises error" do
10
- expect { Dry::Validation.Form { optional(:foo) { key? } } }.to raise_error InvalidSchemaError
10
+ expect { Dry::Validation.Params { optional(:foo) { key? } } }.to raise_error InvalidSchemaError
11
11
  end
12
12
  end
13
13
 
@@ -15,7 +15,7 @@ RSpec.describe 'Predicates: Key' do
15
15
  context 'with required' do
16
16
  context 'with value' do
17
17
  it "raises error" do
18
- expect { Dry::Validation.Form do
18
+ expect { Dry::Validation.Params do
19
19
  required(:foo).value(:key?)
20
20
  end }.to raise_error InvalidSchemaError
21
21
  end
@@ -23,7 +23,7 @@ RSpec.describe 'Predicates: Key' do
23
23
 
24
24
  context 'with filled' do
25
25
  it "raises error" do
26
- expect { Dry::Validation.Form do
26
+ expect { Dry::Validation.Params do
27
27
  required(:foo).filled(:key?)
28
28
  end }.to raise_error InvalidSchemaError
29
29
  end
@@ -31,7 +31,7 @@ RSpec.describe 'Predicates: Key' do
31
31
 
32
32
  context 'with maybe' do
33
33
  it "raises error" do
34
- expect { Dry::Validation.Form do
34
+ expect { Dry::Validation.Params do
35
35
  required(:foo).maybe(:key?)
36
36
  end }.to raise_error InvalidSchemaError
37
37
  end
@@ -1,7 +1,7 @@
1
1
  RSpec.describe 'Predicates: Lt' do
2
2
  context 'with required' do
3
3
  subject(:schema) do
4
- Dry::Validation.Form do
4
+ Dry::Validation.Params do
5
5
  required(:foo) { int? & lt?(23) }
6
6
  end
7
7
  end
@@ -65,7 +65,7 @@ RSpec.describe 'Predicates: Lt' do
65
65
 
66
66
  context 'with optional' do
67
67
  subject(:schema) do
68
- Dry::Validation.Form do
68
+ Dry::Validation.Params do
69
69
  optional(:foo) { int? & lt?(23) }
70
70
  end
71
71
  end
@@ -131,7 +131,7 @@ RSpec.describe 'Predicates: Lt' do
131
131
  context 'with required' do
132
132
  context 'with value' do
133
133
  subject(:schema) do
134
- Dry::Validation.Form do
134
+ Dry::Validation.Params do
135
135
  required(:foo).value(:int?, lt?: 23)
136
136
  end
137
137
  end
@@ -195,7 +195,7 @@ RSpec.describe 'Predicates: Lt' do
195
195
 
196
196
  context 'with filled' do
197
197
  subject(:schema) do
198
- Dry::Validation.Form do
198
+ Dry::Validation.Params do
199
199
  required(:foo).filled(:int?, lt?: 23)
200
200
  end
201
201
  end
@@ -259,7 +259,7 @@ RSpec.describe 'Predicates: Lt' do
259
259
 
260
260
  context 'with maybe' do
261
261
  subject(:schema) do
262
- Dry::Validation.Form do
262
+ Dry::Validation.Params do
263
263
  required(:foo).maybe(:int?, lt?: 23)
264
264
  end
265
265
  end
@@ -325,7 +325,7 @@ RSpec.describe 'Predicates: Lt' do
325
325
  context 'with optional' do
326
326
  context 'with value' do
327
327
  subject(:schema) do
328
- Dry::Validation.Form do
328
+ Dry::Validation.Params do
329
329
  optional(:foo).value(:int?, lt?: 23)
330
330
  end
331
331
  end
@@ -389,7 +389,7 @@ RSpec.describe 'Predicates: Lt' do
389
389
 
390
390
  context 'with filled' do
391
391
  subject(:schema) do
392
- Dry::Validation.Form do
392
+ Dry::Validation.Params do
393
393
  optional(:foo).filled(:int?, lt?: 23)
394
394
  end
395
395
  end
@@ -453,7 +453,7 @@ RSpec.describe 'Predicates: Lt' do
453
453
 
454
454
  context 'with maybe' do
455
455
  subject(:schema) do
456
- Dry::Validation.Form do
456
+ Dry::Validation.Params do
457
457
  optional(:foo).maybe(:int?, lt?: 23)
458
458
  end
459
459
  end
@@ -1,7 +1,7 @@
1
1
  RSpec.describe 'Predicates: Lteq' do
2
2
  context 'with required' do
3
3
  subject(:schema) do
4
- Dry::Validation.Form do
4
+ Dry::Validation.Params do
5
5
  required(:foo) { int? & lteq?(23) }
6
6
  end
7
7
  end
@@ -65,7 +65,7 @@ RSpec.describe 'Predicates: Lteq' do
65
65
 
66
66
  context 'with optional' do
67
67
  subject(:schema) do
68
- Dry::Validation.Form do
68
+ Dry::Validation.Params do
69
69
  optional(:foo) { int? & lteq?(23) }
70
70
  end
71
71
  end
@@ -131,7 +131,7 @@ RSpec.describe 'Predicates: Lteq' do
131
131
  context 'with required' do
132
132
  context 'with value' do
133
133
  subject(:schema) do
134
- Dry::Validation.Form do
134
+ Dry::Validation.Params do
135
135
  required(:foo).value(:int?, lteq?: 23)
136
136
  end
137
137
  end
@@ -195,7 +195,7 @@ RSpec.describe 'Predicates: Lteq' do
195
195
 
196
196
  context 'with filled' do
197
197
  subject(:schema) do
198
- Dry::Validation.Form do
198
+ Dry::Validation.Params do
199
199
  required(:foo).filled(:int?, lteq?: 23)
200
200
  end
201
201
  end
@@ -259,7 +259,7 @@ RSpec.describe 'Predicates: Lteq' do
259
259
 
260
260
  context 'with maybe' do
261
261
  subject(:schema) do
262
- Dry::Validation.Form do
262
+ Dry::Validation.Params do
263
263
  required(:foo).maybe(:int?, lteq?: 23)
264
264
  end
265
265
  end
@@ -325,7 +325,7 @@ RSpec.describe 'Predicates: Lteq' do
325
325
  context 'with optional' do
326
326
  context 'with value' do
327
327
  subject(:schema) do
328
- Dry::Validation.Form do
328
+ Dry::Validation.Params do
329
329
  optional(:foo).value(:int?, lteq?: 23)
330
330
  end
331
331
  end
@@ -389,7 +389,7 @@ RSpec.describe 'Predicates: Lteq' do
389
389
 
390
390
  context 'with filled' do
391
391
  subject(:schema) do
392
- Dry::Validation.Form do
392
+ Dry::Validation.Params do
393
393
  optional(:foo).filled(:int?, lteq?: 23)
394
394
  end
395
395
  end
@@ -453,7 +453,7 @@ RSpec.describe 'Predicates: Lteq' do
453
453
 
454
454
  context 'with maybe' do
455
455
  subject(:schema) do
456
- Dry::Validation.Form do
456
+ Dry::Validation.Params do
457
457
  optional(:foo).maybe(:int?, lteq?: 23)
458
458
  end
459
459
  end
@@ -1,7 +1,7 @@
1
1
  RSpec.describe 'Predicates: Max Size' do
2
2
  context 'with required' do
3
3
  subject(:schema) do
4
- Dry::Validation.Form do
4
+ Dry::Validation.Params do
5
5
  required(:foo) { max_size?(3) }
6
6
  end
7
7
  end
@@ -49,7 +49,7 @@ RSpec.describe 'Predicates: Max Size' do
49
49
 
50
50
  context 'with optional' do
51
51
  subject(:schema) do
52
- Dry::Validation.Form do
52
+ Dry::Validation.Params do
53
53
  optional(:foo) { max_size?(3) }
54
54
  end
55
55
  end
@@ -99,7 +99,7 @@ RSpec.describe 'Predicates: Max Size' do
99
99
  context 'with required' do
100
100
  context 'with value' do
101
101
  subject(:schema) do
102
- Dry::Validation.Form do
102
+ Dry::Validation.Params do
103
103
  required(:foo).value(max_size?: 3)
104
104
  end
105
105
  end
@@ -147,7 +147,7 @@ RSpec.describe 'Predicates: Max Size' do
147
147
 
148
148
  context 'with filled' do
149
149
  subject(:schema) do
150
- Dry::Validation.Form do
150
+ Dry::Validation.Params do
151
151
  required(:foo).filled(max_size?: 3)
152
152
  end
153
153
  end
@@ -195,7 +195,7 @@ RSpec.describe 'Predicates: Max Size' do
195
195
 
196
196
  context 'with maybe' do
197
197
  subject(:schema) do
198
- Dry::Validation.Form do
198
+ Dry::Validation.Params do
199
199
  required(:foo).maybe(max_size?: 3)
200
200
  end
201
201
  end
@@ -245,7 +245,7 @@ RSpec.describe 'Predicates: Max Size' do
245
245
  context 'with optional' do
246
246
  context 'with value' do
247
247
  subject(:schema) do
248
- Dry::Validation.Form do
248
+ Dry::Validation.Params do
249
249
  optional(:foo).value(max_size?: 3)
250
250
  end
251
251
  end
@@ -293,7 +293,7 @@ RSpec.describe 'Predicates: Max Size' do
293
293
 
294
294
  context 'with filled' do
295
295
  subject(:schema) do
296
- Dry::Validation.Form do
296
+ Dry::Validation.Params do
297
297
  optional(:foo).filled(max_size?: 3)
298
298
  end
299
299
  end
@@ -341,7 +341,7 @@ RSpec.describe 'Predicates: Max Size' do
341
341
 
342
342
  context 'with maybe' do
343
343
  subject(:schema) do
344
- Dry::Validation.Form do
344
+ Dry::Validation.Params do
345
345
  optional(:foo).maybe(max_size?: 3)
346
346
  end
347
347
  end
@@ -1,7 +1,7 @@
1
1
  RSpec.describe 'Predicates: Min Size' do
2
2
  context 'with required' do
3
3
  subject(:schema) do
4
- Dry::Validation.Form do
4
+ Dry::Validation.Params do
5
5
  required(:foo) { min_size?(3) }
6
6
  end
7
7
  end
@@ -49,7 +49,7 @@ RSpec.describe 'Predicates: Min Size' do
49
49
 
50
50
  context 'with optional' do
51
51
  subject(:schema) do
52
- Dry::Validation.Form do
52
+ Dry::Validation.Params do
53
53
  optional(:foo) { min_size?(3) }
54
54
  end
55
55
  end
@@ -99,7 +99,7 @@ RSpec.describe 'Predicates: Min Size' do
99
99
  context 'with required' do
100
100
  context 'with value' do
101
101
  subject(:schema) do
102
- Dry::Validation.Form do
102
+ Dry::Validation.Params do
103
103
  required(:foo).value(min_size?: 3)
104
104
  end
105
105
  end
@@ -147,7 +147,7 @@ RSpec.describe 'Predicates: Min Size' do
147
147
 
148
148
  context 'with filled' do
149
149
  subject(:schema) do
150
- Dry::Validation.Form do
150
+ Dry::Validation.Params do
151
151
  required(:foo).filled(min_size?: 3)
152
152
  end
153
153
  end
@@ -195,7 +195,7 @@ RSpec.describe 'Predicates: Min Size' do
195
195
 
196
196
  context 'with maybe' do
197
197
  subject(:schema) do
198
- Dry::Validation.Form do
198
+ Dry::Validation.Params do
199
199
  required(:foo).maybe(min_size?: 3)
200
200
  end
201
201
  end
@@ -245,7 +245,7 @@ RSpec.describe 'Predicates: Min Size' do
245
245
  context 'with optional' do
246
246
  context 'with value' do
247
247
  subject(:schema) do
248
- Dry::Validation.Form do
248
+ Dry::Validation.Params do
249
249
  optional(:foo).value(min_size?: 3)
250
250
  end
251
251
  end
@@ -293,7 +293,7 @@ RSpec.describe 'Predicates: Min Size' do
293
293
 
294
294
  context 'with filled' do
295
295
  subject(:schema) do
296
- Dry::Validation.Form do
296
+ Dry::Validation.Params do
297
297
  optional(:foo).filled(min_size?: 3)
298
298
  end
299
299
  end
@@ -341,7 +341,7 @@ RSpec.describe 'Predicates: Min Size' do
341
341
 
342
342
  context 'with maybe' do
343
343
  subject(:schema) do
344
- Dry::Validation.Form do
344
+ Dry::Validation.Params do
345
345
  optional(:foo).maybe(min_size?: 3)
346
346
  end
347
347
  end
@@ -1,7 +1,7 @@
1
1
  RSpec.describe 'Predicates: None' do
2
2
  context 'with required' do
3
3
  subject(:schema) do
4
- Dry::Validation.Form do
4
+ Dry::Validation.Params do
5
5
  required(:foo) { none? }
6
6
  end
7
7
  end
@@ -41,7 +41,7 @@ RSpec.describe 'Predicates: None' do
41
41
 
42
42
  context 'with optional' do
43
43
  subject(:schema) do
44
- Dry::Validation.Form do
44
+ Dry::Validation.Params do
45
45
  optional(:foo) { none? }
46
46
  end
47
47
  end
@@ -83,7 +83,7 @@ RSpec.describe 'Predicates: None' do
83
83
  context 'with required' do
84
84
  context 'with value' do
85
85
  subject(:schema) do
86
- Dry::Validation.Form do
86
+ Dry::Validation.Params do
87
87
  required(:foo).value(:none?)
88
88
  end
89
89
  end
@@ -123,7 +123,7 @@ RSpec.describe 'Predicates: None' do
123
123
 
124
124
  context 'with filled' do
125
125
  subject(:schema) do
126
- Dry::Validation.Form do
126
+ Dry::Validation.Params do
127
127
  required(:foo).filled(:none?)
128
128
  end
129
129
  end
@@ -164,7 +164,7 @@ RSpec.describe 'Predicates: None' do
164
164
  #makes no sense see: #134
165
165
  context 'with maybe' do
166
166
  it "raises error" do
167
- expect { Dry::Validation.Form do
167
+ expect { Dry::Validation.Params do
168
168
  required(:foo).maybe(:none?)
169
169
  end }.to raise_error InvalidSchemaError
170
170
  end
@@ -174,7 +174,7 @@ RSpec.describe 'Predicates: None' do
174
174
  context 'with optional' do
175
175
  context 'with value' do
176
176
  subject(:schema) do
177
- Dry::Validation.Form do
177
+ Dry::Validation.Params do
178
178
  optional(:foo).value(:none?)
179
179
  end
180
180
  end
@@ -214,7 +214,7 @@ RSpec.describe 'Predicates: None' do
214
214
 
215
215
  context 'with filled' do
216
216
  subject(:schema) do
217
- Dry::Validation.Form do
217
+ Dry::Validation.Params do
218
218
  optional(:foo).filled(:none?)
219
219
  end
220
220
  end
@@ -255,7 +255,7 @@ RSpec.describe 'Predicates: None' do
255
255
  #makes no sense see: #134
256
256
  context 'with maybe' do
257
257
  it "raises error" do
258
- expect { Dry::Validation.Form do
258
+ expect { Dry::Validation.Params do
259
259
  optional(:foo).maybe(:none?)
260
260
  end }.to raise_error InvalidSchemaError
261
261
  end
@@ -1,7 +1,7 @@
1
1
  RSpec.describe 'Predicates: Not Eql' do
2
2
  context 'with required' do
3
3
  subject(:schema) do
4
- Dry::Validation.Form do
4
+ Dry::Validation.Params do
5
5
  required(:foo) { not_eql?('23') }
6
6
  end
7
7
  end
@@ -41,7 +41,7 @@ RSpec.describe 'Predicates: Not Eql' do
41
41
 
42
42
  context 'with optional' do
43
43
  subject(:schema) do
44
- Dry::Validation.Form do
44
+ Dry::Validation.Params do
45
45
  optional(:foo) { not_eql?('23') }
46
46
  end
47
47
  end
@@ -83,7 +83,7 @@ RSpec.describe 'Predicates: Not Eql' do
83
83
  context 'with required' do
84
84
  context 'with value' do
85
85
  subject(:schema) do
86
- Dry::Validation.Form do
86
+ Dry::Validation.Params do
87
87
  required(:foo).value(not_eql?: '23')
88
88
  end
89
89
  end
@@ -123,7 +123,7 @@ RSpec.describe 'Predicates: Not Eql' do
123
123
 
124
124
  context 'with filled' do
125
125
  subject(:schema) do
126
- Dry::Validation.Form do
126
+ Dry::Validation.Params do
127
127
  required(:foo).filled(not_eql?: '23')
128
128
  end
129
129
  end
@@ -163,7 +163,7 @@ RSpec.describe 'Predicates: Not Eql' do
163
163
 
164
164
  context 'with maybe' do
165
165
  subject(:schema) do
166
- Dry::Validation.Form do
166
+ Dry::Validation.Params do
167
167
  required(:foo).maybe(not_eql?: '23')
168
168
  end
169
169
  end
@@ -205,7 +205,7 @@ RSpec.describe 'Predicates: Not Eql' do
205
205
  context 'with optional' do
206
206
  context 'with value' do
207
207
  subject(:schema) do
208
- Dry::Validation.Form do
208
+ Dry::Validation.Params do
209
209
  optional(:foo).value(not_eql?: '23')
210
210
  end
211
211
  end
@@ -245,7 +245,7 @@ RSpec.describe 'Predicates: Not Eql' do
245
245
 
246
246
  context 'with filled' do
247
247
  subject(:schema) do
248
- Dry::Validation.Form do
248
+ Dry::Validation.Params do
249
249
  optional(:foo).filled(not_eql?: '23')
250
250
  end
251
251
  end
@@ -285,7 +285,7 @@ RSpec.describe 'Predicates: Not Eql' do
285
285
 
286
286
  context 'with maybe' do
287
287
  subject(:schema) do
288
- Dry::Validation.Form do
288
+ Dry::Validation.Params do
289
289
  optional(:foo).maybe(not_eql?: '23')
290
290
  end
291
291
  end