smart_types 0.1.0.alpha5 → 0.4.0

Sign up to get free protection for your applications and to get access to all the features.
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: []