domainic-type 0.1.0.alpha.2.1.0 → 0.1.0.alpha.3.0.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (97) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +14 -0
  3. data/LICENSE +1 -1
  4. data/README.md +28 -4
  5. data/lib/domainic/type/accessors.rb +41 -0
  6. data/lib/domainic/type/behavior/enumerable_behavior.rb +262 -0
  7. data/lib/domainic/type/behavior/numeric_behavior.rb +340 -0
  8. data/lib/domainic/type/behavior/sizable_behavior.rb +246 -0
  9. data/lib/domainic/type/behavior/string_behavior.rb +379 -0
  10. data/lib/domainic/type/behavior.rb +239 -0
  11. data/lib/domainic/type/config/registry.yml +101 -0
  12. data/lib/domainic/type/constraint/behavior.rb +342 -0
  13. data/lib/domainic/type/constraint/constraints/all_constraint.rb +81 -0
  14. data/lib/domainic/type/constraint/constraints/and_constraint.rb +105 -0
  15. data/lib/domainic/type/constraint/constraints/any_constraint.rb +83 -0
  16. data/lib/domainic/type/constraint/constraints/case_constraint.rb +104 -0
  17. data/lib/domainic/type/constraint/constraints/character_set_constraint.rb +111 -0
  18. data/lib/domainic/type/constraint/constraints/divisibility_constraint.rb +126 -0
  19. data/lib/domainic/type/constraint/constraints/emptiness_constraint.rb +69 -0
  20. data/lib/domainic/type/constraint/constraints/equality_constraint.rb +75 -0
  21. data/lib/domainic/type/constraint/constraints/finiteness_constraint.rb +123 -0
  22. data/lib/domainic/type/constraint/constraints/inclusion_constraint.rb +74 -0
  23. data/lib/domainic/type/constraint/constraints/match_pattern_constraint.rb +87 -0
  24. data/lib/domainic/type/constraint/constraints/method_presence_constraint.rb +72 -0
  25. data/lib/domainic/type/constraint/constraints/none_constraint.rb +83 -0
  26. data/lib/domainic/type/constraint/constraints/nor_constraint.rb +105 -0
  27. data/lib/domainic/type/constraint/constraints/not_constraint.rb +76 -0
  28. data/lib/domainic/type/constraint/constraints/or_constraint.rb +106 -0
  29. data/lib/domainic/type/constraint/constraints/ordering_constraint.rb +75 -0
  30. data/lib/domainic/type/constraint/constraints/parity_constraint.rb +102 -0
  31. data/lib/domainic/type/constraint/constraints/polarity_constraint.rb +147 -0
  32. data/lib/domainic/type/constraint/constraints/range_constraint.rb +135 -0
  33. data/lib/domainic/type/constraint/constraints/type_constraint.rb +110 -0
  34. data/lib/domainic/type/constraint/constraints/uniqueness_constraint.rb +69 -0
  35. data/lib/domainic/type/constraint/resolver.rb +172 -0
  36. data/lib/domainic/type/constraint/set.rb +266 -0
  37. data/lib/domainic/type/definitions.rb +364 -0
  38. data/lib/domainic/type/types/core/array_type.rb +48 -0
  39. data/lib/domainic/type/types/core/float_type.rb +39 -0
  40. data/lib/domainic/type/types/core/hash_type.rb +143 -0
  41. data/lib/domainic/type/types/core/integer_type.rb +38 -0
  42. data/lib/domainic/type/types/core/string_type.rb +51 -0
  43. data/lib/domainic/type/types/core/symbol_type.rb +51 -0
  44. data/lib/domainic/type/types/specification/anything_type.rb +22 -0
  45. data/lib/domainic/type/types/specification/duck_type.rb +55 -0
  46. data/lib/domainic/type/types/specification/enum_type.rb +26 -0
  47. data/lib/domainic/type/types/specification/union_type.rb +26 -0
  48. data/lib/domainic/type/types/specification/void_type.rb +12 -0
  49. data/lib/domainic/type.rb +7 -0
  50. data/lib/domainic-type.rb +3 -0
  51. data/sig/domainic/type/accessors.rbs +22 -0
  52. data/sig/domainic/type/behavior/enumerable_behavior.rbs +238 -0
  53. data/sig/domainic/type/behavior/numeric_behavior.rbs +299 -0
  54. data/sig/domainic/type/behavior/sizable_behavior.rbs +218 -0
  55. data/sig/domainic/type/behavior/string_behavior.rbs +315 -0
  56. data/sig/domainic/type/behavior.rbs +153 -0
  57. data/sig/domainic/type/constraint/behavior.rbs +258 -0
  58. data/sig/domainic/type/constraint/constraints/all_constraint.rbs +55 -0
  59. data/sig/domainic/type/constraint/constraints/and_constraint.rbs +72 -0
  60. data/sig/domainic/type/constraint/constraints/any_constraint.rbs +57 -0
  61. data/sig/domainic/type/constraint/constraints/case_constraint.rbs +73 -0
  62. data/sig/domainic/type/constraint/constraints/character_set_constraint.rbs +82 -0
  63. data/sig/domainic/type/constraint/constraints/divisibility_constraint.rbs +91 -0
  64. data/sig/domainic/type/constraint/constraints/emptiness_constraint.rbs +54 -0
  65. data/sig/domainic/type/constraint/constraints/equality_constraint.rbs +60 -0
  66. data/sig/domainic/type/constraint/constraints/finiteness_constraint.rbs +82 -0
  67. data/sig/domainic/type/constraint/constraints/inclusion_constraint.rbs +59 -0
  68. data/sig/domainic/type/constraint/constraints/match_pattern_constraint.rbs +66 -0
  69. data/sig/domainic/type/constraint/constraints/method_presence_constraint.rbs +51 -0
  70. data/sig/domainic/type/constraint/constraints/none_constraint.rbs +57 -0
  71. data/sig/domainic/type/constraint/constraints/nor_constraint.rbs +72 -0
  72. data/sig/domainic/type/constraint/constraints/not_constraint.rbs +56 -0
  73. data/sig/domainic/type/constraint/constraints/or_constraint.rbs +74 -0
  74. data/sig/domainic/type/constraint/constraints/ordering_constraint.rbs +60 -0
  75. data/sig/domainic/type/constraint/constraints/parity_constraint.rbs +71 -0
  76. data/sig/domainic/type/constraint/constraints/polarity_constraint.rbs +101 -0
  77. data/sig/domainic/type/constraint/constraints/range_constraint.rbs +88 -0
  78. data/sig/domainic/type/constraint/constraints/type_constraint.rbs +86 -0
  79. data/sig/domainic/type/constraint/constraints/uniqueness_constraint.rbs +54 -0
  80. data/sig/domainic/type/constraint/resolver.rbs +117 -0
  81. data/sig/domainic/type/constraint/set.rbs +159 -0
  82. data/sig/domainic/type/definitions.rbs +304 -0
  83. data/sig/domainic/type/types/core/array_type.rbs +42 -0
  84. data/sig/domainic/type/types/core/float_type.rbs +33 -0
  85. data/sig/domainic/type/types/core/hash_type.rbs +107 -0
  86. data/sig/domainic/type/types/core/integer_type.rbs +32 -0
  87. data/sig/domainic/type/types/core/string_type.rbs +45 -0
  88. data/sig/domainic/type/types/core/symbol_type.rbs +45 -0
  89. data/sig/domainic/type/types/specification/anything_type.rbs +14 -0
  90. data/sig/domainic/type/types/specification/duck_type.rbs +41 -0
  91. data/sig/domainic/type/types/specification/enum_type.rbs +14 -0
  92. data/sig/domainic/type/types/specification/union_type.rbs +14 -0
  93. data/sig/domainic/type/types/specification/void_type.rbs +8 -0
  94. data/sig/domainic/type.rbs +5 -0
  95. data/sig/domainic-type.rbs +1 -0
  96. data/sig/manifest.yaml +2 -0
  97. metadata +108 -71
@@ -0,0 +1,45 @@
1
+ module Domainic
2
+ module Type
3
+ # A type for validating String objects with comprehensive string-specific constraints
4
+ #
5
+ # This type provides a complete set of string validation capabilities including case
6
+ # formatting, character set validation, pattern matching, and size constraints. It
7
+ # combines core string type checking with rich string-specific behaviors.
8
+ #
9
+ # Key features:
10
+ # - Basic string type validation
11
+ # - Case checking (upper, lower, mixed, title)
12
+ # - Character set validation (ASCII, alphanumeric, etc.)
13
+ # - Pattern matching with regular expressions
14
+ # - Size/length constraints
15
+ # - String content validation
16
+ #
17
+ # @example Basic usage
18
+ # type = StringType.new
19
+ # type.validate("hello") # => true
20
+ # type.validate(123) # => false
21
+ #
22
+ # @example Complex string validation
23
+ # type = StringType.new
24
+ # .being_ascii
25
+ # .being_alphanumeric
26
+ # .having_size_between(3, 20)
27
+ # .not_matching(/[^a-z0-9]/)
28
+ #
29
+ # @example Case validation
30
+ # type = StringType.new
31
+ # .being_titlecase
32
+ # .matching(/^[A-Z]/)
33
+ # .having_minimum_size(2)
34
+ #
35
+ # @author {https://aaronmallen.me Aaron Allen}
36
+ # @since 0.1.0
37
+ class StringType
38
+ extend Behavior::ClassMethods
39
+
40
+ include Behavior
41
+
42
+ include Behavior::StringBehavior
43
+ end
44
+ end
45
+ end
@@ -0,0 +1,45 @@
1
+ module Domainic
2
+ module Type
3
+ # A type for validating Symbol objects with string-like constraints
4
+ #
5
+ # This type provides symbol validation capabilities by leveraging string validation
6
+ # behaviors. It enables validation of symbols using string-based constraints while
7
+ # maintaining proper type checking for Symbol objects.
8
+ #
9
+ # Key features:
10
+ # - Basic symbol type validation
11
+ # - Case checking for symbol names
12
+ # - Character set validation for symbol names
13
+ # - Pattern matching against symbol names
14
+ # - Length constraints for symbol names
15
+ # - String content validation for symbol names
16
+ #
17
+ # @example Basic usage
18
+ # type = SymbolType.new
19
+ # type.validate(:hello) # => true
20
+ # type.validate("hello") # => false
21
+ #
22
+ # @example Complex symbol validation
23
+ # type = SymbolType.new
24
+ # .being_ascii
25
+ # .being_lowercase
26
+ # .having_size_between(2, 30)
27
+ # .matching(/^[a-z]/)
28
+ #
29
+ # @example Symbol name validation
30
+ # type = SymbolType.new
31
+ # .being_alphanumeric
32
+ # .not_matching(/\W/)
33
+ # .having_minimum_size(1)
34
+ #
35
+ # @author {https://aaronmallen.me Aaron Allen}
36
+ # @since 0.1.0
37
+ class SymbolType
38
+ extend Behavior::ClassMethods
39
+
40
+ include Behavior
41
+
42
+ include Behavior::StringBehavior
43
+ end
44
+ end
45
+ end
@@ -0,0 +1,14 @@
1
+ module Domainic
2
+ module Type
3
+ # @since 0.1.0
4
+ class AnythingType
5
+ include Behavior
6
+
7
+ def but: (*untyped types) -> self
8
+
9
+ alias except but
10
+
11
+ alias excluding but
12
+ end
13
+ end
14
+ end
@@ -0,0 +1,41 @@
1
+ module Domainic
2
+ module Type
3
+ # A type that validates objects based on their method interface
4
+ #
5
+ # This type implements duck typing validation by checking whether objects respond
6
+ # to specific methods. It supports both positive validation (must respond to methods)
7
+ # and negative validation (must not respond to methods).
8
+ #
9
+ # @example Validating a simple interface
10
+ # type = DuckType.responding_to(:to_s).not_responding_to(:to_h)
11
+ # type.validate("string") # => true
12
+ # type.validate(Object.new) # => true
13
+ # type.validate({}) # => false (responds to :to_h)
14
+ #
15
+ # @author {https://aaronmallen.me Aaron Allen}
16
+ # @since 0.1.0
17
+ class DuckType
18
+ include Behavior
19
+
20
+ # Add method exclusion constraints to the type
21
+ #
22
+ # @example
23
+ # type = DuckType.new.not_responding_to(:foo, :bar)
24
+ #
25
+ # @param methods [Array<String, Symbol>] the methods that must not be present
26
+ #
27
+ # @return [self] the type for method chaining
28
+ def not_responding_to: (*String | Symbol methods) -> self
29
+
30
+ # Add method presence constraints to the type
31
+ #
32
+ # @example
33
+ # type = DuckType.new.responding_to(:foo, :bar)
34
+ #
35
+ # @param methods [Array<String, Symbol>] the methods that must be present
36
+ #
37
+ # @return [self] the type for method chaining
38
+ def responding_to: (*String | Symbol methods) -> self
39
+ end
40
+ end
41
+ end
@@ -0,0 +1,14 @@
1
+ module Domainic
2
+ module Type
3
+ # @since 0.1.0
4
+ class EnumType
5
+ include Behavior
6
+
7
+ def initialize: (*untyped literals, **untyped options) -> void
8
+
9
+ def literal: (*untyped literals) -> void
10
+
11
+ alias value literal
12
+ end
13
+ end
14
+ end
@@ -0,0 +1,14 @@
1
+ module Domainic
2
+ module Type
3
+ # @since 0.1.0
4
+ class UnionType
5
+ include Behavior
6
+
7
+ def initialize: (*Class | Module | Behavior[untyped, untyped, untyped] types, **untyped options) -> void
8
+
9
+ def type: (*Class | Module | Behavior[untyped, untyped, untyped] types) -> self
10
+
11
+ alias or type
12
+ end
13
+ end
14
+ end
@@ -0,0 +1,8 @@
1
+ module Domainic
2
+ module Type
3
+ # @since 0.1.0
4
+ class VoidType
5
+ include Behavior
6
+ end
7
+ end
8
+ end
@@ -0,0 +1,5 @@
1
+ module Domainic
2
+ # @since 0.1.0
3
+ module Type
4
+ end
5
+ end
@@ -0,0 +1 @@
1
+
data/sig/manifest.yaml ADDED
@@ -0,0 +1,2 @@
1
+ dependencies:
2
+ - name: yaml
metadata CHANGED
@@ -1,94 +1,130 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: domainic-type
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0.alpha.2.1.0
4
+ version: 0.1.0.alpha.3.0.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Aaron Allen
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2024-08-29 00:00:00.000000000 Z
12
- dependencies:
13
- - !ruby/object:Gem::Dependency
14
- name: base64
15
- requirement: !ruby/object:Gem::Requirement
16
- requirements:
17
- - - ">="
18
- - !ruby/object:Gem::Version
19
- version: '0.2'
20
- - - "<"
21
- - !ruby/object:Gem::Version
22
- version: '1'
23
- type: :runtime
24
- prerelease: false
25
- version_requirements: !ruby/object:Gem::Requirement
26
- requirements:
27
- - - ">="
28
- - !ruby/object:Gem::Version
29
- version: '0.2'
30
- - - "<"
31
- - !ruby/object:Gem::Version
32
- version: '1'
33
- - !ruby/object:Gem::Dependency
34
- name: i18n
35
- requirement: !ruby/object:Gem::Requirement
36
- requirements:
37
- - - ">="
38
- - !ruby/object:Gem::Version
39
- version: '1.14'
40
- - - "<"
41
- - !ruby/object:Gem::Version
42
- version: '2'
43
- type: :runtime
44
- prerelease: false
45
- version_requirements: !ruby/object:Gem::Requirement
46
- requirements:
47
- - - ">="
48
- - !ruby/object:Gem::Version
49
- version: '1.14'
50
- - - "<"
51
- - !ruby/object:Gem::Version
52
- version: '2'
53
- - !ruby/object:Gem::Dependency
54
- name: phonelib
55
- requirement: !ruby/object:Gem::Requirement
56
- requirements:
57
- - - ">="
58
- - !ruby/object:Gem::Version
59
- version: '0.9'
60
- - - "<"
61
- - !ruby/object:Gem::Version
62
- version: '1'
63
- type: :runtime
64
- prerelease: false
65
- version_requirements: !ruby/object:Gem::Requirement
66
- requirements:
67
- - - ">="
68
- - !ruby/object:Gem::Version
69
- version: '0.9'
70
- - - "<"
71
- - !ruby/object:Gem::Version
72
- version: '1'
73
- description:
11
+ date: 2024-12-24 00:00:00.000000000 Z
12
+ dependencies: []
13
+ description: Stop wrestling with complex type validations and unclear error messages.
14
+ Domainic::Type brings type validation to Ruby that is both powerful and delightful
15
+ to use. Build composable type constraints with crystal-clear error messages that
16
+ actually tell you what went wrong. From simple type checks to complex collection
17
+ validations, make your types work for you, not against you!
74
18
  email:
75
19
  - hello@aaronmallen.me
76
20
  executables: []
77
21
  extensions: []
78
22
  extra_rdoc_files: []
79
23
  files:
24
+ - CHANGELOG.md
80
25
  - LICENSE
81
26
  - README.md
82
- homepage: https://github.com/domainic/domainic/tree/domainic-type-v0.1.0-alpha.2.1.0/domainic-type
27
+ - lib/domainic-type.rb
28
+ - lib/domainic/type.rb
29
+ - lib/domainic/type/accessors.rb
30
+ - lib/domainic/type/behavior.rb
31
+ - lib/domainic/type/behavior/enumerable_behavior.rb
32
+ - lib/domainic/type/behavior/numeric_behavior.rb
33
+ - lib/domainic/type/behavior/sizable_behavior.rb
34
+ - lib/domainic/type/behavior/string_behavior.rb
35
+ - lib/domainic/type/config/registry.yml
36
+ - lib/domainic/type/constraint/behavior.rb
37
+ - lib/domainic/type/constraint/constraints/all_constraint.rb
38
+ - lib/domainic/type/constraint/constraints/and_constraint.rb
39
+ - lib/domainic/type/constraint/constraints/any_constraint.rb
40
+ - lib/domainic/type/constraint/constraints/case_constraint.rb
41
+ - lib/domainic/type/constraint/constraints/character_set_constraint.rb
42
+ - lib/domainic/type/constraint/constraints/divisibility_constraint.rb
43
+ - lib/domainic/type/constraint/constraints/emptiness_constraint.rb
44
+ - lib/domainic/type/constraint/constraints/equality_constraint.rb
45
+ - lib/domainic/type/constraint/constraints/finiteness_constraint.rb
46
+ - lib/domainic/type/constraint/constraints/inclusion_constraint.rb
47
+ - lib/domainic/type/constraint/constraints/match_pattern_constraint.rb
48
+ - lib/domainic/type/constraint/constraints/method_presence_constraint.rb
49
+ - lib/domainic/type/constraint/constraints/none_constraint.rb
50
+ - lib/domainic/type/constraint/constraints/nor_constraint.rb
51
+ - lib/domainic/type/constraint/constraints/not_constraint.rb
52
+ - lib/domainic/type/constraint/constraints/or_constraint.rb
53
+ - lib/domainic/type/constraint/constraints/ordering_constraint.rb
54
+ - lib/domainic/type/constraint/constraints/parity_constraint.rb
55
+ - lib/domainic/type/constraint/constraints/polarity_constraint.rb
56
+ - lib/domainic/type/constraint/constraints/range_constraint.rb
57
+ - lib/domainic/type/constraint/constraints/type_constraint.rb
58
+ - lib/domainic/type/constraint/constraints/uniqueness_constraint.rb
59
+ - lib/domainic/type/constraint/resolver.rb
60
+ - lib/domainic/type/constraint/set.rb
61
+ - lib/domainic/type/definitions.rb
62
+ - lib/domainic/type/types/core/array_type.rb
63
+ - lib/domainic/type/types/core/float_type.rb
64
+ - lib/domainic/type/types/core/hash_type.rb
65
+ - lib/domainic/type/types/core/integer_type.rb
66
+ - lib/domainic/type/types/core/string_type.rb
67
+ - lib/domainic/type/types/core/symbol_type.rb
68
+ - lib/domainic/type/types/specification/anything_type.rb
69
+ - lib/domainic/type/types/specification/duck_type.rb
70
+ - lib/domainic/type/types/specification/enum_type.rb
71
+ - lib/domainic/type/types/specification/union_type.rb
72
+ - lib/domainic/type/types/specification/void_type.rb
73
+ - sig/domainic-type.rbs
74
+ - sig/domainic/type.rbs
75
+ - sig/domainic/type/accessors.rbs
76
+ - sig/domainic/type/behavior.rbs
77
+ - sig/domainic/type/behavior/enumerable_behavior.rbs
78
+ - sig/domainic/type/behavior/numeric_behavior.rbs
79
+ - sig/domainic/type/behavior/sizable_behavior.rbs
80
+ - sig/domainic/type/behavior/string_behavior.rbs
81
+ - sig/domainic/type/constraint/behavior.rbs
82
+ - sig/domainic/type/constraint/constraints/all_constraint.rbs
83
+ - sig/domainic/type/constraint/constraints/and_constraint.rbs
84
+ - sig/domainic/type/constraint/constraints/any_constraint.rbs
85
+ - sig/domainic/type/constraint/constraints/case_constraint.rbs
86
+ - sig/domainic/type/constraint/constraints/character_set_constraint.rbs
87
+ - sig/domainic/type/constraint/constraints/divisibility_constraint.rbs
88
+ - sig/domainic/type/constraint/constraints/emptiness_constraint.rbs
89
+ - sig/domainic/type/constraint/constraints/equality_constraint.rbs
90
+ - sig/domainic/type/constraint/constraints/finiteness_constraint.rbs
91
+ - sig/domainic/type/constraint/constraints/inclusion_constraint.rbs
92
+ - sig/domainic/type/constraint/constraints/match_pattern_constraint.rbs
93
+ - sig/domainic/type/constraint/constraints/method_presence_constraint.rbs
94
+ - sig/domainic/type/constraint/constraints/none_constraint.rbs
95
+ - sig/domainic/type/constraint/constraints/nor_constraint.rbs
96
+ - sig/domainic/type/constraint/constraints/not_constraint.rbs
97
+ - sig/domainic/type/constraint/constraints/or_constraint.rbs
98
+ - sig/domainic/type/constraint/constraints/ordering_constraint.rbs
99
+ - sig/domainic/type/constraint/constraints/parity_constraint.rbs
100
+ - sig/domainic/type/constraint/constraints/polarity_constraint.rbs
101
+ - sig/domainic/type/constraint/constraints/range_constraint.rbs
102
+ - sig/domainic/type/constraint/constraints/type_constraint.rbs
103
+ - sig/domainic/type/constraint/constraints/uniqueness_constraint.rbs
104
+ - sig/domainic/type/constraint/resolver.rbs
105
+ - sig/domainic/type/constraint/set.rbs
106
+ - sig/domainic/type/definitions.rbs
107
+ - sig/domainic/type/types/core/array_type.rbs
108
+ - sig/domainic/type/types/core/float_type.rbs
109
+ - sig/domainic/type/types/core/hash_type.rbs
110
+ - sig/domainic/type/types/core/integer_type.rbs
111
+ - sig/domainic/type/types/core/string_type.rbs
112
+ - sig/domainic/type/types/core/symbol_type.rbs
113
+ - sig/domainic/type/types/specification/anything_type.rbs
114
+ - sig/domainic/type/types/specification/duck_type.rbs
115
+ - sig/domainic/type/types/specification/enum_type.rbs
116
+ - sig/domainic/type/types/specification/union_type.rbs
117
+ - sig/domainic/type/types/specification/void_type.rbs
118
+ - sig/manifest.yaml
119
+ homepage: https://github.com/domainic/domainic/tree/domainic-type-v0.1.0-alpha.3.0.1/domainic-type
83
120
  licenses:
84
121
  - MIT
85
122
  metadata:
86
123
  bug_tracker_uri: https://github.com/domainic/domainic/issues
87
- changelog_uri: https://github.com/domainic/domainic/releases/tag/domainic-type-v0.1.0-alpha.2.1.0
88
- homepage_uri: https://github.com/domainic/domainic/tree/domainic-type-v0.1.0-alpha.2.1.0/domainic-type
124
+ changelog_uri: https://github.com/domainic/domainic/releases/tag/domainic-type-v0.1.0-alpha.3.0.1
125
+ homepage_uri: https://github.com/domainic/domainic/tree/domainic-type-v0.1.0-alpha.3.0.1/domainic-type
89
126
  rubygems_mfa_required: 'true'
90
- source_code_uri: https://github.com/domainic/domainic/tree/domainic-type-v0.1.0-alpha.2.1.0/domainic-type
91
- wiki_uri: https://github.com/domainic/domainic/wiki
127
+ source_code_uri: https://github.com/domainic/domainic/tree/domainic-type-v0.1.0-alpha.3.0.1/domainic-type
92
128
  post_install_message:
93
129
  rdoc_options: []
94
130
  require_paths:
@@ -104,8 +140,9 @@ required_rubygems_version: !ruby/object:Gem::Requirement
104
140
  - !ruby/object:Gem::Version
105
141
  version: 1.3.1
106
142
  requirements: []
107
- rubygems_version: 3.3.3
143
+ rubygems_version: 3.3.27
108
144
  signing_key:
109
145
  specification_version: 4
110
- summary: Coming Soon
146
+ summary: A flexible type validation system for Ruby, offering composable, readable
147
+ type constraints with elegant error messages.
111
148
  test_files: []