smart_types 0.1.0.alpha5 → 0.4.0

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.
Files changed (82) hide show
  1. checksums.yaml +4 -4
  2. data/.rubocop.yml +10 -1
  3. data/CHANGELOG.md +46 -0
  4. data/Gemfile.lock +80 -52
  5. data/README.md +437 -27
  6. data/Rakefile +1 -1
  7. data/bin/console +2 -2
  8. data/lib/smart_core/types.rb +2 -0
  9. data/lib/smart_core/types/errors.rb +16 -0
  10. data/lib/smart_core/types/primitive.rb +109 -24
  11. data/lib/smart_core/types/primitive/caster.rb +5 -2
  12. data/lib/smart_core/types/primitive/checker.rb +5 -2
  13. data/lib/smart_core/types/primitive/factory.rb +105 -8
  14. data/lib/smart_core/types/primitive/factory/definition_context.rb +142 -6
  15. data/lib/smart_core/types/primitive/factory/runtime_type_builder.rb +53 -0
  16. data/lib/smart_core/types/primitive/invariant_control.rb +67 -0
  17. data/lib/smart_core/types/primitive/invariant_control/chain.rb +61 -0
  18. data/lib/smart_core/types/primitive/invariant_control/chain/result.rb +64 -0
  19. data/lib/smart_core/types/primitive/invariant_control/factory.rb +54 -0
  20. data/lib/smart_core/types/primitive/invariant_control/factory/chain_definition_context.rb +39 -0
  21. data/lib/smart_core/types/primitive/invariant_control/result.rb +104 -0
  22. data/lib/smart_core/types/primitive/invariant_control/single.rb +57 -0
  23. data/lib/smart_core/types/primitive/invariant_control/single/result.rb +63 -0
  24. data/lib/smart_core/types/primitive/mult_factory.rb +59 -10
  25. data/lib/smart_core/types/primitive/mult_factory/definition_context.rb +27 -3
  26. data/lib/smart_core/types/primitive/mult_validator.rb +42 -0
  27. data/lib/smart_core/types/primitive/mult_validator/result.rb +8 -0
  28. data/lib/smart_core/types/primitive/nilable_factory.rb +31 -9
  29. data/lib/smart_core/types/primitive/nilable_validator.rb +83 -0
  30. data/lib/smart_core/types/primitive/nilable_validator/result.rb +78 -0
  31. data/lib/smart_core/types/primitive/runtime_attributes_checker.rb +77 -0
  32. data/lib/smart_core/types/primitive/sum_factory.rb +59 -10
  33. data/lib/smart_core/types/primitive/sum_factory/definition_context.rb +26 -2
  34. data/lib/smart_core/types/primitive/sum_validator.rb +117 -0
  35. data/lib/smart_core/types/primitive/sum_validator/result.rb +100 -0
  36. data/lib/smart_core/types/primitive/undefined_caster.rb +7 -5
  37. data/lib/smart_core/types/primitive/validator.rb +93 -0
  38. data/lib/smart_core/types/primitive/validator/result.rb +78 -0
  39. data/lib/smart_core/types/protocol.rb +7 -0
  40. data/lib/smart_core/types/protocol/instance_of.rb +19 -0
  41. data/lib/smart_core/types/system.rb +21 -5
  42. data/lib/smart_core/types/value.rb +16 -0
  43. data/lib/smart_core/types/value/array.rb +3 -0
  44. data/lib/smart_core/types/value/big_decimal.rb +31 -0
  45. data/lib/smart_core/types/value/boolean.rb +3 -0
  46. data/lib/smart_core/types/value/class.rb +3 -0
  47. data/lib/smart_core/types/value/comparable.rb +13 -0
  48. data/lib/smart_core/types/value/date.rb +24 -0
  49. data/lib/smart_core/types/value/date_time.rb +24 -0
  50. data/lib/smart_core/types/value/enumerable.rb +13 -0
  51. data/lib/smart_core/types/value/enumerator.rb +13 -0
  52. data/lib/smart_core/types/value/enumerator_chain.rb +13 -0
  53. data/lib/smart_core/types/value/float.rb +9 -2
  54. data/lib/smart_core/types/value/hash.rb +11 -1
  55. data/lib/smart_core/types/value/integer.rb +13 -3
  56. data/lib/smart_core/types/value/io.rb +13 -0
  57. data/lib/smart_core/types/value/method.rb +9 -0
  58. data/lib/smart_core/types/value/module.rb +3 -0
  59. data/lib/smart_core/types/value/nil.rb +3 -3
  60. data/lib/smart_core/types/value/numeric.rb +16 -3
  61. data/lib/smart_core/types/value/proc.rb +14 -1
  62. data/lib/smart_core/types/value/range.rb +9 -0
  63. data/lib/smart_core/types/value/rational.rb +13 -0
  64. data/lib/smart_core/types/value/set.rb +21 -0
  65. data/lib/smart_core/types/value/string.rb +10 -1
  66. data/lib/smart_core/types/value/string_io.rb +15 -0
  67. data/lib/smart_core/types/value/symbol.rb +10 -1
  68. data/lib/smart_core/types/value/text.rb +21 -4
  69. data/lib/smart_core/types/value/time.rb +24 -0
  70. data/lib/smart_core/types/value/time_based.rb +32 -0
  71. data/lib/smart_core/types/value/unbound_method.rb +9 -0
  72. data/lib/smart_core/types/variadic.rb +7 -0
  73. data/lib/smart_core/types/variadic/tuple.rb +23 -0
  74. data/lib/smart_core/types/version.rb +2 -2
  75. data/smart_types.gemspec +6 -5
  76. metadata +69 -23
  77. data/.travis.yml +0 -20
  78. data/lib/smart_core/types/primitive/mult_checker.rb +0 -31
  79. data/lib/smart_core/types/primitive/nilable_checker.rb +0 -37
  80. data/lib/smart_core/types/primitive/sum_checker.rb +0 -31
  81. data/lib/smart_core/types/system/definition_dsl.rb +0 -40
  82. data/lib/smart_core/types/system/producer_dsl.rb +0 -30
@@ -0,0 +1,13 @@
1
+ # frozen_string_literal: true
2
+
3
+ # @api public
4
+ # @since 0.x.0
5
+ SmartCore::Types::Value.define_type(:Rational) do |type|
6
+ type.define_checker do |value|
7
+ # TODO: realize
8
+ end
9
+
10
+ type.define_caster do |value|
11
+ # TODO: realize
12
+ end
13
+ end
@@ -0,0 +1,21 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'set'
4
+
5
+ using SmartCore::Ext::BasicObjectAsObject
6
+
7
+ # @api public
8
+ # @since 0.3.0
9
+ SmartCore::Types::Value.define_type(:Set) do |type|
10
+ type.define_checker do |value|
11
+ value.is_a?(::Set)
12
+ end
13
+
14
+ type.define_caster do |value|
15
+ begin
16
+ ::Set.new(SmartCore::Types::Value::Array.cast(value))
17
+ rescue ::ArgumentError, ::NoMethodError
18
+ raise(SmartCore::Types::TypeCastingError, 'Non-castable to Set')
19
+ end
20
+ end
21
+ end
@@ -1,11 +1,20 @@
1
1
  # frozen_string_literal: true
2
2
 
3
+ using SmartCore::Ext::BasicObjectAsObject
4
+
3
5
  # @api public
4
6
  # @since 0.1.0
7
+ # @version 0.3.0
5
8
  SmartCore::Types::Value.define_type(:String) do |type|
6
9
  type.define_checker do |value|
7
10
  value.is_a?(::String)
8
11
  end
9
12
 
10
- type.define_caster(&:to_s)
13
+ type.define_caster do |value|
14
+ begin
15
+ ::Kernel.String(value)
16
+ rescue ::TypeError, ::ArgumentError
17
+ raise(SmartCore::Types::TypeCastingError, 'Non-castable to String')
18
+ end
19
+ end
11
20
  end
@@ -0,0 +1,15 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'stringio'
4
+
5
+ # @api public
6
+ # @since 0.x.0
7
+ SmartCore::Types::Value.define_type(:StringIO) do |type|
8
+ type.define_checker do |value|
9
+ # TODO: realize
10
+ end
11
+
12
+ type.define_caster do |value|
13
+ # TODO: realize
14
+ end
15
+ end
@@ -1,11 +1,20 @@
1
1
  # frozen_string_literal: true
2
2
 
3
+ using SmartCore::Ext::BasicObjectAsObject
4
+
3
5
  # @api public
4
6
  # @since 0.1.0
7
+ # @version 0.3.0
5
8
  SmartCore::Types::Value.define_type(:Symbol) do |type|
6
9
  type.define_checker do |value|
7
10
  value.is_a?(::Symbol)
8
11
  end
9
12
 
10
- type.define_caster(&:to_sym)
13
+ type.define_caster do |value|
14
+ begin
15
+ value.to_sym
16
+ rescue ::NoMethodError, ::ArgumentError
17
+ raise(SmartCore::Types::TypeCastingError, 'Non-castable to Symbol')
18
+ end
19
+ end
11
20
  end
@@ -2,7 +2,24 @@
2
2
 
3
3
  # @api public
4
4
  # @since 0.1.0
5
- SmartCore::Types::Value::Text = SmartCore::Types::System.type_sum(
6
- SmartCore::Types::Value::String,
7
- SmartCore::Types::Value::Symbol
8
- ) { |type| type.define_caster(&:to_s) }
5
+ # @version 0.3.0
6
+ SmartCore::Types::Value.define_type(:Text) do |type|
7
+ type.define_checker do |value|
8
+ SmartCore::Types::Value::String.valid?(value) || SmartCore::Types::Value::Symbol.valid?(value)
9
+ end
10
+
11
+ type.define_caster do |value|
12
+ next value if SmartCore::Types::Value::String.valid?(value)
13
+ next value if SmartCore::Types::Value::Symbol.valid?(value)
14
+
15
+ begin
16
+ SmartCore::Types::Value::String.cast(value)
17
+ rescue SmartCore::Types::TypeCastingError
18
+ begin
19
+ SmartCore::Types::Value::Symbol.cast(value)
20
+ rescue SmartCore::Types::TypeCastingError
21
+ raise(SmartCore::Types::TypeCastingError, 'Non-castable to text')
22
+ end
23
+ end
24
+ end
25
+ end
@@ -0,0 +1,24 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'time'
4
+
5
+ using SmartCore::Ext::BasicObjectAsObject
6
+
7
+ # @api public
8
+ # @since 0.1.0
9
+ # @version 0.3.0
10
+ SmartCore::Types::Value.define_type(:Time) do |type|
11
+ type.define_checker do |value|
12
+ value.is_a?(::Time)
13
+ end
14
+
15
+ type.define_caster do |value|
16
+ next value if value.is_a?(::Time)
17
+
18
+ begin
19
+ SmartCore::Types::Value::Integer.valid?(value) ? ::Time.at(value) : ::Time.parse(value)
20
+ rescue ::TypeError, ::ArgumentError
21
+ raise(SmartCore::Types::TypeCastingError, 'Non-castable to Time')
22
+ end
23
+ end
24
+ end
@@ -0,0 +1,32 @@
1
+ # frozen_string_literal: true
2
+
3
+ # @api public
4
+ # @since 0.1.0
5
+ # @version 0.3.0
6
+ SmartCore::Types::Value.define_type(:TimeBased) do |type|
7
+ type.define_checker do |value|
8
+ SmartCore::Types::Value::Time.valid?(value) ||
9
+ SmartCore::Types::Value::DateTime.valid?(value) ||
10
+ SmartCore::Types::Value::Date.valid?(value)
11
+ end
12
+
13
+ type.define_caster do |value|
14
+ next value if SmartCore::Types::Value::Time.valid?(value)
15
+ next value if SmartCore::Types::Value::DateTime.valid?(value)
16
+ next value if SmartCore::Types::Value::Date.valid?(value)
17
+
18
+ begin
19
+ SmartCore::Types::Value::Time.cast(value)
20
+ rescue SmartCore::Types::TypeCastingError
21
+ begin
22
+ SmartCore::Types::Value::DateTime.cast(value)
23
+ rescue SmartCore::Types::TypeCastingError
24
+ begin
25
+ SmartCore::Types::Value::Date.cast(value)
26
+ rescue SmartCore::Types::TypeCastingError
27
+ raise(SmartCore::Types::TypeCastingError, 'Non-castable to time-based type')
28
+ end
29
+ end
30
+ end
31
+ end
32
+ end
@@ -0,0 +1,9 @@
1
+ # frozen_string_literal: true
2
+
3
+ # @api public
4
+ # @since 0.x.0
5
+ SmartCore::Types::Value.define_type(:UnboundMethod) do |type|
6
+ type.define_checker do |value|
7
+ # TODO: realize
8
+ end
9
+ end
@@ -0,0 +1,7 @@
1
+ # frozen_string_literal: true
2
+
3
+ # @api public
4
+ # @since 0.3.0
5
+ class SmartCore::Types::Variadic < SmartCore::Types::Primitive
6
+ require_relative 'variadic/tuple'
7
+ end
@@ -0,0 +1,23 @@
1
+ # frozen_string_literal: true
2
+
3
+ using SmartCore::Ext::BasicObjectAsObject
4
+
5
+ # @api public
6
+ # @since 0.3.0
7
+ SmartCore::Types::Variadic.define_type(:Tuple) do |type|
8
+ type.runtime_attributes_checker do |runtime_attrs|
9
+ runtime_attrs.any? && runtime_attrs.all? do |runtime_attr|
10
+ runtime_attr.is_a?(::Class)
11
+ end
12
+ end
13
+
14
+ type.define_checker do |value, tuple_signature|
15
+ next false unless SmartCore::Types::Value::Array.valid?(value)
16
+ next false if value.size != tuple_signature.size
17
+
18
+ value.each_with_index.all? do |tuple_val, tuple_val_index|
19
+ expected_tuple_type = tuple_signature.at(tuple_val_index)
20
+ tuple_val.is_a?(expected_tuple_type)
21
+ end
22
+ end
23
+ end
@@ -6,7 +6,7 @@ module SmartCore
6
6
  #
7
7
  # @api public
8
8
  # @since 0.1.0
9
- # @version 0.1.0
10
- VERSION = '0.1.0.alpha5'
9
+ # @version 0.4.0
10
+ VERSION = '0.4.0'
11
11
  end
12
12
  end
@@ -3,7 +3,7 @@
3
3
  require_relative 'lib/smart_core/types/version'
4
4
 
5
5
  Gem::Specification.new do |spec|
6
- spec.required_ruby_version = Gem::Requirement.new('>= 2.4.9')
6
+ spec.required_ruby_version = Gem::Requirement.new('>= 2.4.10')
7
7
 
8
8
  spec.name = 'smart_types'
9
9
  spec.version = SmartCore::Types::VERSION
@@ -32,11 +32,12 @@ Gem::Specification.new do |spec|
32
32
  spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
33
33
  spec.require_paths = ['lib']
34
34
 
35
- spec.add_dependency 'smart_engine', '~> 0.5'
35
+ spec.add_dependency 'smart_engine', '~> 0.11'
36
36
 
37
37
  spec.add_development_dependency 'bundler', '~> 2.1'
38
38
  spec.add_development_dependency 'rake', '~> 13.0'
39
- spec.add_development_dependency 'rspec', '~> 3.9'
40
- spec.add_development_dependency 'armitage-rubocop', '~> 0.78'
41
- spec.add_development_dependency 'simplecov', '~> 0.17'
39
+ spec.add_development_dependency 'rspec', '~> 3.10'
40
+ spec.add_development_dependency 'armitage-rubocop', '~> 1.7'
41
+ spec.add_development_dependency 'simplecov', '~> 0.21'
42
+ spec.add_development_dependency 'pry', '~> 0.13'
42
43
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: smart_types
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0.alpha5
4
+ version: 0.4.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Rustam Ibragimov
8
- autorequire:
8
+ autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2020-01-25 00:00:00.000000000 Z
11
+ date: 2021-01-17 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: smart_engine
@@ -16,14 +16,14 @@ dependencies:
16
16
  requirements:
17
17
  - - "~>"
18
18
  - !ruby/object:Gem::Version
19
- version: '0.5'
19
+ version: '0.11'
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: '0.5'
26
+ version: '0.11'
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: bundler
29
29
  requirement: !ruby/object:Gem::Requirement
@@ -58,42 +58,56 @@ dependencies:
58
58
  requirements:
59
59
  - - "~>"
60
60
  - !ruby/object:Gem::Version
61
- version: '3.9'
61
+ version: '3.10'
62
62
  type: :development
63
63
  prerelease: false
64
64
  version_requirements: !ruby/object:Gem::Requirement
65
65
  requirements:
66
66
  - - "~>"
67
67
  - !ruby/object:Gem::Version
68
- version: '3.9'
68
+ version: '3.10'
69
69
  - !ruby/object:Gem::Dependency
70
70
  name: armitage-rubocop
71
71
  requirement: !ruby/object:Gem::Requirement
72
72
  requirements:
73
73
  - - "~>"
74
74
  - !ruby/object:Gem::Version
75
- version: '0.78'
75
+ version: '1.7'
76
76
  type: :development
77
77
  prerelease: false
78
78
  version_requirements: !ruby/object:Gem::Requirement
79
79
  requirements:
80
80
  - - "~>"
81
81
  - !ruby/object:Gem::Version
82
- version: '0.78'
82
+ version: '1.7'
83
83
  - !ruby/object:Gem::Dependency
84
84
  name: simplecov
85
85
  requirement: !ruby/object:Gem::Requirement
86
86
  requirements:
87
87
  - - "~>"
88
88
  - !ruby/object:Gem::Version
89
- version: '0.17'
89
+ version: '0.21'
90
90
  type: :development
91
91
  prerelease: false
92
92
  version_requirements: !ruby/object:Gem::Requirement
93
93
  requirements:
94
94
  - - "~>"
95
95
  - !ruby/object:Gem::Version
96
- version: '0.17'
96
+ version: '0.21'
97
+ - !ruby/object:Gem::Dependency
98
+ name: pry
99
+ requirement: !ruby/object:Gem::Requirement
100
+ requirements:
101
+ - - "~>"
102
+ - !ruby/object:Gem::Version
103
+ version: '0.13'
104
+ type: :development
105
+ prerelease: false
106
+ version_requirements: !ruby/object:Gem::Requirement
107
+ requirements:
108
+ - - "~>"
109
+ - !ruby/object:Gem::Version
110
+ version: '0.13'
97
111
  description: |
98
112
  Full-featured type system for any ruby project. Supports custom type definitioning,
99
113
  type validation, type casting and type categorizing. Provides a set of commonly used type
@@ -107,7 +121,6 @@ files:
107
121
  - ".gitignore"
108
122
  - ".rspec"
109
123
  - ".rubocop.yml"
110
- - ".travis.yml"
111
124
  - CHANGELOG.md
112
125
  - CODE_OF_CONDUCT.md
113
126
  - Gemfile
@@ -124,34 +137,67 @@ files:
124
137
  - lib/smart_core/types/primitive/checker.rb
125
138
  - lib/smart_core/types/primitive/factory.rb
126
139
  - lib/smart_core/types/primitive/factory/definition_context.rb
127
- - lib/smart_core/types/primitive/mult_checker.rb
140
+ - lib/smart_core/types/primitive/factory/runtime_type_builder.rb
141
+ - lib/smart_core/types/primitive/invariant_control.rb
142
+ - lib/smart_core/types/primitive/invariant_control/chain.rb
143
+ - lib/smart_core/types/primitive/invariant_control/chain/result.rb
144
+ - lib/smart_core/types/primitive/invariant_control/factory.rb
145
+ - lib/smart_core/types/primitive/invariant_control/factory/chain_definition_context.rb
146
+ - lib/smart_core/types/primitive/invariant_control/result.rb
147
+ - lib/smart_core/types/primitive/invariant_control/single.rb
148
+ - lib/smart_core/types/primitive/invariant_control/single/result.rb
128
149
  - lib/smart_core/types/primitive/mult_factory.rb
129
150
  - lib/smart_core/types/primitive/mult_factory/definition_context.rb
130
- - lib/smart_core/types/primitive/nilable_checker.rb
151
+ - lib/smart_core/types/primitive/mult_validator.rb
152
+ - lib/smart_core/types/primitive/mult_validator/result.rb
131
153
  - lib/smart_core/types/primitive/nilable_factory.rb
132
- - lib/smart_core/types/primitive/sum_checker.rb
154
+ - lib/smart_core/types/primitive/nilable_validator.rb
155
+ - lib/smart_core/types/primitive/nilable_validator/result.rb
156
+ - lib/smart_core/types/primitive/runtime_attributes_checker.rb
133
157
  - lib/smart_core/types/primitive/sum_factory.rb
134
158
  - lib/smart_core/types/primitive/sum_factory/definition_context.rb
159
+ - lib/smart_core/types/primitive/sum_validator.rb
160
+ - lib/smart_core/types/primitive/sum_validator/result.rb
135
161
  - lib/smart_core/types/primitive/undefined_caster.rb
162
+ - lib/smart_core/types/primitive/validator.rb
163
+ - lib/smart_core/types/primitive/validator/result.rb
164
+ - lib/smart_core/types/protocol.rb
165
+ - lib/smart_core/types/protocol/instance_of.rb
136
166
  - lib/smart_core/types/struct.rb
137
167
  - lib/smart_core/types/system.rb
138
- - lib/smart_core/types/system/definition_dsl.rb
139
- - lib/smart_core/types/system/producer_dsl.rb
140
168
  - lib/smart_core/types/value.rb
141
169
  - lib/smart_core/types/value/any.rb
142
170
  - lib/smart_core/types/value/array.rb
171
+ - lib/smart_core/types/value/big_decimal.rb
143
172
  - lib/smart_core/types/value/boolean.rb
144
173
  - lib/smart_core/types/value/class.rb
174
+ - lib/smart_core/types/value/comparable.rb
175
+ - lib/smart_core/types/value/date.rb
176
+ - lib/smart_core/types/value/date_time.rb
177
+ - lib/smart_core/types/value/enumerable.rb
178
+ - lib/smart_core/types/value/enumerator.rb
179
+ - lib/smart_core/types/value/enumerator_chain.rb
145
180
  - lib/smart_core/types/value/float.rb
146
181
  - lib/smart_core/types/value/hash.rb
147
182
  - lib/smart_core/types/value/integer.rb
183
+ - lib/smart_core/types/value/io.rb
184
+ - lib/smart_core/types/value/method.rb
148
185
  - lib/smart_core/types/value/module.rb
149
186
  - lib/smart_core/types/value/nil.rb
150
187
  - lib/smart_core/types/value/numeric.rb
151
188
  - lib/smart_core/types/value/proc.rb
189
+ - lib/smart_core/types/value/range.rb
190
+ - lib/smart_core/types/value/rational.rb
191
+ - lib/smart_core/types/value/set.rb
152
192
  - lib/smart_core/types/value/string.rb
193
+ - lib/smart_core/types/value/string_io.rb
153
194
  - lib/smart_core/types/value/symbol.rb
154
195
  - lib/smart_core/types/value/text.rb
196
+ - lib/smart_core/types/value/time.rb
197
+ - lib/smart_core/types/value/time_based.rb
198
+ - lib/smart_core/types/value/unbound_method.rb
199
+ - lib/smart_core/types/variadic.rb
200
+ - lib/smart_core/types/variadic/tuple.rb
155
201
  - lib/smart_core/types/version.rb
156
202
  - smart_types.gemspec
157
203
  homepage: https://github.com/smart-rb/smart_types
@@ -161,7 +207,7 @@ metadata:
161
207
  homepage_uri: https://github.com/smart-rb/smart_types
162
208
  source_code_uri: https://github.com/smart-rb/smart_types
163
209
  changelog_uri: https://github.com/smart-rb/smart_types/blob/master/CHANGELOG.md
164
- post_install_message:
210
+ post_install_message:
165
211
  rdoc_options: []
166
212
  require_paths:
167
213
  - lib
@@ -169,15 +215,15 @@ required_ruby_version: !ruby/object:Gem::Requirement
169
215
  requirements:
170
216
  - - ">="
171
217
  - !ruby/object:Gem::Version
172
- version: 2.4.9
218
+ version: 2.4.10
173
219
  required_rubygems_version: !ruby/object:Gem::Requirement
174
220
  requirements:
175
- - - ">"
221
+ - - ">="
176
222
  - !ruby/object:Gem::Version
177
- version: 1.3.1
223
+ version: '0'
178
224
  requirements: []
179
- rubygems_version: 3.1.2
180
- signing_key:
225
+ rubygems_version: 3.2.3
226
+ signing_key:
181
227
  specification_version: 4
182
228
  summary: Full-featured type system for any ruby project.
183
229
  test_files: []