dry-schema 1.13.1 → 1.13.2
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.md +10 -0
- data/lib/dry/schema/config.rb +3 -1
- data/lib/dry/schema/dsl.rb +11 -3
- data/lib/dry/schema/macros/core.rb +2 -2
- data/lib/dry/schema/version.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: f38923174afc15c94df3839a0ab0501c8aecb4ebc5df7042edc6c6590744449b
|
4
|
+
data.tar.gz: 97183a67cd62d595ba32413708b99c6d4c3d6760414f846f9a2ee12a1fd15615
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 70f7656a3c4af51c4d576d022ba552728831b35cadf29f2589706e979463a01d2a5eea1c5ed546759625431dc7114df41b2f1838e8bda2d1fa223c8573f5f8a1
|
7
|
+
data.tar.gz: 6b639a89fb5df82cfcb546649a5cc172456537e11944913a48df2b88b99a04b0b09be262ce55224a1fdc7d87916e5cd5f6b73bad761972b010ca2034f7b13e77
|
data/CHANGELOG.md
CHANGED
@@ -1,5 +1,15 @@
|
|
1
1
|
<!--- DO NOT EDIT THIS FILE - IT'S AUTOMATICALLY GENERATED VIA DEVTOOLS --->
|
2
2
|
|
3
|
+
## 1.13.2 2023-05-31
|
4
|
+
|
5
|
+
|
6
|
+
### Fixed
|
7
|
+
|
8
|
+
- Fix custom predicates setting (via #460) (@solnic)
|
9
|
+
|
10
|
+
|
11
|
+
[Compare v1.13.1...v1.13.2](https://github.com/dry-rb/dry-schema/compare/v1.13.1...v1.13.2)
|
12
|
+
|
3
13
|
## 1.13.1 2023-04-07
|
4
14
|
|
5
15
|
|
data/lib/dry/schema/config.rb
CHANGED
@@ -22,7 +22,9 @@ module Dry
|
|
22
22
|
# @return [Schema::PredicateRegistry]
|
23
23
|
#
|
24
24
|
# @api public
|
25
|
-
setting :predicates, default:
|
25
|
+
setting :predicates, default: PredicateRegistry.new, constructor: -> predicates {
|
26
|
+
predicates.is_a?(PredicateRegistry) ? predicates : PredicateRegistry.new(predicates)
|
27
|
+
}
|
26
28
|
|
27
29
|
# @!method types
|
28
30
|
#
|
data/lib/dry/schema/dsl.rb
CHANGED
@@ -39,9 +39,6 @@ module Dry
|
|
39
39
|
|
40
40
|
extend Dry::Initializer
|
41
41
|
|
42
|
-
# @return [Compiler] The rule compiler object
|
43
|
-
option :compiler, default: -> { Compiler.new }
|
44
|
-
|
45
42
|
# @return [Compiler] The type of the processor (Params, JSON, or a custom sub-class)
|
46
43
|
option :processor_type, default: -> { Processor }
|
47
44
|
|
@@ -84,6 +81,7 @@ module Dry
|
|
84
81
|
def self.new(**options, &block)
|
85
82
|
dsl = super
|
86
83
|
dsl.instance_eval(&block) if block
|
84
|
+
dsl.instance_variable_set("@compiler", options[:compiler]) if options[:compiler]
|
87
85
|
dsl
|
88
86
|
end
|
89
87
|
|
@@ -106,6 +104,16 @@ module Dry
|
|
106
104
|
self
|
107
105
|
end
|
108
106
|
|
107
|
+
# @api private
|
108
|
+
def compiler
|
109
|
+
@compiler ||= Compiler.new(predicates)
|
110
|
+
end
|
111
|
+
|
112
|
+
# @api private
|
113
|
+
def predicates
|
114
|
+
@predicates ||= config.predicates
|
115
|
+
end
|
116
|
+
|
109
117
|
# Return a macro with the provided name
|
110
118
|
#
|
111
119
|
# @param [Symbol] name
|
@@ -19,10 +19,10 @@ module Dry
|
|
19
19
|
option :compiler, default: proc { Compiler.new }
|
20
20
|
|
21
21
|
# @api private
|
22
|
-
option :
|
22
|
+
option :schema_dsl, optional: true
|
23
23
|
|
24
24
|
# @api private
|
25
|
-
option :
|
25
|
+
option :trace, default: proc { Trace.new(schema_dsl&.compiler || Compiler.new) }
|
26
26
|
|
27
27
|
# @api private
|
28
28
|
def new(**options)
|
data/lib/dry/schema/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: dry-schema
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.13.
|
4
|
+
version: 1.13.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Piotr Solnica
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2023-
|
11
|
+
date: 2023-05-31 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: concurrent-ruby
|