dry-schema 1.13.1 → 1.13.2

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: e1949729f55d95db1df478e3d2bf0077728c2cfaa5a66ac3d6d00bdbaaf55347
4
- data.tar.gz: 574d9ebd59457187c161730f8b2f232d299ff813fb6af10c680b57ce17c5ee46
3
+ metadata.gz: f38923174afc15c94df3839a0ab0501c8aecb4ebc5df7042edc6c6590744449b
4
+ data.tar.gz: 97183a67cd62d595ba32413708b99c6d4c3d6760414f846f9a2ee12a1fd15615
5
5
  SHA512:
6
- metadata.gz: 520e01dc0ab8454bb981fcba032d3a1099fb7fad15b7eaf4008a094fae381178ab389b143a83b2f9f46522722aa14498bcf9a85e9708537d773a3b8f07c81635
7
- data.tar.gz: 6d3c13d9d1c13dd632368fd4a3ff34aaa8fec5573a5001540552eadd3debe413160d54bbc8051822deb029c9bf20ffe301a120dbd97f2a569eac398de767053e
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
 
@@ -22,7 +22,9 @@ module Dry
22
22
  # @return [Schema::PredicateRegistry]
23
23
  #
24
24
  # @api public
25
- setting :predicates, default: Schema::PredicateRegistry.new
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
  #
@@ -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 :trace, default: proc { Trace.new }
22
+ option :schema_dsl, optional: true
23
23
 
24
24
  # @api private
25
- option :schema_dsl, optional: true
25
+ option :trace, default: proc { Trace.new(schema_dsl&.compiler || Compiler.new) }
26
26
 
27
27
  # @api private
28
28
  def new(**options)
@@ -2,6 +2,6 @@
2
2
 
3
3
  module Dry
4
4
  module Schema
5
- VERSION = "1.13.1"
5
+ VERSION = "1.13.2"
6
6
  end
7
7
  end
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.1
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-04-07 00:00:00.000000000 Z
11
+ date: 2023-05-31 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: concurrent-ruby