hanami-validations 2.0.0.alpha1 → 2.0.0.beta1

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: 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: []