data_model 0.3.0 → 0.5.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.
- checksums.yaml +4 -4
- data/.rubocop.yml +11 -2
- data/.shadowenv.d/.gitignore +2 -0
- data/.shadowenv.d/550-ruby.lisp +37 -0
- data/.solargraph.yml +22 -0
- data/Gemfile.lock +38 -3
- data/Rakefile +0 -6
- data/Steepfile +27 -0
- data/data_model.gemspec +2 -2
- data/lib/data_model/boolean.rb +0 -2
- data/lib/data_model/builtin/array.rb +32 -25
- data/lib/data_model/builtin/big_decimal.rb +15 -14
- data/lib/data_model/builtin/boolean.rb +10 -7
- data/lib/data_model/builtin/date.rb +15 -12
- data/lib/data_model/builtin/float.rb +14 -13
- data/lib/data_model/builtin/hash.rb +100 -35
- data/lib/data_model/builtin/integer.rb +14 -13
- data/lib/data_model/builtin/numeric.rb +35 -0
- data/lib/data_model/builtin/object.rb +28 -0
- data/lib/data_model/builtin/or.rb +73 -0
- data/lib/data_model/builtin/string.rb +15 -16
- data/lib/data_model/builtin/symbol.rb +14 -13
- data/lib/data_model/builtin/time.rb +17 -14
- data/lib/data_model/builtin.rb +9 -9
- data/lib/data_model/error.rb +33 -33
- data/lib/data_model/errors.rb +107 -143
- data/lib/data_model/fixtures/array.rb +22 -9
- data/lib/data_model/fixtures/big_decimal.rb +9 -7
- data/lib/data_model/fixtures/boolean.rb +5 -5
- data/lib/data_model/fixtures/date.rb +13 -11
- data/lib/data_model/fixtures/example.rb +7 -7
- data/lib/data_model/fixtures/float.rb +9 -7
- data/lib/data_model/fixtures/hash.rb +22 -10
- data/lib/data_model/fixtures/integer.rb +9 -7
- data/lib/data_model/fixtures/numeric.rb +31 -0
- data/lib/data_model/fixtures/object.rb +27 -0
- data/lib/data_model/fixtures/or.rb +29 -0
- data/lib/data_model/fixtures/string.rb +15 -32
- data/lib/data_model/fixtures/symbol.rb +9 -7
- data/lib/data_model/fixtures/time.rb +13 -11
- data/lib/data_model/logging.rb +5 -8
- data/lib/data_model/model.rb +11 -8
- data/lib/data_model/registry.rb +129 -0
- data/lib/data_model/scanner.rb +24 -29
- data/lib/data_model/struct.rb +112 -0
- data/lib/data_model/testing/minitest.rb +33 -9
- data/lib/data_model/testing.rb +0 -2
- data/lib/data_model/type.rb +39 -23
- data/lib/data_model/version.rb +1 -3
- data/lib/data_model.rb +10 -19
- metadata +24 -21
- data/lib/data_model/type_registry.rb +0 -68
- data/sorbet/config +0 -4
- data/sorbet/rbi/annotations/rainbow.rbi +0 -269
- data/sorbet/rbi/gems/minitest@5.18.0.rbi +0 -1491
- data/sorbet/rbi/gems/zeitwerk.rbi +0 -196
- data/sorbet/rbi/gems/zeitwerk@2.6.7.rbi +0 -966
- data/sorbet/rbi/todo.rbi +0 -5
- data/sorbet/tapioca/config.yml +0 -13
- data/sorbet/tapioca/require.rb +0 -4
metadata
CHANGED
@@ -1,17 +1,17 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: data_model
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.5.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Matt Briggs
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2023-05-
|
11
|
+
date: 2023-05-30 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
|
-
name:
|
14
|
+
name: zeitwerk
|
15
15
|
requirement: !ruby/object:Gem::Requirement
|
16
16
|
requirements:
|
17
17
|
- - ">="
|
@@ -25,13 +25,13 @@ dependencies:
|
|
25
25
|
- !ruby/object:Gem::Version
|
26
26
|
version: '0'
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
|
-
name:
|
28
|
+
name: guard
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
30
30
|
requirements:
|
31
31
|
- - ">="
|
32
32
|
- !ruby/object:Gem::Version
|
33
33
|
version: '0'
|
34
|
-
type: :
|
34
|
+
type: :development
|
35
35
|
prerelease: false
|
36
36
|
version_requirements: !ruby/object:Gem::Requirement
|
37
37
|
requirements:
|
@@ -39,7 +39,7 @@ dependencies:
|
|
39
39
|
- !ruby/object:Gem::Version
|
40
40
|
version: '0'
|
41
41
|
- !ruby/object:Gem::Dependency
|
42
|
-
name: guard
|
42
|
+
name: guard-rake
|
43
43
|
requirement: !ruby/object:Gem::Requirement
|
44
44
|
requirements:
|
45
45
|
- - ">="
|
@@ -53,7 +53,7 @@ dependencies:
|
|
53
53
|
- !ruby/object:Gem::Version
|
54
54
|
version: '0'
|
55
55
|
- !ruby/object:Gem::Dependency
|
56
|
-
name:
|
56
|
+
name: minitest
|
57
57
|
requirement: !ruby/object:Gem::Requirement
|
58
58
|
requirements:
|
59
59
|
- - ">="
|
@@ -67,7 +67,7 @@ dependencies:
|
|
67
67
|
- !ruby/object:Gem::Version
|
68
68
|
version: '0'
|
69
69
|
- !ruby/object:Gem::Dependency
|
70
|
-
name:
|
70
|
+
name: rake
|
71
71
|
requirement: !ruby/object:Gem::Requirement
|
72
72
|
requirements:
|
73
73
|
- - ">="
|
@@ -81,7 +81,7 @@ dependencies:
|
|
81
81
|
- !ruby/object:Gem::Version
|
82
82
|
version: '0'
|
83
83
|
- !ruby/object:Gem::Dependency
|
84
|
-
name:
|
84
|
+
name: rubocop
|
85
85
|
requirement: !ruby/object:Gem::Requirement
|
86
86
|
requirements:
|
87
87
|
- - ">="
|
@@ -95,7 +95,7 @@ dependencies:
|
|
95
95
|
- !ruby/object:Gem::Version
|
96
96
|
version: '0'
|
97
97
|
- !ruby/object:Gem::Dependency
|
98
|
-
name:
|
98
|
+
name: rufo
|
99
99
|
requirement: !ruby/object:Gem::Requirement
|
100
100
|
requirements:
|
101
101
|
- - ">="
|
@@ -109,7 +109,7 @@ dependencies:
|
|
109
109
|
- !ruby/object:Gem::Version
|
110
110
|
version: '0'
|
111
111
|
- !ruby/object:Gem::Dependency
|
112
|
-
name:
|
112
|
+
name: steep
|
113
113
|
requirement: !ruby/object:Gem::Requirement
|
114
114
|
requirements:
|
115
115
|
- - ">="
|
@@ -146,10 +146,14 @@ files:
|
|
146
146
|
- ".editorconfig"
|
147
147
|
- ".rubocop.yml"
|
148
148
|
- ".ruby-version"
|
149
|
+
- ".shadowenv.d/.gitignore"
|
150
|
+
- ".shadowenv.d/550-ruby.lisp"
|
151
|
+
- ".solargraph.yml"
|
149
152
|
- Gemfile
|
150
153
|
- Gemfile.lock
|
151
154
|
- Guardfile
|
152
155
|
- Rakefile
|
156
|
+
- Steepfile
|
153
157
|
- data_model.gemspec
|
154
158
|
- lib/data_model.rb
|
155
159
|
- lib/data_model/boolean.rb
|
@@ -161,6 +165,9 @@ files:
|
|
161
165
|
- lib/data_model/builtin/float.rb
|
162
166
|
- lib/data_model/builtin/hash.rb
|
163
167
|
- lib/data_model/builtin/integer.rb
|
168
|
+
- lib/data_model/builtin/numeric.rb
|
169
|
+
- lib/data_model/builtin/object.rb
|
170
|
+
- lib/data_model/builtin/or.rb
|
164
171
|
- lib/data_model/builtin/string.rb
|
165
172
|
- lib/data_model/builtin/symbol.rb
|
166
173
|
- lib/data_model/builtin/time.rb
|
@@ -174,25 +181,21 @@ files:
|
|
174
181
|
- lib/data_model/fixtures/float.rb
|
175
182
|
- lib/data_model/fixtures/hash.rb
|
176
183
|
- lib/data_model/fixtures/integer.rb
|
184
|
+
- lib/data_model/fixtures/numeric.rb
|
185
|
+
- lib/data_model/fixtures/object.rb
|
186
|
+
- lib/data_model/fixtures/or.rb
|
177
187
|
- lib/data_model/fixtures/string.rb
|
178
188
|
- lib/data_model/fixtures/symbol.rb
|
179
189
|
- lib/data_model/fixtures/time.rb
|
180
190
|
- lib/data_model/logging.rb
|
181
191
|
- lib/data_model/model.rb
|
192
|
+
- lib/data_model/registry.rb
|
182
193
|
- lib/data_model/scanner.rb
|
194
|
+
- lib/data_model/struct.rb
|
183
195
|
- lib/data_model/testing.rb
|
184
196
|
- lib/data_model/testing/minitest.rb
|
185
197
|
- lib/data_model/type.rb
|
186
|
-
- lib/data_model/type_registry.rb
|
187
198
|
- lib/data_model/version.rb
|
188
|
-
- sorbet/config
|
189
|
-
- sorbet/rbi/annotations/rainbow.rbi
|
190
|
-
- sorbet/rbi/gems/minitest@5.18.0.rbi
|
191
|
-
- sorbet/rbi/gems/zeitwerk.rbi
|
192
|
-
- sorbet/rbi/gems/zeitwerk@2.6.7.rbi
|
193
|
-
- sorbet/rbi/todo.rbi
|
194
|
-
- sorbet/tapioca/config.yml
|
195
|
-
- sorbet/tapioca/require.rb
|
196
199
|
homepage: https://github.com/mbriggs/data_model
|
197
200
|
licenses:
|
198
201
|
- MIT
|
@@ -217,7 +220,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
217
220
|
- !ruby/object:Gem::Version
|
218
221
|
version: '0'
|
219
222
|
requirements: []
|
220
|
-
rubygems_version: 3.4.
|
223
|
+
rubygems_version: 3.4.10
|
221
224
|
signing_key:
|
222
225
|
specification_version: 4
|
223
226
|
summary: Define a model for your data
|
@@ -1,68 +0,0 @@
|
|
1
|
-
# typed: strict
|
2
|
-
|
3
|
-
module DataModel
|
4
|
-
# TypeRegistry allows for different type implementations to be used by the scanner.
|
5
|
-
# It also acts as an error message registry, mostly for pragmatic reasons.
|
6
|
-
class TypeRegistry
|
7
|
-
include Errors
|
8
|
-
extend T::Sig
|
9
|
-
|
10
|
-
# Default types that will be used if alternative type map is not given
|
11
|
-
sig { returns(TTypeMap) }
|
12
|
-
def self.default_types
|
13
|
-
Builtin.types
|
14
|
-
end
|
15
|
-
|
16
|
-
# Singleton instance that will be used globally unless instances given
|
17
|
-
sig { params(types: TTypeMap, errors: T.nilable(TErrorMessages)).returns(TypeRegistry) }
|
18
|
-
def self.instance(types: default_types, errors: nil)
|
19
|
-
@instance ||= T.let(new(types:, errors:), T.nilable(TypeRegistry))
|
20
|
-
end
|
21
|
-
|
22
|
-
# Register a type on the global instance
|
23
|
-
sig { params(name: Symbol, type: T.class_of(Type)).void }
|
24
|
-
def self.register(name, type)
|
25
|
-
instance.register(name, type)
|
26
|
-
end
|
27
|
-
|
28
|
-
# Instanciate a new type registry. Default errors will always be used, but additional
|
29
|
-
# errors can be registered.
|
30
|
-
sig { params(types: TTypeMap, errors: T.nilable(TErrorMessages)).void }
|
31
|
-
def initialize(types: self.class.default_types, errors: nil)
|
32
|
-
if errors
|
33
|
-
errors.each { |type, builder| register_error_message(type, &builder) }
|
34
|
-
end
|
35
|
-
|
36
|
-
@types = T.let({}, TTypeMap)
|
37
|
-
types.each { |(name, type)| register(name, type) }
|
38
|
-
end
|
39
|
-
|
40
|
-
# Register a type on this instance
|
41
|
-
sig { params(name: Symbol, type: T.class_of(Type)).void }
|
42
|
-
def register(name, type)
|
43
|
-
@types[name] = type
|
44
|
-
end
|
45
|
-
|
46
|
-
# Check if a type is registered
|
47
|
-
sig { params(name: Symbol).returns(T::Boolean) }
|
48
|
-
def type?(name)
|
49
|
-
@types.key?(name)
|
50
|
-
end
|
51
|
-
|
52
|
-
# Access and configure registered type
|
53
|
-
sig { params(name: Symbol, args: Type::TArguments, params: T.nilable(T::Array[Object])).returns(Type) }
|
54
|
-
def type(name, args: {}, params: nil)
|
55
|
-
if !type?(name)
|
56
|
-
raise "#{name} is not registered as a type"
|
57
|
-
end
|
58
|
-
|
59
|
-
t = @types.fetch(name).new(args, registry: self)
|
60
|
-
|
61
|
-
if params
|
62
|
-
t.configure(params)
|
63
|
-
end
|
64
|
-
|
65
|
-
return t
|
66
|
-
end
|
67
|
-
end
|
68
|
-
end
|
data/sorbet/config
DELETED
@@ -1,269 +0,0 @@
|
|
1
|
-
# typed: strict
|
2
|
-
|
3
|
-
# DO NOT EDIT MANUALLY
|
4
|
-
# This file was pulled from a central RBI files repository.
|
5
|
-
# Please run `bin/tapioca annotations` to update it.
|
6
|
-
|
7
|
-
module Rainbow
|
8
|
-
# @shim: https://github.com/sickill/rainbow/blob/master/lib/rainbow.rb#L10-L12
|
9
|
-
sig { returns(T::Boolean) }
|
10
|
-
attr_accessor :enabled
|
11
|
-
|
12
|
-
class Color
|
13
|
-
sig { returns(Symbol) }
|
14
|
-
attr_reader :ground
|
15
|
-
|
16
|
-
sig { params(ground: Symbol, values: T.any([Integer], [Integer, Integer, Integer])).returns(Color) }
|
17
|
-
def self.build(ground, values); end
|
18
|
-
|
19
|
-
sig { params(hex: String).returns([Integer, Integer, Integer]) }
|
20
|
-
def self.parse_hex_color(hex); end
|
21
|
-
|
22
|
-
class Indexed < Rainbow::Color
|
23
|
-
sig { returns(Integer) }
|
24
|
-
attr_reader :num
|
25
|
-
|
26
|
-
sig { params(ground: Symbol, num: Integer).void }
|
27
|
-
def initialize(ground, num); end
|
28
|
-
|
29
|
-
sig { returns(T::Array[Integer]) }
|
30
|
-
def codes; end
|
31
|
-
end
|
32
|
-
|
33
|
-
class Named < Rainbow::Color::Indexed
|
34
|
-
NAMES = T.let(nil, T::Hash[Symbol, Integer])
|
35
|
-
|
36
|
-
sig { params(ground: Symbol, name: Symbol).void }
|
37
|
-
def initialize(ground, name); end
|
38
|
-
|
39
|
-
sig { returns(T::Array[Symbol]) }
|
40
|
-
def self.color_names; end
|
41
|
-
|
42
|
-
sig { returns(String) }
|
43
|
-
def self.valid_names; end
|
44
|
-
end
|
45
|
-
|
46
|
-
class RGB < Rainbow::Color::Indexed
|
47
|
-
sig { returns(Integer) }
|
48
|
-
attr_reader :r, :g, :b
|
49
|
-
|
50
|
-
sig { params(ground: Symbol, values: Integer).void }
|
51
|
-
def initialize(ground, *values); end
|
52
|
-
|
53
|
-
sig { returns(T::Array[Integer]) }
|
54
|
-
def codes; end
|
55
|
-
|
56
|
-
sig { params(value: Numeric).returns(Integer) }
|
57
|
-
def self.to_ansi_domain(value); end
|
58
|
-
end
|
59
|
-
|
60
|
-
class X11Named < Rainbow::Color::RGB
|
61
|
-
include Rainbow::X11ColorNames
|
62
|
-
|
63
|
-
sig { returns(T::Array[Symbol]) }
|
64
|
-
def self.color_names; end
|
65
|
-
|
66
|
-
sig { returns(String) }
|
67
|
-
def self.valid_names; end
|
68
|
-
|
69
|
-
sig { params(ground: Symbol, name: Symbol).void }
|
70
|
-
def initialize(ground, name); end
|
71
|
-
end
|
72
|
-
end
|
73
|
-
|
74
|
-
sig { returns(Wrapper) }
|
75
|
-
def self.global; end
|
76
|
-
|
77
|
-
sig { returns(T::Boolean) }
|
78
|
-
def self.enabled; end
|
79
|
-
|
80
|
-
sig { params(value: T::Boolean).returns(T::Boolean) }
|
81
|
-
def self.enabled=(value); end
|
82
|
-
|
83
|
-
sig { params(string: String).returns(String) }
|
84
|
-
def self.uncolor(string); end
|
85
|
-
|
86
|
-
class NullPresenter < String
|
87
|
-
sig { params(values: T.any([Integer], [Integer, Integer, Integer])).returns(NullPresenter) }
|
88
|
-
def color(*values); end
|
89
|
-
|
90
|
-
sig { params(values: T.any([Integer], [Integer, Integer, Integer])).returns(NullPresenter) }
|
91
|
-
def foreground(*values); end
|
92
|
-
|
93
|
-
sig { params(values: T.any([Integer], [Integer, Integer, Integer])).returns(NullPresenter) }
|
94
|
-
def fg(*values); end
|
95
|
-
|
96
|
-
sig { params(values: T.any([Integer], [Integer, Integer, Integer])).returns(NullPresenter) }
|
97
|
-
def background(*values); end
|
98
|
-
|
99
|
-
sig { params(values: T.any([Integer], [Integer, Integer, Integer])).returns(NullPresenter) }
|
100
|
-
def bg(*values); end
|
101
|
-
|
102
|
-
sig { returns(NullPresenter) }
|
103
|
-
def reset; end
|
104
|
-
|
105
|
-
sig { returns(NullPresenter) }
|
106
|
-
def bright; end
|
107
|
-
|
108
|
-
sig { returns(NullPresenter) }
|
109
|
-
def faint; end
|
110
|
-
|
111
|
-
sig { returns(NullPresenter) }
|
112
|
-
def italic; end
|
113
|
-
|
114
|
-
sig { returns(NullPresenter) }
|
115
|
-
def underline; end
|
116
|
-
|
117
|
-
sig { returns(NullPresenter) }
|
118
|
-
def blink; end
|
119
|
-
|
120
|
-
sig { returns(NullPresenter) }
|
121
|
-
def inverse; end
|
122
|
-
|
123
|
-
sig { returns(NullPresenter) }
|
124
|
-
def hide; end
|
125
|
-
|
126
|
-
sig { returns(NullPresenter) }
|
127
|
-
def cross_out; end
|
128
|
-
|
129
|
-
sig { returns(NullPresenter) }
|
130
|
-
def black; end
|
131
|
-
|
132
|
-
sig { returns(NullPresenter) }
|
133
|
-
def red; end
|
134
|
-
|
135
|
-
sig { returns(NullPresenter) }
|
136
|
-
def green; end
|
137
|
-
|
138
|
-
sig { returns(NullPresenter) }
|
139
|
-
def yellow; end
|
140
|
-
|
141
|
-
sig { returns(NullPresenter) }
|
142
|
-
def blue; end
|
143
|
-
|
144
|
-
sig { returns(NullPresenter) }
|
145
|
-
def magenta; end
|
146
|
-
|
147
|
-
sig { returns(NullPresenter) }
|
148
|
-
def cyan; end
|
149
|
-
|
150
|
-
sig { returns(NullPresenter) }
|
151
|
-
def white; end
|
152
|
-
|
153
|
-
sig { returns(NullPresenter) }
|
154
|
-
def bold; end
|
155
|
-
|
156
|
-
sig { returns(NullPresenter) }
|
157
|
-
def dark; end
|
158
|
-
|
159
|
-
sig { returns(NullPresenter) }
|
160
|
-
def strike; end
|
161
|
-
end
|
162
|
-
|
163
|
-
class Presenter < String
|
164
|
-
TERM_EFFECTS = T.let(nil, T::Hash[Symbol, Integer])
|
165
|
-
|
166
|
-
sig { params(values: T.any([Integer], [Integer, Integer, Integer])).returns(Presenter) }
|
167
|
-
def color(*values); end
|
168
|
-
|
169
|
-
sig { params(values: T.any([Integer], [Integer, Integer, Integer])).returns(Presenter) }
|
170
|
-
def foreground(*values); end
|
171
|
-
|
172
|
-
sig { params(values: T.any([Integer], [Integer, Integer, Integer])).returns(Presenter) }
|
173
|
-
def fg(*values); end
|
174
|
-
|
175
|
-
sig { params(values: T.any([Integer], [Integer, Integer, Integer])).returns(Presenter) }
|
176
|
-
def background(*values); end
|
177
|
-
|
178
|
-
sig { params(values: T.any([Integer], [Integer, Integer, Integer])).returns(Presenter) }
|
179
|
-
def bg(*values); end
|
180
|
-
|
181
|
-
sig { returns(Presenter) }
|
182
|
-
def reset; end
|
183
|
-
|
184
|
-
sig { returns(Presenter) }
|
185
|
-
def bright; end
|
186
|
-
|
187
|
-
sig { returns(Presenter) }
|
188
|
-
def faint; end
|
189
|
-
|
190
|
-
sig { returns(Presenter) }
|
191
|
-
def italic; end
|
192
|
-
|
193
|
-
sig { returns(Presenter) }
|
194
|
-
def underline; end
|
195
|
-
|
196
|
-
sig { returns(Presenter) }
|
197
|
-
def blink; end
|
198
|
-
|
199
|
-
sig { returns(Presenter) }
|
200
|
-
def inverse; end
|
201
|
-
|
202
|
-
sig { returns(Presenter) }
|
203
|
-
def hide; end
|
204
|
-
|
205
|
-
sig { returns(Presenter) }
|
206
|
-
def cross_out; end
|
207
|
-
|
208
|
-
sig { returns(Presenter) }
|
209
|
-
def black; end
|
210
|
-
|
211
|
-
sig { returns(Presenter) }
|
212
|
-
def red; end
|
213
|
-
|
214
|
-
sig { returns(Presenter) }
|
215
|
-
def green; end
|
216
|
-
|
217
|
-
sig { returns(Presenter) }
|
218
|
-
def yellow; end
|
219
|
-
|
220
|
-
sig { returns(Presenter) }
|
221
|
-
def blue; end
|
222
|
-
|
223
|
-
sig { returns(Presenter) }
|
224
|
-
def magenta; end
|
225
|
-
|
226
|
-
sig { returns(Presenter) }
|
227
|
-
def cyan; end
|
228
|
-
|
229
|
-
sig { returns(Presenter) }
|
230
|
-
def white; end
|
231
|
-
|
232
|
-
sig { returns(Presenter) }
|
233
|
-
def bold; end
|
234
|
-
|
235
|
-
sig { returns(Presenter) }
|
236
|
-
def dark; end
|
237
|
-
|
238
|
-
sig { returns(Presenter) }
|
239
|
-
def strike; end
|
240
|
-
end
|
241
|
-
|
242
|
-
class StringUtils
|
243
|
-
sig { params(string: String, codes: T::Array[Integer]).returns(String) }
|
244
|
-
def self.wrap_with_sgr(string, codes); end
|
245
|
-
|
246
|
-
sig { params(string: String).returns(String) }
|
247
|
-
def self.uncolor(string); end
|
248
|
-
end
|
249
|
-
|
250
|
-
VERSION = T.let(nil, String)
|
251
|
-
|
252
|
-
class Wrapper
|
253
|
-
sig { returns(T::Boolean) }
|
254
|
-
attr_accessor :enabled
|
255
|
-
|
256
|
-
sig { params(enabled: T::Boolean).void }
|
257
|
-
def initialize(enabled = true); end
|
258
|
-
|
259
|
-
sig { params(string: String).returns(T.any(Rainbow::Presenter, Rainbow::NullPresenter)) }
|
260
|
-
def wrap(string); end
|
261
|
-
end
|
262
|
-
|
263
|
-
module X11ColorNames
|
264
|
-
NAMES = T.let(nil, T::Hash[Symbol, [Integer, Integer, Integer]])
|
265
|
-
end
|
266
|
-
end
|
267
|
-
|
268
|
-
sig { params(string: String).returns(Rainbow::Presenter) }
|
269
|
-
def Rainbow(string); end
|