hanami-validations 2.0.0.alpha1 → 2.0.0.beta1

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: c94b88f4b0a39d33e6ce6d5a27e9c843afc611b3a5d76ac48799c05648c73ed1
4
- data.tar.gz: 93a768f5a5c977ada49f6f400bade010ebe87be3072ab7b1fdec6e36afe0f00a
3
+ metadata.gz: eda81bb07fed409acb5e005379b64604a8e085eeff66f766b7687d8d43f749ec
4
+ data.tar.gz: 06c36d39aad7a13e3a2af1a32c82d29c9bd5c78330749e581fe59f3ef8c54dba
5
5
  SHA512:
6
- metadata.gz: 01bae680528b53b9564393aaa923f6e66f91d9ccda370e6297c6c458b0fbc127c83a39a1ba61d110bb7c698e28cb95e8ce8bb0f7f174bc151a384bb7b3bdb3d5
7
- data.tar.gz: 15c2f866bae8f77acca611e4a70aefc6da227fc33aa556e14beff08e2725880e094a6de7fa9a5cbcff22fa8fce80f282f4623627cb206119821ebdab41e5fc6a
6
+ metadata.gz: 9f22646af1a99c979d0759d53345ac3f8e0c3c1b030285acfd8f94143f6d02a1148ef79679d556bdf8f5670a0b39c59a1b5078a2691b12e44377cd4be40c5f84
7
+ data.tar.gz: 7e2329639eab468ff83b28c7ead59b9817770bd91f239ebadfec42fc43daf99f2dd54cdd28a9c004b55eca6bc07842c588f6a83d411eae076fff51736177e492
data/CHANGELOG.md CHANGED
@@ -1,8 +1,27 @@
1
1
  # Hanami::Validations
2
+
2
3
  Validations mixin for Ruby objects
3
4
 
5
+ ## v2.0.0.beta1 - 2022-07-20
6
+
7
+ ### Added
8
+
9
+ - [Luca Guidi] Official support for Ruby: MRI 3.1
10
+
11
+ ## v2.0.0.alpha2 - 2021-05-04
12
+
13
+ ### Added
14
+
15
+ - [Luca Guidi] Official support for Ruby: MRI 3.0
16
+
17
+ ### Changed
18
+
19
+ - [Luca Guidi] Drop support for Ruby: MRI 2.4, 2.5
20
+
4
21
  ## v2.0.0.alpha1 - 2019-07-26
22
+
5
23
  ### Added
24
+
6
25
  - [Luca Guidi] Introduced `Hanami::Validator`
7
26
  - [Luca Guidi] Added support to validate JSON data
8
27
  - [Luca Guidi] Added rules
@@ -11,6 +30,7 @@ Validations mixin for Ruby objects
11
30
  - [Luca Guidi] Added support for validator external dependencies
12
31
 
13
32
  ### Changed
33
+
14
34
  - [Luca Guidi] Drop support for Ruby: MRI 2.3, JRuby 9.1.
15
35
  - [Luca Guidi] New validation syntax
16
36
  - [Luca Guidi] Removed custom predicates (`Hanami::Validations.predicate`)
@@ -19,36 +39,68 @@ Validations mixin for Ruby objects
19
39
  - [Luca Guidi] Removed messages namespace setting (`Hanami::Validations.namespace`)
20
40
  - [Luca Guidi] Removed messages engine setting (`Hanami::Validations.messages`)
21
41
 
42
+ ## v1.3.7 - 2021-01-06
43
+
44
+ ### Fixed
45
+
46
+ - [Panagiotis Matsinopoulos] Ensure `predicate` and `predicates` to work together
47
+
48
+ ## v1.3.6 - 2020-01-08
49
+
50
+ ### Added
51
+
52
+ - [Luca Guidi] Official support for Ruby: MRI 2.7
53
+
54
+ ## v1.3.5 - 2019-07-26
55
+
56
+ ### Fixed
57
+
58
+ - [ippachi] Ensure I18n doesn't crash when used for inline predicates
59
+
22
60
  ## v1.3.4 - 2019-07-26
61
+
23
62
  ### Fixed
63
+
24
64
  - [Luca Guidi] Ensure to load i18n backend (including `i18n` gem), when messages engine is `:i18n`
25
65
 
26
66
  ## v1.3.3 - 2019-01-31
67
+
27
68
  ### Fixed
69
+
28
70
  - [Luca Guidi] Depend on `dry-validation` `~> 0.11`, `< 0.12`
29
71
  - [Luca Guidi] Depend on `dry-logic` `~> 0.4.2`, `< 0.5`
30
72
 
31
73
  ## v1.3.2 - 2019-01-30
74
+
32
75
  ### Fixed
76
+
33
77
  - [Luca Guidi] Depend on `dry-validation` `~> 0.11.2`, `< 0.12` in order to skip non compatible `dry-logic` `0.5.0`
34
78
 
35
79
  ## v1.3.1 - 2019-01-18
80
+
36
81
  ### Added
82
+
37
83
  - [Luca Guidi] Official support for Ruby: MRI 2.6
38
84
  - [Luca Guidi] Support `bundler` 2.0+
39
85
 
40
86
  ## v1.3.0 - 2018-10-24
41
87
 
42
88
  ## v1.3.0.beta1 - 2018-08-08
89
+
43
90
  ### Added
91
+
44
92
  - [Luca Guidi] Official support for JRuby 9.2.0.0
45
93
 
46
94
  ## v1.2.2 - 2018-06-05
95
+
47
96
  ### Fixed
97
+
48
98
  - [Luca Guidi] Revert dependency to `dry-validation` to `~> 0.11`, `< 0.12`
49
99
 
50
100
  ## v1.2.1 - 2018-06-04
101
+
51
102
  ### Fixed
103
+
52
104
  - [Luca Guidi] Bump dependency to `dry-validation` to `~> 0.12`
53
105
 
54
106
  ## v1.2.0 - 2018-04-11
@@ -60,7 +112,9 @@ Validations mixin for Ruby objects
60
112
  ## v1.2.0.beta2 - 2018-03-23
61
113
 
62
114
  ## v1.2.0.beta1 - 2018-02-28
115
+
63
116
  ### Added
117
+
64
118
  - [Luca Guidi] Official support for Ruby: MRI 2.5
65
119
 
66
120
  ## v1.1.0 - 2017-10-25
@@ -80,22 +134,31 @@ Validations mixin for Ruby objects
80
134
  ## v1.0.0.beta2 - 2017-03-17
81
135
 
82
136
  ## v1.0.0.beta1 - 2017-02-14
137
+
83
138
  ### Added
139
+
84
140
  - [Luca Guidi] Official support for Ruby: MRI 2.4
85
141
 
86
142
  ### Fixed
143
+
87
144
  - [Luca Guidi] Don't let inline predicates to discard other YAML error messages
88
145
 
89
146
  ## v0.7.1 - 2016-11-18
147
+
90
148
  ### Fixed
149
+
91
150
  - [Luca Guidi] Ensure custom validators to work with concrete classes with name
92
151
 
93
152
  ## v0.7.0 - 2016-11-15
153
+
94
154
  ### Changed
155
+
95
156
  - [Luca Guidi] Official support for Ruby: MRI 2.3+ and JRuby 9.1.5.0+
96
157
 
97
158
  ## v0.6.0 - 2016-07-22
159
+
98
160
  ### Added
161
+
99
162
  - [Luca Guidi] Predicates syntax
100
163
  - [Luca Guidi] Custom predicates
101
164
  - [Luca Guidi] Inline predicates
@@ -106,10 +169,13 @@ Validations mixin for Ruby objects
106
169
  - [Luca Guidi] Introduced `Hanami::Validations::Form` mixin, which must be used when input comes from HTTP params or web forms.
107
170
 
108
171
  ### Fixed
172
+
109
173
  – [Luca Guidi] Ensure to threat blank values as `nil`
110
174
 
111
175
  ### Changed
176
+
112
177
  – [Luca Guidi] Drop support for Ruby 2.0, 2.1 and Rubinius. Official support for JRuby 9.0.5.0+.
178
+
113
179
  - [Luca Guidi] Validations must be wrapped in `.validations` block.
114
180
  - [Luca Guidi] Removed `.attribute` DSL. A validator doesn't create accessors (getters/setters) for validated keys.
115
181
  - [Luca Guidi] Removed `Hanami::Validations#valid?` in favor of `#validate`.
@@ -117,62 +183,86 @@ Validations mixin for Ruby objects
117
183
  - [Luca Guidi] Coerced and sanitized data is accessible via result object. Eg. `result.output`
118
184
 
119
185
  ## v0.5.0 - 2016-01-22
186
+
120
187
  ### Changed
188
+
121
189
  - [Luca Guidi] Renamed the project
122
190
 
123
191
  ## v0.4.0 - 2016-01-12
192
+
124
193
  ## Changed
194
+
125
195
  - [Hélio Costa e Silva & Luca Guidi] Ignore blank values for format and size validation
126
196
 
127
197
  ### Fixed
198
+
128
199
  - [Pascal Betz] Ensure acceptance validation to reject blank strings
129
200
 
130
201
  ## v0.3.3 - 2015-09-30
202
+
131
203
  ### Added
204
+
132
205
  - [Luca Guidi] Official support for JRuby 9k+
133
206
 
134
207
  ## v0.3.2 - 2015-05-22
208
+
135
209
  ### Added
210
+
136
211
  - [deepj] Introduced `Lotus::Validations#invalid?`
137
212
 
138
213
  ## v0.3.1 - 2015-05-15
214
+
139
215
  ### Fixed
216
+
140
217
  - [Luca Guidi] Fixed Hash serialization for nested validations. It always return nested `::Hash` structure.
141
218
  - [Alfonso Uceda Pompa & Dmitry Tymchuk] Fixed Hash serialization when `Lotus::Entity` is included in the same class.
142
219
 
143
220
  ## v0.3.0 - 2015-03-23
144
221
 
145
222
  ## v0.2.4 - 2015-01-30
223
+
146
224
  ### Added
225
+
147
226
  - [Steve Hodgkiss] Introduced `Lotus::Validations::Error#attribute_name`
148
227
  - [Steve Hodgkiss] Nested validations
149
228
 
150
229
  ### Changed
230
+
151
231
  - [Steve Hodgkiss] `Lotus::Validations::Error#name` returns the complete attribute name (Eg. `first_name` or `address.street`)
152
232
 
153
233
  ## v0.2.3 - 2015-01-12
234
+
154
235
  ### Added
236
+
155
237
  - [Luca Guidi] Compatibility with Lotus::Entity
156
238
 
157
239
  ### Fixed
240
+
158
241
  - [Luca Guidi] Ensure `.validates` usage to not raise `ArgumentError` when `:type` option is passed
159
242
  - [Luca Guidi] Ensure to assign attributes when only `.validates` is used
160
243
 
161
244
  ## v0.2.2 - 2015-01-08
245
+
162
246
  ### Added
247
+
163
248
  - [Steve Hodgkiss] Introduced `Validations.validates`. It defines validations, for already existing attributes.
164
249
 
165
250
  ## v0.2.1 - 2014-12-23
251
+
166
252
  ### Added
253
+
167
254
  - [Luca Guidi] Introduced `Validations::Errors#to_h` and `to_a`
168
255
  - [Luca Guidi] Introduced `Validations::Errors#any?`
169
256
  - [Luca Guidi] Official support for Ruby 2.2
170
257
 
171
258
  ### Fixed
259
+
172
260
  - [Satoshi Amemiya] Made `Validations#valid?` idempotent
173
261
 
174
262
  ## v0.2.0 - 2014-11-23
263
+
175
264
  ### Added
265
+
176
266
  - [Luca Guidi] Skip attribute whitelisting when a validator does not define any attribute
177
267
  - [Luca Guidi] Official support for Rubinius 2.3+
178
268
  - [Luca Guidi] Implemented `#each` in order to allow bulk operations on attributes
@@ -182,7 +272,9 @@ Validations mixin for Ruby objects
182
272
  - [Rik Tonnard] Made validators reusable by allowing infinite inclusion
183
273
 
184
274
  ## v0.1.0 - 2014-10-23
275
+
185
276
  ### Added
277
+
186
278
  - [Luca Guidi] Made `#initialize` to accept any object that implements `#to_h`
187
279
  - [Luca Guidi] Custom coercions for user defined classes
188
280
  - [Luca Guidi] Raise an exception at the load time when a validation is not recognized
@@ -200,5 +292,6 @@ Validations mixin for Ruby objects
200
292
  - [Luca Guidi] Official support for MRI 2.0+
201
293
 
202
294
  ### Fixed
295
+
203
296
  - [Jeremy Stephens] Ensure to not fail validations when coerce falsey values
204
297
  - [Luca Guidi] Ensure `Lotus::Validations#valid?` to be idempotent
data/README.md CHANGED
@@ -5,13 +5,15 @@ Data validation library for Ruby
5
5
  ## Status
6
6
 
7
7
  [![Gem Version](https://badge.fury.io/rb/hanami-validations.svg)](https://badge.fury.io/rb/hanami-validations)
8
- [![TravisCI](https://travis-ci.org/hanami/validations.svg?branch=master)](https://travis-ci.org/hanami/validations)
9
- [![CircleCI](https://circleci.com/gh/hanami/validations/tree/master.svg?style=svg)](https://circleci.com/gh/hanami/validations/tree/master)
10
- [![Build Status](https://ci.hanamirb.org/api/badges/hanami/validations/status.svg)](https://ci.hanamirb.org/hanami/validations)
11
- [![Test Coverage](https://codecov.io/gh/hanami/validations/branch/master/graph/badge.svg)](https://codecov.io/gh/hanami/validations)
8
+ [![CI](https://github.com/hanami/validations/workflows/ci/badge.svg?branch=main)](https://github.com/hanami/validations/actions?query=workflow%3Aci+branch%3Amain)
9
+ [![Test Coverage](https://codecov.io/gh/hanami/validations/branch/main/graph/badge.svg)](https://codecov.io/gh/hanami/validations)
12
10
  [![Depfu](https://badges.depfu.com/badges/af6c6be539d9d587c7541ae7a013c9ff/overview.svg)](https://depfu.com/github/hanami/validations?project=Bundler)
13
11
  [![Inline Docs](http://inch-ci.org/github/hanami/validations.svg)](http://inch-ci.org/github/hanami/validations)
14
12
 
13
+ ## Version
14
+
15
+ **This branch contains the code for `hanami-validations` 2.x.**
16
+
15
17
  ## Contact
16
18
 
17
19
  * Home page: http://hanamirb.org
@@ -25,7 +27,7 @@ Data validation library for Ruby
25
27
 
26
28
  ## Rubies
27
29
 
28
- __Hanami::Validations__ supports Ruby (MRI) 2.4+ and JRuby 9.2+
30
+ __Hanami::Validations__ supports Ruby (MRI) 3.0+
29
31
 
30
32
  ## Installation
31
33
 
@@ -50,7 +52,7 @@ $ gem install hanami-validations
50
52
  ## Usage
51
53
 
52
54
  [Hanami](http://hanamirb.org), [ROM](https://rom-rb.org), and [DRY](https://dry-rb.org) projects are working together to create a strong Ruby ecosystem.
53
- `hanami-validations` is based on [`dry-validation`](https://dry-rb.org/gems/dry-validation), for this reason the documentation explains the basics of this gem, but for advanced topics, it links to `dry-validation` docs.
55
+ `hanami-validations` is based on [`dry-validation`](https://dry-rb.org/gems/dry-validation/master/), for this reason the documentation explains the basics of this gem, but for advanced topics, it links to `dry-validation` docs.
54
56
 
55
57
  ### Overview
56
58
 
@@ -255,7 +257,7 @@ puts result.success? # => true
255
257
  puts result.to_h # => {:start_date=>#<Date: 2019-07-03 ((2458668j,0s,0n),+0s,2299161j)>}
256
258
  ```
257
259
 
258
- Learn more about rules: https://dry-rb.org/gems/dry-validation/rules/
260
+ Learn more about rules: https://dry-rb.org/gems/dry-validation/master/rules/
259
261
 
260
262
  ### Inheritance
261
263
 
@@ -401,7 +403,7 @@ puts result.success? # => false
401
403
  puts result.errors.to_h # => {:refunded_code=>["there is a network error (123)"]}
402
404
  ```
403
405
 
404
- Learn more about messages: https://dry-rb.org/gems/dry-validation/messages/
406
+ Learn more about messages: https://dry-rb.org/gems/dry-validation/master/messages/
405
407
 
406
408
  ### External dependencies
407
409
 
@@ -438,7 +440,7 @@ puts result.success? # => false
438
440
  puts result.errors.to_h # => {:address=>["not a valid address"]}
439
441
  ```
440
442
 
441
- Read more about external dependencies: https://dry-rb.org/gems/dry-validation/external-dependencies/
443
+ Read more about external dependencies: https://dry-rb.org/gems/dry-validation/master/external-dependencies/
442
444
 
443
445
  ### Mixin
444
446
 
@@ -491,6 +493,6 @@ If you need to implement it, please use the External dependencies feature (see a
491
493
 
492
494
  ## Copyright
493
495
 
494
- Copyright © 2014-2019 Luca Guidi – Released under MIT License
496
+ Copyright © 2014-2021 Luca Guidi – Released under MIT License
495
497
 
496
498
  This project was formerly known as Lotus (`lotus-validations`).
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- lib = File.expand_path("lib", __dir__)
3
+ lib = File.expand_path("../lib", __FILE__)
4
4
  $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
5
5
  require "hanami/validations/version"
6
6
 
@@ -14,15 +14,16 @@ Gem::Specification.new do |spec|
14
14
  spec.homepage = "http://hanamirb.org"
15
15
  spec.license = "MIT"
16
16
 
17
- spec.files = `git ls-files -- lib/* LICENSE.md README.md CHANGELOG.md hanami-validations.gemspec`.split($INPUT_RECORD_SEPARATOR)
17
+ spec.files = `git ls-files -- lib/* LICENSE.md README.md CHANGELOG.md hanami-validations.gemspec`.split($/)
18
18
  spec.executables = spec.files.grep(%r{^bin/}) { |f| File.basename(f) }
19
- spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
20
19
  spec.require_paths = ["lib"]
21
- spec.required_ruby_version = ">= 2.4.0"
20
+ spec.metadata["rubygems_mfa_required"] = "true"
21
+ spec.required_ruby_version = ">= 3.0"
22
22
 
23
- spec.add_dependency "dry-validation", "~> 1.0"
23
+ spec.add_dependency "dry-validation", "~> 1.6"
24
24
 
25
25
  spec.add_development_dependency "bundler", ">= 1.6", "< 3"
26
- spec.add_development_dependency "rake", "~> 12"
27
- spec.add_development_dependency "rspec", "~> 3.7"
26
+ spec.add_development_dependency "rake", "~> 13"
27
+ spec.add_development_dependency "rspec", "~> 3.9"
28
+ spec.add_development_dependency "rubocop", "~> 1.0"
28
29
  end
@@ -2,6 +2,7 @@
2
2
 
3
3
  module Hanami
4
4
  module Validations
5
- VERSION = "2.0.0.alpha1"
5
+ # @since 0.1.0
6
+ VERSION = "2.0.0.beta1"
6
7
  end
7
8
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: hanami-validations
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.0.0.alpha1
4
+ version: 2.0.0.beta1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Luca Guidi
8
- autorequire:
8
+ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2019-07-26 00:00:00.000000000 Z
11
+ date: 2022-07-20 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: dry-validation
@@ -16,14 +16,14 @@ dependencies:
16
16
  requirements:
17
17
  - - "~>"
18
18
  - !ruby/object:Gem::Version
19
- version: '1.0'
19
+ version: '1.6'
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
24
  - - "~>"
25
25
  - !ruby/object:Gem::Version
26
- version: '1.0'
26
+ version: '1.6'
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: bundler
29
29
  requirement: !ruby/object:Gem::Requirement
@@ -50,28 +50,42 @@ dependencies:
50
50
  requirements:
51
51
  - - "~>"
52
52
  - !ruby/object:Gem::Version
53
- version: '12'
53
+ version: '13'
54
54
  type: :development
55
55
  prerelease: false
56
56
  version_requirements: !ruby/object:Gem::Requirement
57
57
  requirements:
58
58
  - - "~>"
59
59
  - !ruby/object:Gem::Version
60
- version: '12'
60
+ version: '13'
61
61
  - !ruby/object:Gem::Dependency
62
62
  name: rspec
63
63
  requirement: !ruby/object:Gem::Requirement
64
64
  requirements:
65
65
  - - "~>"
66
66
  - !ruby/object:Gem::Version
67
- version: '3.7'
67
+ version: '3.9'
68
68
  type: :development
69
69
  prerelease: false
70
70
  version_requirements: !ruby/object:Gem::Requirement
71
71
  requirements:
72
72
  - - "~>"
73
73
  - !ruby/object:Gem::Version
74
- version: '3.7'
74
+ version: '3.9'
75
+ - !ruby/object:Gem::Dependency
76
+ name: rubocop
77
+ requirement: !ruby/object:Gem::Requirement
78
+ requirements:
79
+ - - "~>"
80
+ - !ruby/object:Gem::Version
81
+ version: '1.0'
82
+ type: :development
83
+ prerelease: false
84
+ version_requirements: !ruby/object:Gem::Requirement
85
+ requirements:
86
+ - - "~>"
87
+ - !ruby/object:Gem::Version
88
+ version: '1.0'
75
89
  description: Validations mixin for Ruby objects and support for Hanami
76
90
  email:
77
91
  - me@lucaguidi.com
@@ -90,8 +104,9 @@ files:
90
104
  homepage: http://hanamirb.org
91
105
  licenses:
92
106
  - MIT
93
- metadata: {}
94
- post_install_message:
107
+ metadata:
108
+ rubygems_mfa_required: 'true'
109
+ post_install_message:
95
110
  rdoc_options: []
96
111
  require_paths:
97
112
  - lib
@@ -99,15 +114,15 @@ required_ruby_version: !ruby/object:Gem::Requirement
99
114
  requirements:
100
115
  - - ">="
101
116
  - !ruby/object:Gem::Version
102
- version: 2.4.0
117
+ version: '3.0'
103
118
  required_rubygems_version: !ruby/object:Gem::Requirement
104
119
  requirements:
105
120
  - - ">"
106
121
  - !ruby/object:Gem::Version
107
122
  version: 1.3.1
108
123
  requirements: []
109
- rubygems_version: 3.0.3
110
- signing_key:
124
+ rubygems_version: 3.3.3
125
+ signing_key:
111
126
  specification_version: 4
112
127
  summary: Validations mixin for Ruby objects
113
128
  test_files: []