dry-types 1.7.2 → 1.8.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 +4 -4
- data/CHANGELOG.md +38 -0
- data/README.md +1 -1
- data/dry-types.gemspec +12 -16
- data/lib/dry/types/any.rb +3 -9
- data/lib/dry/types/array/constructor.rb +3 -9
- data/lib/dry/types/array/member.rb +1 -3
- data/lib/dry/types/array.rb +1 -1
- data/lib/dry/types/builder.rb +19 -35
- data/lib/dry/types/builder_methods.rb +5 -15
- data/lib/dry/types/coercions/json.rb +3 -3
- data/lib/dry/types/coercions/params.rb +13 -13
- data/lib/dry/types/coercions.rb +13 -15
- data/lib/dry/types/compiler.rb +5 -7
- data/lib/dry/types/composition.rb +17 -31
- data/lib/dry/types/constrained/coercible.rb +3 -3
- data/lib/dry/types/constrained.rb +31 -23
- data/lib/dry/types/constructor/function.rb +19 -31
- data/lib/dry/types/constructor/wrapper.rb +5 -11
- data/lib/dry/types/constructor.rb +9 -17
- data/lib/dry/types/core.rb +14 -6
- data/lib/dry/types/decorator.rb +7 -18
- data/lib/dry/types/default.rb +14 -18
- data/lib/dry/types/enum.rb +33 -13
- data/lib/dry/types/errors.rb +4 -8
- data/lib/dry/types/extensions/maybe.rb +5 -11
- data/lib/dry/types/fn_container.rb +3 -3
- data/lib/dry/types/hash/constructor.rb +3 -9
- data/lib/dry/types/hash.rb +8 -6
- data/lib/dry/types/implication.rb +5 -7
- data/lib/dry/types/inflector.rb +1 -1
- data/lib/dry/types/intersection.rb +3 -9
- data/lib/dry/types/lax.rb +5 -11
- data/lib/dry/types/map.rb +33 -41
- data/lib/dry/types/meta.rb +2 -6
- data/lib/dry/types/module.rb +3 -5
- data/lib/dry/types/nominal.rb +13 -35
- data/lib/dry/types/predicate_inferrer.rb +3 -5
- data/lib/dry/types/predicate_registry.rb +1 -3
- data/lib/dry/types/primitive_inferrer.rb +4 -12
- data/lib/dry/types/printable.rb +1 -3
- data/lib/dry/types/printer/composition.rb +3 -3
- data/lib/dry/types/printer.rb +6 -9
- data/lib/dry/types/result.rb +5 -15
- data/lib/dry/types/schema/key.rb +11 -26
- data/lib/dry/types/schema.rb +10 -12
- data/lib/dry/types/spec/types.rb +2 -2
- data/lib/dry/types/sum.rb +4 -8
- data/lib/dry/types/type.rb +2 -2
- data/lib/dry/types/version.rb +1 -1
- data/lib/dry/types.rb +2 -2
- metadata +8 -63
data/lib/dry/types/nominal.rb
CHANGED
@@ -48,48 +48,36 @@ module Dry
|
|
48
48
|
# @return [String]
|
49
49
|
#
|
50
50
|
# @api public
|
51
|
-
def name
|
52
|
-
primitive.name
|
53
|
-
end
|
51
|
+
def name = primitive.name
|
54
52
|
|
55
53
|
# @return [false]
|
56
54
|
#
|
57
55
|
# @api public
|
58
|
-
def default?
|
59
|
-
false
|
60
|
-
end
|
56
|
+
def default? = false
|
61
57
|
|
62
58
|
# @return [false]
|
63
59
|
#
|
64
60
|
# @api public
|
65
|
-
def constrained?
|
66
|
-
false
|
67
|
-
end
|
61
|
+
def constrained? = false
|
68
62
|
|
69
63
|
# @return [false]
|
70
64
|
#
|
71
65
|
# @api public
|
72
|
-
def optional?
|
73
|
-
false
|
74
|
-
end
|
66
|
+
def optional? = false
|
75
67
|
|
76
68
|
# @param [BasicObject] input
|
77
69
|
#
|
78
70
|
# @return [BasicObject]
|
79
71
|
#
|
80
72
|
# @api private
|
81
|
-
def call_unsafe(input)
|
82
|
-
input
|
83
|
-
end
|
73
|
+
def call_unsafe(input) = input
|
84
74
|
|
85
75
|
# @param [BasicObject] input
|
86
76
|
#
|
87
77
|
# @return [BasicObject]
|
88
78
|
#
|
89
79
|
# @api private
|
90
|
-
def call_safe(input)
|
91
|
-
input
|
92
|
-
end
|
80
|
+
def call_safe(input, &) = input
|
93
81
|
|
94
82
|
# @param [Object] input
|
95
83
|
#
|
@@ -100,18 +88,14 @@ module Dry
|
|
100
88
|
# @return [nil] otherwise
|
101
89
|
#
|
102
90
|
# @api public
|
103
|
-
def try(input)
|
104
|
-
success(input)
|
105
|
-
end
|
91
|
+
def try(input, &) = success(input)
|
106
92
|
|
107
93
|
# @param (see Dry::Types::Success#initialize)
|
108
94
|
#
|
109
95
|
# @return [Result::Success]
|
110
96
|
#
|
111
97
|
# @api public
|
112
|
-
def success(input)
|
113
|
-
Result::Success.new(input)
|
114
|
-
end
|
98
|
+
def success(input) = Result::Success.new(input)
|
115
99
|
|
116
100
|
# @param (see Failure#initialize)
|
117
101
|
#
|
@@ -119,7 +103,7 @@ module Dry
|
|
119
103
|
#
|
120
104
|
# @api public
|
121
105
|
def failure(input, error)
|
122
|
-
raise ArgumentError, "error must be a CoercionError" unless error.is_a?(CoercionError)
|
106
|
+
raise ::ArgumentError, "error must be a CoercionError" unless error.is_a?(CoercionError)
|
123
107
|
|
124
108
|
Result::Failure.new(input, error)
|
125
109
|
end
|
@@ -131,12 +115,10 @@ module Dry
|
|
131
115
|
# @return [Boolean]
|
132
116
|
#
|
133
117
|
# @api public
|
134
|
-
def primitive?(value)
|
135
|
-
value.is_a?(primitive)
|
136
|
-
end
|
118
|
+
def primitive?(value) = value.is_a?(primitive)
|
137
119
|
|
138
120
|
# @api private
|
139
|
-
def coerce(input, &
|
121
|
+
def coerce(input, &)
|
140
122
|
if primitive?(input)
|
141
123
|
input
|
142
124
|
elsif block_given?
|
@@ -178,18 +160,14 @@ module Dry
|
|
178
160
|
# @return [Nominal]
|
179
161
|
#
|
180
162
|
# @api public
|
181
|
-
def lax
|
182
|
-
self
|
183
|
-
end
|
163
|
+
def lax = self
|
184
164
|
|
185
165
|
# Wrap the type with a proc
|
186
166
|
#
|
187
167
|
# @return [Proc]
|
188
168
|
#
|
189
169
|
# @api public
|
190
|
-
def to_proc
|
191
|
-
ALWAYS
|
192
|
-
end
|
170
|
+
def to_proc = ALWAYS
|
193
171
|
end
|
194
172
|
|
195
173
|
extend ::Dry::Core::Deprecations[:"dry-types"]
|
@@ -137,7 +137,7 @@ module Dry
|
|
137
137
|
left = visit(left_node)
|
138
138
|
right = visit(right_node)
|
139
139
|
|
140
|
-
if left.eql?(NIL)
|
140
|
+
if left.eql?(NIL) # rubocop:disable Lint/DeprecatedConstants
|
141
141
|
right
|
142
142
|
else
|
143
143
|
[[left, right]]
|
@@ -157,9 +157,7 @@ module Dry
|
|
157
157
|
end
|
158
158
|
|
159
159
|
# @api private
|
160
|
-
def visit_any(_)
|
161
|
-
EMPTY_ARRAY
|
162
|
-
end
|
160
|
+
def visit_any(_) = EMPTY_ARRAY
|
163
161
|
|
164
162
|
# @api private
|
165
163
|
def visit_and(node)
|
@@ -187,7 +185,7 @@ module Dry
|
|
187
185
|
|
188
186
|
# @api private
|
189
187
|
def visit_map(_node)
|
190
|
-
raise NotImplementedError, "map types are not supported yet"
|
188
|
+
raise ::NotImplementedError, "map types are not supported yet"
|
191
189
|
end
|
192
190
|
|
193
191
|
private
|
@@ -25,20 +25,14 @@ module Dry
|
|
25
25
|
end
|
26
26
|
|
27
27
|
# @api private
|
28
|
-
def visit_hash(_)
|
29
|
-
::Hash
|
30
|
-
end
|
28
|
+
def visit_hash(_) = ::Hash
|
31
29
|
alias_method :visit_schema, :visit_hash
|
32
30
|
|
33
31
|
# @api private
|
34
|
-
def visit_array(_)
|
35
|
-
::Array
|
36
|
-
end
|
32
|
+
def visit_array(_) = ::Array
|
37
33
|
|
38
34
|
# @api private
|
39
|
-
def visit_lax(node)
|
40
|
-
visit(node)
|
41
|
-
end
|
35
|
+
def visit_lax(node) = visit(node)
|
42
36
|
|
43
37
|
# @api private
|
44
38
|
def visit_constructor(node)
|
@@ -66,9 +60,7 @@ module Dry
|
|
66
60
|
end
|
67
61
|
|
68
62
|
# @api private
|
69
|
-
def visit_any(_)
|
70
|
-
::Object
|
71
|
-
end
|
63
|
+
def visit_any(_) = ::Object
|
72
64
|
end
|
73
65
|
|
74
66
|
# @return [Compiler]
|
data/lib/dry/types/printable.rb
CHANGED
@@ -30,12 +30,12 @@ module Dry
|
|
30
30
|
end
|
31
31
|
end
|
32
32
|
|
33
|
-
def visit_constructor(type, &
|
33
|
+
def visit_constructor(type, &)
|
34
34
|
case type
|
35
35
|
when @composition_class
|
36
|
-
visit_constructors(type, &
|
36
|
+
visit_constructors(type, &)
|
37
37
|
else
|
38
|
-
@printer.visit(type, &
|
38
|
+
@printer.visit(type, &)
|
39
39
|
end
|
40
40
|
end
|
41
41
|
end
|
data/lib/dry/types/printer.rb
CHANGED
@@ -46,7 +46,7 @@ module Dry
|
|
46
46
|
"#<Dry::Types[#{output}]>"
|
47
47
|
end
|
48
48
|
|
49
|
-
def visit(type, &
|
49
|
+
def visit(type, &)
|
50
50
|
print_with = MAPPING.fetch(type.class) do
|
51
51
|
if type.class < Constructor
|
52
52
|
:visit_constructor
|
@@ -56,12 +56,10 @@ module Dry
|
|
56
56
|
raise ArgumentError, "Do not know how to print #{type.class}"
|
57
57
|
end
|
58
58
|
end
|
59
|
-
send(print_with, type, &
|
59
|
+
send(print_with, type, &)
|
60
60
|
end
|
61
61
|
|
62
|
-
def visit_any(_)
|
63
|
-
yield "Any"
|
64
|
-
end
|
62
|
+
def visit_any(_) = yield "Any"
|
65
63
|
|
66
64
|
def visit_array(type)
|
67
65
|
visit_options(EMPTY_HASH, type.meta) do |opts|
|
@@ -101,10 +99,10 @@ module Dry
|
|
101
99
|
end
|
102
100
|
end
|
103
101
|
|
104
|
-
def visit_composition(composition, &
|
102
|
+
def visit_composition(composition, &)
|
105
103
|
klass = composition.class
|
106
104
|
@composition_printers[klass] = Composition.new(self, klass)
|
107
|
-
@composition_printers[klass].visit(composition, &
|
105
|
+
@composition_printers[klass].visit(composition, &)
|
108
106
|
end
|
109
107
|
|
110
108
|
def visit_enum(enum)
|
@@ -114,8 +112,7 @@ module Dry
|
|
114
112
|
|
115
113
|
visit_options(options) do |opts|
|
116
114
|
if mapping == enum.inverted_mapping
|
117
|
-
|
118
|
-
yield "Enum<#{type} values={#{values}}#{opts}>"
|
115
|
+
yield "Enum(#{enum.joined_values})<#{type}#{opts}>"
|
119
116
|
else
|
120
117
|
mapping_str = mapping.map { |key, value|
|
121
118
|
"#{key.inspect}=>#{value.inspect}"
|
data/lib/dry/types/result.rb
CHANGED
@@ -25,16 +25,12 @@ module Dry
|
|
25
25
|
# @return [true]
|
26
26
|
#
|
27
27
|
# @api public
|
28
|
-
def success?
|
29
|
-
true
|
30
|
-
end
|
28
|
+
def success? = true
|
31
29
|
|
32
30
|
# @return [false]
|
33
31
|
#
|
34
32
|
# @api public
|
35
|
-
def failure?
|
36
|
-
false
|
37
|
-
end
|
33
|
+
def failure? = false
|
38
34
|
end
|
39
35
|
|
40
36
|
# Failure result
|
@@ -59,23 +55,17 @@ module Dry
|
|
59
55
|
# @return [String]
|
60
56
|
#
|
61
57
|
# @api private
|
62
|
-
def to_s
|
63
|
-
error.to_s
|
64
|
-
end
|
58
|
+
def to_s = error.to_s
|
65
59
|
|
66
60
|
# @return [false]
|
67
61
|
#
|
68
62
|
# @api public
|
69
|
-
def success?
|
70
|
-
false
|
71
|
-
end
|
63
|
+
def success? = false
|
72
64
|
|
73
65
|
# @return [true]
|
74
66
|
#
|
75
67
|
# @api public
|
76
|
-
def failure?
|
77
|
-
true
|
78
|
-
end
|
68
|
+
def failure? = true
|
79
69
|
end
|
80
70
|
end
|
81
71
|
end
|
data/lib/dry/types/schema/key.rb
CHANGED
@@ -29,38 +29,31 @@ module Dry
|
|
29
29
|
end
|
30
30
|
|
31
31
|
unless name.is_a?(::Symbol)
|
32
|
-
raise ArgumentError,
|
32
|
+
raise ::ArgumentError,
|
33
|
+
"Schemas can only contain symbol keys, #{name.inspect} given"
|
33
34
|
end
|
34
35
|
|
35
|
-
super
|
36
|
+
super
|
36
37
|
@name = name
|
37
38
|
end
|
38
39
|
|
39
40
|
# @api private
|
40
|
-
def call_safe(input, &
|
41
|
-
type.call_safe(input, &block)
|
42
|
-
end
|
41
|
+
def call_safe(input, &) = type.call_safe(input, &)
|
43
42
|
|
44
43
|
# @api private
|
45
|
-
def call_unsafe(input)
|
46
|
-
type.call_unsafe(input)
|
47
|
-
end
|
44
|
+
def call_unsafe(input) = type.call_unsafe(input)
|
48
45
|
|
49
46
|
# @see Dry::Types::Nominal#try
|
50
47
|
#
|
51
48
|
# @api public
|
52
|
-
def try(input, &
|
53
|
-
type.try(input, &block)
|
54
|
-
end
|
49
|
+
def try(input, &) = type.try(input, &)
|
55
50
|
|
56
51
|
# Whether the key is required in schema input
|
57
52
|
#
|
58
53
|
# @return [Boolean]
|
59
54
|
#
|
60
55
|
# @api public
|
61
|
-
def required?
|
62
|
-
options.fetch(:required)
|
63
|
-
end
|
56
|
+
def required? = options.fetch(:required)
|
64
57
|
|
65
58
|
# Control whether the key is required
|
66
59
|
#
|
@@ -87,27 +80,21 @@ module Dry
|
|
87
80
|
# @return [Dry::Types::Schema::Key]
|
88
81
|
#
|
89
82
|
# @api public
|
90
|
-
def omittable
|
91
|
-
required(false)
|
92
|
-
end
|
83
|
+
def omittable = required(false)
|
93
84
|
|
94
85
|
# Turn key into a lax type. Lax types are not strict hence such keys are not required
|
95
86
|
#
|
96
87
|
# @return [Lax]
|
97
88
|
#
|
98
89
|
# @api public
|
99
|
-
def lax
|
100
|
-
__new__(type.lax).required(false)
|
101
|
-
end
|
90
|
+
def lax = __new__(type.lax).required(false)
|
102
91
|
|
103
92
|
# Make wrapped type optional
|
104
93
|
#
|
105
94
|
# @return [Key]
|
106
95
|
#
|
107
96
|
# @api public
|
108
|
-
def optional
|
109
|
-
__new__(type.optional)
|
110
|
-
end
|
97
|
+
def optional = __new__(type.optional)
|
111
98
|
|
112
99
|
# Dump to internal AST representation
|
113
100
|
#
|
@@ -144,9 +131,7 @@ module Dry
|
|
144
131
|
private
|
145
132
|
|
146
133
|
# @api private
|
147
|
-
def decorate?(response)
|
148
|
-
response.is_a?(Type)
|
149
|
-
end
|
134
|
+
def decorate?(response) = response.is_a?(Type)
|
150
135
|
end
|
151
136
|
end
|
152
137
|
end
|
data/lib/dry/types/schema.rb
CHANGED
@@ -17,8 +17,8 @@ module Dry
|
|
17
17
|
#
|
18
18
|
# @api public
|
19
19
|
class Schema < Hash
|
20
|
-
NO_TRANSFORM = Dry::Types::FnContainer.register { |x| x }
|
21
|
-
SYMBOLIZE_KEY = Dry::Types::FnContainer.register(:to_sym.to_proc)
|
20
|
+
NO_TRANSFORM = ::Dry::Types::FnContainer.register { |x| x }
|
21
|
+
SYMBOLIZE_KEY = ::Dry::Types::FnContainer.register(:to_sym.to_proc)
|
22
22
|
|
23
23
|
include ::Enumerable
|
24
24
|
|
@@ -46,7 +46,7 @@ module Dry
|
|
46
46
|
|
47
47
|
key_fn = options.fetch(:key_transform_fn, NO_TRANSFORM)
|
48
48
|
|
49
|
-
@transform_key = Dry::Types::FnContainer[key_fn]
|
49
|
+
@transform_key = ::Dry::Types::FnContainer[key_fn]
|
50
50
|
|
51
51
|
super
|
52
52
|
end
|
@@ -77,9 +77,7 @@ module Dry
|
|
77
77
|
# @return [Hash{Symbol => Object}]
|
78
78
|
#
|
79
79
|
# @api public
|
80
|
-
def apply(hash, options = EMPTY_HASH)
|
81
|
-
call_unsafe(hash, options)
|
82
|
-
end
|
80
|
+
def apply(hash, options = EMPTY_HASH) = call_unsafe(hash, options)
|
83
81
|
|
84
82
|
# @param input [Hash] hash
|
85
83
|
#
|
@@ -184,9 +182,9 @@ module Dry
|
|
184
182
|
def with_key_transform(proc = nil, &block)
|
185
183
|
fn = proc || block
|
186
184
|
|
187
|
-
raise ArgumentError, "a block or callable argument is required" if fn.nil?
|
185
|
+
raise ::ArgumentError, "a block or callable argument is required" if fn.nil?
|
188
186
|
|
189
|
-
handle = Dry::Types::FnContainer.register(fn)
|
187
|
+
handle = ::Dry::Types::FnContainer.register(fn)
|
190
188
|
with(key_transform_fn: handle)
|
191
189
|
end
|
192
190
|
|
@@ -226,8 +224,8 @@ module Dry
|
|
226
224
|
# @return [Array<Dry::Types::Schema::Key>,Enumerator]
|
227
225
|
#
|
228
226
|
# @api public
|
229
|
-
def each(&
|
230
|
-
keys.each(&
|
227
|
+
def each(&)
|
228
|
+
keys.each(&)
|
231
229
|
end
|
232
230
|
|
233
231
|
# Whether the schema has the given key
|
@@ -256,9 +254,9 @@ module Dry
|
|
256
254
|
# @return [Dry::Types::Schema::Key,Object] key type or block value if key is not in schema
|
257
255
|
#
|
258
256
|
# @api public
|
259
|
-
def key(name, fallback = Undefined, &
|
257
|
+
def key(name, fallback = Undefined, &)
|
260
258
|
if Undefined.equal?(fallback)
|
261
|
-
name_key_map.fetch(name, &
|
259
|
+
name_key_map.fetch(name, &)
|
262
260
|
else
|
263
261
|
name_key_map.fetch(name, fallback)
|
264
262
|
end
|
data/lib/dry/types/spec/types.rb
CHANGED
@@ -31,7 +31,7 @@ RSpec.shared_examples_for "Dry::Types::Nominal without primitive" do
|
|
31
31
|
|
32
32
|
describe "#==" do
|
33
33
|
it "has #== defined" do
|
34
|
-
expect(type).to
|
34
|
+
expect(type).to eql(type)
|
35
35
|
end
|
36
36
|
end
|
37
37
|
|
@@ -74,7 +74,7 @@ RSpec.shared_examples_for "Dry::Types::Nominal#meta" do
|
|
74
74
|
end
|
75
75
|
|
76
76
|
it "is locally immutable" do
|
77
|
-
expect(type.meta).to be_a
|
77
|
+
expect(type.meta).to be_a Hash
|
78
78
|
expect(type.meta).to be_frozen
|
79
79
|
expect(type.meta).not_to have_key :immutable_test
|
80
80
|
derived = type.meta(immutable_test: 1)
|
data/lib/dry/types/sum.rb
CHANGED
@@ -8,16 +8,12 @@ module Dry
|
|
8
8
|
class Sum
|
9
9
|
include Composition
|
10
10
|
|
11
|
-
def self.operator
|
12
|
-
:|
|
13
|
-
end
|
11
|
+
def self.operator = :|
|
14
12
|
|
15
13
|
# @return [Boolean]
|
16
14
|
#
|
17
15
|
# @api public
|
18
|
-
def optional?
|
19
|
-
primitive?(nil)
|
20
|
-
end
|
16
|
+
def optional? = primitive?(nil)
|
21
17
|
|
22
18
|
# @param [Object] input
|
23
19
|
#
|
@@ -84,9 +80,9 @@ module Dry
|
|
84
80
|
# @see Builder#constrained
|
85
81
|
#
|
86
82
|
# @api public
|
87
|
-
def constrained(
|
83
|
+
def constrained(...)
|
88
84
|
if optional?
|
89
|
-
right.constrained(
|
85
|
+
right.constrained(...).optional
|
90
86
|
else
|
91
87
|
super
|
92
88
|
end
|
data/lib/dry/types/type.rb
CHANGED
data/lib/dry/types/version.rb
CHANGED
data/lib/dry/types.rb
CHANGED
@@ -165,8 +165,8 @@ module Dry
|
|
165
165
|
|
166
166
|
if container.keys.any? { |key| key.split(".")[0] == underscored }
|
167
167
|
raise ::NameError,
|
168
|
-
"dry-types does not define constants for default types. "\
|
169
|
-
|
168
|
+
"dry-types does not define constants for default types. " \
|
169
|
+
"You can access the predefined types with [], e.g. Dry::Types['integer'] " \
|
170
170
|
"or generate a module with types using Dry.Types()"
|
171
171
|
else
|
172
172
|
super
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: dry-types
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.
|
4
|
+
version: 1.8.2
|
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:
|
11
|
+
date: 2025-01-31 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bigdecimal
|
@@ -94,62 +94,6 @@ dependencies:
|
|
94
94
|
- - "~>"
|
95
95
|
- !ruby/object:Gem::Version
|
96
96
|
version: '2.6'
|
97
|
-
- !ruby/object:Gem::Dependency
|
98
|
-
name: bundler
|
99
|
-
requirement: !ruby/object:Gem::Requirement
|
100
|
-
requirements:
|
101
|
-
- - ">="
|
102
|
-
- !ruby/object:Gem::Version
|
103
|
-
version: '0'
|
104
|
-
type: :development
|
105
|
-
prerelease: false
|
106
|
-
version_requirements: !ruby/object:Gem::Requirement
|
107
|
-
requirements:
|
108
|
-
- - ">="
|
109
|
-
- !ruby/object:Gem::Version
|
110
|
-
version: '0'
|
111
|
-
- !ruby/object:Gem::Dependency
|
112
|
-
name: rake
|
113
|
-
requirement: !ruby/object:Gem::Requirement
|
114
|
-
requirements:
|
115
|
-
- - ">="
|
116
|
-
- !ruby/object:Gem::Version
|
117
|
-
version: '0'
|
118
|
-
type: :development
|
119
|
-
prerelease: false
|
120
|
-
version_requirements: !ruby/object:Gem::Requirement
|
121
|
-
requirements:
|
122
|
-
- - ">="
|
123
|
-
- !ruby/object:Gem::Version
|
124
|
-
version: '0'
|
125
|
-
- !ruby/object:Gem::Dependency
|
126
|
-
name: rspec
|
127
|
-
requirement: !ruby/object:Gem::Requirement
|
128
|
-
requirements:
|
129
|
-
- - ">="
|
130
|
-
- !ruby/object:Gem::Version
|
131
|
-
version: '0'
|
132
|
-
type: :development
|
133
|
-
prerelease: false
|
134
|
-
version_requirements: !ruby/object:Gem::Requirement
|
135
|
-
requirements:
|
136
|
-
- - ">="
|
137
|
-
- !ruby/object:Gem::Version
|
138
|
-
version: '0'
|
139
|
-
- !ruby/object:Gem::Dependency
|
140
|
-
name: yard
|
141
|
-
requirement: !ruby/object:Gem::Requirement
|
142
|
-
requirements:
|
143
|
-
- - ">="
|
144
|
-
- !ruby/object:Gem::Version
|
145
|
-
version: '0'
|
146
|
-
type: :development
|
147
|
-
prerelease: false
|
148
|
-
version_requirements: !ruby/object:Gem::Requirement
|
149
|
-
requirements:
|
150
|
-
- - ">="
|
151
|
-
- !ruby/object:Gem::Version
|
152
|
-
version: '0'
|
153
97
|
description: Type system for Ruby supporting coercions, constraints and complex types
|
154
98
|
like structs, value objects, enums etc
|
155
99
|
email:
|
@@ -226,7 +170,8 @@ metadata:
|
|
226
170
|
changelog_uri: https://github.com/dry-rb/dry-types/blob/main/CHANGELOG.md
|
227
171
|
source_code_uri: https://github.com/dry-rb/dry-types
|
228
172
|
bug_tracker_uri: https://github.com/dry-rb/dry-types/issues
|
229
|
-
|
173
|
+
rubygems_mfa_required: 'true'
|
174
|
+
post_install_message:
|
230
175
|
rdoc_options: []
|
231
176
|
require_paths:
|
232
177
|
- lib
|
@@ -234,15 +179,15 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
234
179
|
requirements:
|
235
180
|
- - ">="
|
236
181
|
- !ruby/object:Gem::Version
|
237
|
-
version: '3.
|
182
|
+
version: '3.1'
|
238
183
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
239
184
|
requirements:
|
240
185
|
- - ">="
|
241
186
|
- !ruby/object:Gem::Version
|
242
187
|
version: '0'
|
243
188
|
requirements: []
|
244
|
-
rubygems_version: 3.3.
|
245
|
-
signing_key:
|
189
|
+
rubygems_version: 3.3.27
|
190
|
+
signing_key:
|
246
191
|
specification_version: 4
|
247
192
|
summary: Type system for Ruby supporting coercions, constraints and complex types
|
248
193
|
like structs, value objects, enums etc
|