dry-validation 1.8.1 → 1.10.0

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: 1cbb33c9bad218b481c727b04080736ad0d974f47b552ed305de4f50e5bd8d6d
4
- data.tar.gz: e464d56a10afa52ab975d44d204a0879649007eeb98a1a15038e5c6d29b78b21
3
+ metadata.gz: 6b192702d3a1f1a9a085fd65f94e0feba5457ea8eb6fecbbb45fe108a4d2436b
4
+ data.tar.gz: 1b685144ee290ad020397181072c5444c5d9c4beb673113db0b96182246e3040
5
5
  SHA512:
6
- metadata.gz: 94637a8714ffc4111c0279a7aeb52613fccf894abd33207600131e7af59803371b044691949c9a457c85bbdbb9d063c7c050aa58fc51966e7469b62f97156008
7
- data.tar.gz: f15fbb334bd99fe79348a750bca344beff68156394c314f1845307a1b5b2462446117a80e47d0d3eb40108e3042de99744c205a7ffc99ef48bebd179a5fa0299
6
+ metadata.gz: 88c8d5869a083648e539fdb96b29b766977176d24f7f9876e72c691f3c78409fc4cbd75df1081f532b7a7366d66c46eaddd0ef43cafb6d1a62c240abb19f5b3c
7
+ data.tar.gz: be4cf74f428428af9f65401433b96b20d264c89c3246452906a43447ce642b114e7e709bbccdf6e9bdacc2361880048c08101bbaa454bd45196158f8a948c3df
data/CHANGELOG.md CHANGED
@@ -1,5 +1,18 @@
1
1
  <!--- DO NOT EDIT THIS FILE - IT'S AUTOMATICALLY GENERATED VIA DEVTOOLS --->
2
2
 
3
+ ## 1.9.0 2022-10-15
4
+
5
+
6
+ ### Fixed
7
+
8
+ - Duplicated keys mishandling in rule evaluation (issue #676 fixed via #711) (@mereghost)
9
+
10
+ ### Changed
11
+
12
+ - Use Zeitwerk for auto-loading (via #715) (@solnic)
13
+
14
+ [Compare v1.8.1...v1.9.0](https://github.com/dry-rb/dry-validation/compare/v1.8.1...v1.9.0)
15
+
3
16
  ## 1.8.1 2022-05-28
4
17
 
5
18
 
data/LICENSE CHANGED
@@ -1,6 +1,6 @@
1
1
  The MIT License (MIT)
2
2
 
3
- Copyright (c) 2015-2021 dry-rb team
3
+ Copyright (c) 2015-2022 dry-rb team
4
4
 
5
5
  Permission is hereby granted, free of charge, to any person obtaining a copy of
6
6
  this software and associated documentation files (the "Software"), to deal in
@@ -30,10 +30,10 @@ Gem::Specification.new do |spec|
30
30
 
31
31
  # to update dependencies edit project.yml
32
32
  spec.add_runtime_dependency "concurrent-ruby", "~> 1.0"
33
- spec.add_runtime_dependency "dry-container", "~> 0.7", ">= 0.7.1"
34
- spec.add_runtime_dependency "dry-core", "~> 0.5", ">= 0.5"
33
+ spec.add_runtime_dependency "dry-core", "~> 1.0", "< 2"
35
34
  spec.add_runtime_dependency "dry-initializer", "~> 3.0"
36
- spec.add_runtime_dependency "dry-schema", "~> 1.8", ">= 1.8.0"
35
+ spec.add_runtime_dependency "dry-schema", ">= 1.12", "< 2"
36
+ spec.add_runtime_dependency "zeitwerk", "~> 2.6"
37
37
 
38
38
  spec.add_development_dependency "bundler"
39
39
  spec.add_development_dependency "rake"
@@ -1,8 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require "dry/schema/config"
4
- require "dry/validation/macros"
5
-
6
3
  module Dry
7
4
  module Validation
8
5
  # Configuration for contracts
@@ -1,13 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require "dry/schema"
4
- require "dry/schema/messages"
5
- require "dry/schema/path"
6
- require "dry/schema/key_map"
7
-
8
3
  require "dry/validation/constants"
9
- require "dry/validation/macros"
10
- require "dry/validation/schema_ext"
11
4
 
12
5
  module Dry
13
6
  module Validation
@@ -2,17 +2,9 @@
2
2
 
3
3
  require "concurrent/map"
4
4
 
5
- require "dry/core/equalizer"
6
5
  require "dry/initializer"
7
- require "dry/schema/path"
8
-
9
- require "dry/validation/config"
10
6
  require "dry/validation/constants"
11
- require "dry/validation/rule"
12
- require "dry/validation/evaluator"
13
- require "dry/validation/messages/resolver"
14
- require "dry/validation/result"
15
- require "dry/validation/contract/class_interface"
7
+ require "dry/validation/schema_ext"
16
8
 
17
9
  module Dry
18
10
  module Validation
@@ -140,8 +132,9 @@ module Dry
140
132
 
141
133
  path
142
134
  .to_a[0..-2]
143
- .any? { |key|
144
- curr_path = Schema::Path[path.keys[0..path.keys.index(key)]]
135
+ .each_with_index
136
+ .any? { |_key, index|
137
+ curr_path = Schema::Path[path.keys[0..index]]
145
138
 
146
139
  return false unless result.schema_error?(curr_path)
147
140
 
@@ -1,10 +1,7 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  require "dry/initializer"
4
- require "dry/core/deprecations"
5
-
6
4
  require "dry/validation/constants"
7
- require "dry/validation/failures"
8
5
 
9
6
  module Dry
10
7
  module Validation
@@ -1,6 +1,11 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require "dry/monads/result"
3
+ require "dry/monads"
4
+ require "dry/monads/version"
5
+
6
+ if Gem::Version.new(Dry::Monads::VERSION) < Gem::Version.new("1.6.0")
7
+ raise "dry-validation requires dry-monads >= 1.6.0"
8
+ end
4
9
 
5
10
  module Dry
6
11
  module Validation
@@ -1,8 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require "dry/schema/predicate_registry"
4
- require "dry/validation/contract"
5
-
6
3
  module Dry
7
4
  module Validation
8
5
  # Predicate registry with additional needed methods.
@@ -1,7 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  require "dry/validation/constants"
4
- require "dry/validation/function"
5
4
 
6
5
  module Dry
7
6
  module Validation
@@ -1,8 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require "dry/container"
4
- require "dry/validation/macro"
5
-
6
3
  module Dry
7
4
  module Validation
8
5
  # API for registering and accessing Rule macros
@@ -42,7 +39,7 @@ module Dry
42
39
  #
43
40
  # @api public
44
41
  class Container
45
- include Dry::Container::Mixin
42
+ include Core::Container::Mixin
46
43
 
47
44
  # Register a new macro
48
45
  #
@@ -1,10 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require "dry/core/equalizer"
4
-
5
- require "dry/schema/constants"
6
- require "dry/schema/message"
7
-
8
3
  module Dry
9
4
  module Validation
10
5
  # Message message
@@ -1,9 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require "dry/schema/message_set"
4
-
5
3
  require "dry/validation/constants"
6
- require "dry/validation/message"
7
4
 
8
5
  module Dry
9
6
  module Validation
@@ -1,8 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require "dry/validation/message"
4
- require "dry/schema/message_compiler"
5
-
6
3
  module Dry
7
4
  module Validation
8
5
  module Messages
@@ -1,11 +1,8 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  require "concurrent/map"
4
- require "dry/core/equalizer"
5
4
 
6
5
  require "dry/validation/constants"
7
- require "dry/validation/message_set"
8
- require "dry/validation/values"
9
6
 
10
7
  module Dry
11
8
  module Validation
@@ -1,9 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require "dry/core/equalizer"
4
-
5
3
  require "dry/validation/constants"
6
- require "dry/validation/function"
7
4
 
8
5
  module Dry
9
6
  module Validation
@@ -1,6 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require "dry/core/equalizer"
4
3
  require "dry/schema/path"
5
4
  require "dry/validation/constants"
6
5
 
@@ -2,6 +2,6 @@
2
2
 
3
3
  module Dry
4
4
  module Validation
5
- VERSION = "1.8.1"
5
+ VERSION = "1.10.0"
6
6
  end
7
7
  end
@@ -1,8 +1,11 @@
1
1
  # frozen_string_literal: true
2
2
 
3
+ require "zeitwerk"
4
+
5
+ require "dry/core"
6
+ require "dry/schema"
7
+
3
8
  require "dry/validation/constants"
4
- require "dry/validation/contract"
5
- require "dry/validation/macros"
6
9
 
7
10
  # Main namespace
8
11
  #
@@ -13,7 +16,22 @@ module Dry
13
16
  # @api public
14
17
  module Validation
15
18
  extend Dry::Core::Extensions
16
- extend Macros::Registrar
19
+
20
+ def self.loader
21
+ @loader ||= Zeitwerk::Loader.new.tap do |loader|
22
+ root = File.expand_path("..", __dir__)
23
+ loader.tag = "dry-validation"
24
+ loader.inflector = Zeitwerk::GemInflector.new("#{root}/dry-validation.rb")
25
+ loader.push_dir(root)
26
+ loader.ignore(
27
+ "#{root}/dry-validation.rb",
28
+ "#{root}/dry/validation/schema_ext.rb",
29
+ "#{root}/dry/validation/{constants,errors,version}.rb",
30
+ "#{root}/dry/validation/extensions"
31
+ )
32
+ loader.inflector.inflect("dsl" => "DSL")
33
+ end
34
+ end
17
35
 
18
36
  register_extension(:monads) do
19
37
  require "dry/validation/extensions/monads"
@@ -56,5 +74,9 @@ module Dry
56
74
  def self.macros
57
75
  Macros
58
76
  end
77
+
78
+ loader.setup
79
+
80
+ extend Macros::Registrar
59
81
  end
60
82
  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.8.1
4
+ version: 1.10.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Piotr Solnica
8
- autorequire:
8
+ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2022-05-28 00:00:00.000000000 Z
11
+ date: 2022-11-04 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: concurrent-ruby
@@ -25,79 +25,73 @@ dependencies:
25
25
  - !ruby/object:Gem::Version
26
26
  version: '1.0'
27
27
  - !ruby/object:Gem::Dependency
28
- name: dry-container
28
+ name: dry-core
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
31
  - - "~>"
32
32
  - !ruby/object:Gem::Version
33
- version: '0.7'
34
- - - ">="
33
+ version: '1.0'
34
+ - - "<"
35
35
  - !ruby/object:Gem::Version
36
- version: 0.7.1
36
+ version: '2'
37
37
  type: :runtime
38
38
  prerelease: false
39
39
  version_requirements: !ruby/object:Gem::Requirement
40
40
  requirements:
41
41
  - - "~>"
42
42
  - !ruby/object:Gem::Version
43
- version: '0.7'
44
- - - ">="
43
+ version: '1.0'
44
+ - - "<"
45
45
  - !ruby/object:Gem::Version
46
- version: 0.7.1
46
+ version: '2'
47
47
  - !ruby/object:Gem::Dependency
48
- name: dry-core
48
+ name: dry-initializer
49
49
  requirement: !ruby/object:Gem::Requirement
50
50
  requirements:
51
51
  - - "~>"
52
52
  - !ruby/object:Gem::Version
53
- version: '0.5'
54
- - - ">="
55
- - !ruby/object:Gem::Version
56
- version: '0.5'
53
+ version: '3.0'
57
54
  type: :runtime
58
55
  prerelease: false
59
56
  version_requirements: !ruby/object:Gem::Requirement
60
57
  requirements:
61
58
  - - "~>"
62
59
  - !ruby/object:Gem::Version
63
- version: '0.5'
64
- - - ">="
65
- - !ruby/object:Gem::Version
66
- version: '0.5'
60
+ version: '3.0'
67
61
  - !ruby/object:Gem::Dependency
68
- name: dry-initializer
62
+ name: dry-schema
69
63
  requirement: !ruby/object:Gem::Requirement
70
64
  requirements:
71
- - - "~>"
65
+ - - ">="
72
66
  - !ruby/object:Gem::Version
73
- version: '3.0'
67
+ version: '1.12'
68
+ - - "<"
69
+ - !ruby/object:Gem::Version
70
+ version: '2'
74
71
  type: :runtime
75
72
  prerelease: false
76
73
  version_requirements: !ruby/object:Gem::Requirement
77
74
  requirements:
78
- - - "~>"
75
+ - - ">="
79
76
  - !ruby/object:Gem::Version
80
- version: '3.0'
77
+ version: '1.12'
78
+ - - "<"
79
+ - !ruby/object:Gem::Version
80
+ version: '2'
81
81
  - !ruby/object:Gem::Dependency
82
- name: dry-schema
82
+ name: zeitwerk
83
83
  requirement: !ruby/object:Gem::Requirement
84
84
  requirements:
85
85
  - - "~>"
86
86
  - !ruby/object:Gem::Version
87
- version: '1.8'
88
- - - ">="
89
- - !ruby/object:Gem::Version
90
- version: 1.8.0
87
+ version: '2.6'
91
88
  type: :runtime
92
89
  prerelease: false
93
90
  version_requirements: !ruby/object:Gem::Requirement
94
91
  requirements:
95
92
  - - "~>"
96
93
  - !ruby/object:Gem::Version
97
- version: '1.8'
98
- - - ">="
99
- - !ruby/object:Gem::Version
100
- version: 1.8.0
94
+ version: '2.6'
101
95
  - !ruby/object:Gem::Dependency
102
96
  name: bundler
103
97
  requirement: !ruby/object:Gem::Requirement
@@ -182,7 +176,7 @@ metadata:
182
176
  changelog_uri: https://github.com/dry-rb/dry-validation/blob/main/CHANGELOG.md
183
177
  source_code_uri: https://github.com/dry-rb/dry-validation
184
178
  bug_tracker_uri: https://github.com/dry-rb/dry-validation/issues
185
- post_install_message:
179
+ post_install_message:
186
180
  rdoc_options: []
187
181
  require_paths:
188
182
  - lib
@@ -197,8 +191,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
197
191
  - !ruby/object:Gem::Version
198
192
  version: '0'
199
193
  requirements: []
200
- rubygems_version: 3.2.32
201
- signing_key:
194
+ rubygems_version: 3.1.6
195
+ signing_key:
202
196
  specification_version: 4
203
197
  summary: Validation library
204
198
  test_files: []