clean-architecture 5.0.2 → 6.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (166) hide show
  1. checksums.yaml +4 -4
  2. data/.github/workflows/ci.yml +15 -19
  3. data/.gitignore +4 -0
  4. data/CHANGELOG.md +4 -0
  5. data/Gemfile +1 -0
  6. data/README.md +1 -585
  7. data/bin/tapioca +29 -0
  8. data/clean-architecture.gemspec +4 -4
  9. data/lib/clean-architecture.rb +4 -1
  10. data/lib/clean_architecture/adapters/all.rb +1 -1
  11. data/lib/clean_architecture/adapters/attribute_hash_base.rb +47 -20
  12. data/lib/clean_architecture/all.rb +1 -4
  13. data/lib/clean_architecture/builders/abstract_active_record_entity_builder.rb +43 -13
  14. data/lib/clean_architecture/builders/all.rb +1 -1
  15. data/lib/clean_architecture/checks/all.rb +1 -1
  16. data/lib/clean_architecture/checks/authorization.rb +11 -9
  17. data/lib/clean_architecture/entities/all.rb +1 -3
  18. data/lib/clean_architecture/entities/failure_details.rb +27 -17
  19. data/lib/clean_architecture/matchers/all.rb +1 -1
  20. data/lib/clean_architecture/matchers/use_case_result.rb +9 -3
  21. data/lib/clean_architecture/queries/all.rb +1 -1
  22. data/lib/clean_architecture/queries/http_failure_code.rb +8 -20
  23. data/lib/clean_architecture/queries/http_success_code.rb +14 -7
  24. data/lib/clean_architecture/serializers/all.rb +1 -1
  25. data/lib/clean_architecture/serializers/html_response_from_result.rb +7 -1
  26. data/lib/clean_architecture/serializers/json_response_from_result.rb +4 -4
  27. data/lib/clean_architecture/version.rb +1 -1
  28. data/nix/sources.json +14 -0
  29. data/nix/sources.nix +174 -0
  30. data/run_ci.sh +7 -0
  31. data/shell.nix +17 -12
  32. data/sorbet/config +4 -0
  33. data/sorbet/{rbi/gems → dry-monads-sorbet}/dry-monads.rbi +176 -94
  34. data/sorbet/rbi/gems/activemodel@6.1.4.1.rbi +1292 -0
  35. data/sorbet/rbi/gems/activerecord@6.1.4.1.rbi +8092 -0
  36. data/sorbet/rbi/gems/activesupport@6.1.4.1.rbi +3531 -0
  37. data/sorbet/rbi/gems/{ast.rbi → ast@2.4.2.rbi} +28 -22
  38. data/sorbet/rbi/gems/byebug@11.1.3.rbi +1568 -0
  39. data/sorbet/rbi/gems/coderay@1.1.3.rbi +1005 -0
  40. data/sorbet/rbi/gems/concurrent-ruby@1.1.9.rbi +915 -0
  41. data/sorbet/rbi/gems/diff-lcs@1.4.4.rbi +8 -0
  42. data/sorbet/rbi/gems/docile@1.4.0.rbi +54 -0
  43. data/sorbet/rbi/gems/dry-core@0.7.1.rbi +92 -0
  44. data/sorbet/rbi/gems/dry-equalizer@0.3.0.rbi +28 -0
  45. data/sorbet/rbi/gems/dry-matcher@0.9.0.rbi +56 -0
  46. data/sorbet/rbi/gems/dry-monads-sorbet@1.1.7.rbi +41 -0
  47. data/sorbet/rbi/gems/dry-monads@1.4.0.rbi +697 -0
  48. data/sorbet/rbi/gems/em-websocket@0.5.2.rbi +8 -0
  49. data/sorbet/rbi/gems/eventmachine@1.2.7.rbi +45 -0
  50. data/sorbet/rbi/gems/ffi@1.15.4.rbi +8 -0
  51. data/sorbet/rbi/gems/formatador@0.3.0.rbi +8 -0
  52. data/sorbet/rbi/gems/guard-compat@1.2.1.rbi +31 -0
  53. data/sorbet/rbi/gems/guard-livereload@2.5.2.rbi +8 -0
  54. data/sorbet/rbi/gems/guard-rspec@4.7.3.rbi +211 -0
  55. data/sorbet/rbi/gems/guard@2.18.0.rbi +8 -0
  56. data/sorbet/rbi/gems/http_parser.rb@0.6.0.rbi +8 -0
  57. data/sorbet/rbi/gems/i18n@1.8.10.rbi +8 -0
  58. data/sorbet/rbi/gems/listen@3.7.0.rbi +8 -0
  59. data/sorbet/rbi/gems/lumberjack@1.2.8.rbi +8 -0
  60. data/sorbet/rbi/gems/method_source@1.0.0.rbi +72 -0
  61. data/sorbet/rbi/gems/minitest@5.14.4.rbi +344 -0
  62. data/sorbet/rbi/gems/multi_json@1.15.0.rbi +8 -0
  63. data/sorbet/rbi/gems/nenv@0.3.0.rbi +8 -0
  64. data/sorbet/rbi/gems/notiffany@0.1.3.rbi +8 -0
  65. data/sorbet/rbi/gems/parallel@1.21.0.rbi +113 -0
  66. data/sorbet/rbi/gems/{parser.rbi → parser@3.0.2.0.rbi} +966 -699
  67. data/sorbet/rbi/gems/pry-byebug@3.9.0.rbi +461 -0
  68. data/sorbet/rbi/gems/{pry.rbi → pry@0.13.1.rbi} +2191 -1605
  69. data/sorbet/rbi/gems/{rainbow.rbi → rainbow@3.0.0.rbi} +90 -55
  70. data/sorbet/rbi/gems/{rake.rbi → rake@13.0.6.rbi} +578 -427
  71. data/sorbet/rbi/gems/rb-fsevent@0.11.0.rbi +8 -0
  72. data/sorbet/rbi/gems/rb-inotify@0.10.1.rbi +8 -0
  73. data/sorbet/rbi/gems/rb-readline@0.5.5.rbi +884 -0
  74. data/sorbet/rbi/gems/rbi@0.0.6.rbi +1405 -0
  75. data/sorbet/rbi/gems/regexp_parser@2.1.1.rbi +1120 -0
  76. data/sorbet/rbi/gems/{rexml.rbi → rexml@3.2.5.rbi} +562 -479
  77. data/sorbet/rbi/gems/{rspec-core.rbi → rspec-core@3.10.1.rbi} +2317 -1533
  78. data/sorbet/rbi/gems/rspec-expectations@3.10.1.rbi +1574 -0
  79. data/sorbet/rbi/gems/rspec-mocks@3.10.2.rbi +1462 -0
  80. data/sorbet/rbi/gems/rspec-support@3.10.2.rbi +509 -0
  81. data/sorbet/rbi/gems/rspec@3.10.0.rbi +38 -0
  82. data/sorbet/rbi/gems/rubocop-ast@1.12.0.rbi +1938 -0
  83. data/sorbet/rbi/gems/rubocop-rspec@2.5.0.rbi +1786 -0
  84. data/sorbet/rbi/gems/rubocop@1.22.1.rbi +13252 -0
  85. data/sorbet/rbi/gems/ruby-progressbar@1.11.0.rbi +405 -0
  86. data/sorbet/rbi/gems/shellany@0.0.1.rbi +8 -0
  87. data/sorbet/rbi/gems/simplecov-html@0.12.3.rbi +89 -0
  88. data/sorbet/rbi/gems/simplecov@0.21.2.rbi +577 -0
  89. data/sorbet/rbi/gems/simplecov_json_formatter@0.1.3.rbi +8 -0
  90. data/sorbet/rbi/gems/sorbet-struct-comparable@1.1.0.rbi +17 -0
  91. data/sorbet/rbi/gems/spoom@1.1.5.rbi +1241 -0
  92. data/sorbet/rbi/gems/stackprof@0.2.17.rbi +98 -0
  93. data/sorbet/rbi/gems/tapioca@0.5.2.rbi +949 -0
  94. data/sorbet/rbi/gems/thor@1.1.0.rbi +839 -0
  95. data/sorbet/rbi/gems/tzinfo@2.0.4.rbi +8 -0
  96. data/sorbet/rbi/gems/unicode-display_width@2.1.0.rbi +26 -0
  97. data/sorbet/rbi/gems/unparser@0.6.0.rbi +8 -0
  98. data/sorbet/rbi/gems/zeitwerk@2.4.2.rbi +8 -0
  99. data/sorbet/tapioca/require.rb +9 -0
  100. metadata +88 -91
  101. data/.ruby-version +0 -1
  102. data/lib/clean_architecture/entities/targeted_parameters.rb +0 -24
  103. data/lib/clean_architecture/entities/untargeted_parameters.rb +0 -21
  104. data/lib/clean_architecture/interfaces/all.rb +0 -12
  105. data/lib/clean_architecture/interfaces/authorization_parameters.rb +0 -19
  106. data/lib/clean_architecture/interfaces/base_parameters.rb +0 -24
  107. data/lib/clean_architecture/interfaces/jsonable.rb +0 -16
  108. data/lib/clean_architecture/interfaces/targeted_parameters.rb +0 -19
  109. data/lib/clean_architecture/interfaces/use_case.rb +0 -20
  110. data/lib/clean_architecture/interfaces/use_case_actor.rb +0 -20
  111. data/lib/clean_architecture/interfaces/use_case_target.rb +0 -24
  112. data/lib/clean_architecture/types.rb +0 -8
  113. data/lib/clean_architecture/use_cases/abstract_use_case.rb +0 -63
  114. data/lib/clean_architecture/use_cases/all.rb +0 -10
  115. data/lib/clean_architecture/use_cases/contract.rb +0 -9
  116. data/lib/clean_architecture/use_cases/errors.rb +0 -58
  117. data/lib/clean_architecture/use_cases/form.rb +0 -116
  118. data/lib/clean_architecture/use_cases/parameters.rb +0 -43
  119. data/sorbet/rbi/gems/activemodel.rbi +0 -75
  120. data/sorbet/rbi/gems/activesupport.rbi +0 -440
  121. data/sorbet/rbi/gems/byebug.rbi +0 -1040
  122. data/sorbet/rbi/gems/coderay.rbi +0 -92
  123. data/sorbet/rbi/gems/concurrent-ruby.rbi +0 -1586
  124. data/sorbet/rbi/gems/docile.rbi +0 -32
  125. data/sorbet/rbi/gems/dry-configurable.rbi +0 -139
  126. data/sorbet/rbi/gems/dry-container.rbi +0 -89
  127. data/sorbet/rbi/gems/dry-core.rbi +0 -80
  128. data/sorbet/rbi/gems/dry-equalizer.rbi +0 -26
  129. data/sorbet/rbi/gems/dry-inflector.rbi +0 -73
  130. data/sorbet/rbi/gems/dry-initializer.rbi +0 -209
  131. data/sorbet/rbi/gems/dry-logic.rbi +0 -305
  132. data/sorbet/rbi/gems/dry-matcher.rbi +0 -34
  133. data/sorbet/rbi/gems/dry-schema.rbi +0 -786
  134. data/sorbet/rbi/gems/dry-struct.rbi +0 -137
  135. data/sorbet/rbi/gems/dry-types.rbi +0 -709
  136. data/sorbet/rbi/gems/dry-validation.rbi +0 -288
  137. data/sorbet/rbi/gems/duckface-interfaces.rbi +0 -94
  138. data/sorbet/rbi/gems/i18n.rbi +0 -133
  139. data/sorbet/rbi/gems/jaro_winkler.rbi +0 -15
  140. data/sorbet/rbi/gems/method_source.rbi +0 -64
  141. data/sorbet/rbi/gems/parallel.rbi +0 -82
  142. data/sorbet/rbi/gems/pry-byebug.rbi +0 -155
  143. data/sorbet/rbi/gems/rb-readline.rbi +0 -767
  144. data/sorbet/rbi/gems/rspec-expectations.rbi +0 -398
  145. data/sorbet/rbi/gems/rspec-mocks.rbi +0 -816
  146. data/sorbet/rbi/gems/rspec-support.rbi +0 -271
  147. data/sorbet/rbi/gems/rspec.rbi +0 -15
  148. data/sorbet/rbi/gems/rubocop-rspec.rbi +0 -922
  149. data/sorbet/rbi/gems/rubocop.rbi +0 -7319
  150. data/sorbet/rbi/gems/ruby-progressbar.rbi +0 -305
  151. data/sorbet/rbi/gems/simplecov-html.rbi +0 -35
  152. data/sorbet/rbi/gems/simplecov.rbi +0 -361
  153. data/sorbet/rbi/gems/stackprof.rbi +0 -52
  154. data/sorbet/rbi/gems/unicode-display_width.rbi +0 -17
  155. data/sorbet/rbi/hidden-definitions/errors.txt +0 -8580
  156. data/sorbet/rbi/hidden-definitions/hidden.rbi +0 -17036
  157. data/sorbet/rbi/sorbet-typed/lib/activemodel/all/activemodel.rbi +0 -452
  158. data/sorbet/rbi/sorbet-typed/lib/activesupport/>=6.0.0.rc1/activesupport.rbi +0 -23
  159. data/sorbet/rbi/sorbet-typed/lib/activesupport/all/activesupport.rbi +0 -979
  160. data/sorbet/rbi/sorbet-typed/lib/bundler/all/bundler.rbi +0 -8684
  161. data/sorbet/rbi/sorbet-typed/lib/minitest/all/minitest.rbi +0 -108
  162. data/sorbet/rbi/sorbet-typed/lib/rainbow/all/rainbow.rbi +0 -276
  163. data/sorbet/rbi/sorbet-typed/lib/ruby/all/gem.rbi +0 -4222
  164. data/sorbet/rbi/sorbet-typed/lib/ruby/all/open3.rbi +0 -111
  165. data/sorbet/rbi/sorbet-typed/lib/ruby/all/resolv.rbi +0 -543
  166. data/sorbet/rbi/todo.rbi +0 -10
@@ -1,108 +0,0 @@
1
- # This file is autogenerated. Do not edit it by hand. Regenerate it with:
2
- # srb rbi sorbet-typed
3
- #
4
- # If you would like to make changes to this file, great! Please upstream any changes you make here:
5
- #
6
- # https://github.com/sorbet/sorbet-typed/edit/master/lib/minitest/all/minitest.rbi
7
- #
8
- # typed: strong
9
-
10
- module Minitest
11
- class Runnable
12
- end
13
-
14
- class Test < Runnable
15
- include Minitest::Assertions
16
- end
17
-
18
- sig { void }
19
- def self.autorun; end
20
-
21
- sig { params(args: T::Array[String]).returns(T::Boolean) }
22
- def self.run(args = []); end
23
- end
24
-
25
- module Minitest::Assertions
26
- extend T::Sig
27
-
28
- sig { params(test: T.untyped, msg: T.nilable(String)).returns(TrueClass) }
29
- def assert(test, msg = nil); end
30
-
31
- sig do
32
- params(
33
- exp: BasicObject,
34
- msg: T.nilable(String)
35
- ).returns(TrueClass)
36
- end
37
- def assert_empty(exp, msg = nil); end
38
-
39
- sig do
40
- params(
41
- exp: BasicObject,
42
- act: BasicObject,
43
- msg: T.nilable(String)
44
- ).returns(TrueClass)
45
- end
46
- def assert_equal(exp, act, msg = nil); end
47
-
48
- sig do
49
- params(
50
- collection: T::Enumerable[T.untyped],
51
- obj: BasicObject,
52
- msg: T.nilable(String)
53
- ).returns(TrueClass)
54
- end
55
- def assert_includes(collection, obj, msg = nil); end
56
-
57
- sig do
58
- params(
59
- obj: BasicObject,
60
- msg: T.nilable(String)
61
- ).returns(TrueClass)
62
- end
63
- def assert_nil(obj, msg = nil); end
64
-
65
- sig do
66
- params(
67
- exp: T.untyped
68
- ).returns(TrueClass)
69
- end
70
- def assert_raises(*exp); end
71
-
72
- sig { params(test: T.untyped, msg: T.nilable(String)).returns(TrueClass) }
73
- def refute(test, msg = nil); end
74
-
75
- sig do
76
- params(
77
- exp: BasicObject,
78
- msg: T.nilable(String)
79
- ).returns(TrueClass)
80
- end
81
- def refute_empty(exp, msg = nil); end
82
-
83
- sig do
84
- params(
85
- exp: BasicObject,
86
- act: BasicObject,
87
- msg: T.nilable(String)
88
- ).returns(TrueClass)
89
- end
90
- def refute_equal(exp, act, msg = nil); end
91
-
92
- sig do
93
- params(
94
- collection: T::Enumerable[T.untyped],
95
- obj: BasicObject,
96
- msg: T.nilable(String)
97
- ).returns(TrueClass)
98
- end
99
- def refute_includes(collection, obj, msg = nil); end
100
-
101
- sig do
102
- params(
103
- obj: BasicObject,
104
- msg: T.nilable(String)
105
- ).returns(TrueClass)
106
- end
107
- def refute_nil(obj, msg = nil); end
108
- end
@@ -1,276 +0,0 @@
1
- # This file is autogenerated. Do not edit it by hand. Regenerate it with:
2
- # srb rbi sorbet-typed
3
- #
4
- # If you would like to make changes to this file, great! Please upstream any changes you make here:
5
- #
6
- # https://github.com/sorbet/sorbet-typed/edit/master/lib/rainbow/all/rainbow.rbi
7
- #
8
- # typed: strong
9
-
10
- module Rainbow
11
- sig { returns(T::Boolean) }
12
- attr_accessor :enabled
13
-
14
- class Color
15
- sig { returns(Symbol) }
16
- attr_reader :ground
17
-
18
- sig do
19
- params(
20
- ground: Symbol,
21
- values: T.any([Integer], [Integer, Integer, Integer])
22
- ).returns(Color)
23
- end
24
- def self.build(ground, values); end
25
-
26
- sig { params(hex: String).returns([Integer, Integer, Integer]) }
27
- def self.parse_hex_color(hex); end
28
-
29
- class Indexed < Color
30
- sig { returns(Integer) }
31
- attr_reader :num
32
-
33
- sig { params(ground: Symbol, num: Integer).returns(Indexed) }
34
- def initialize(ground, num); end
35
-
36
- sig { returns(T::Array[Integer]) }
37
- def codes; end
38
- end
39
-
40
- class Named < Indexed
41
- NAMES = T.let(nil, T::Hash[Symbol, Integer])
42
-
43
- sig { returns(T::Array[Symbol]) }
44
- def self.color_names; end
45
-
46
- sig { returns(String) }
47
- def self.valid_names; end
48
-
49
- sig { params(ground: Symbol, name: Symbol).returns(Named) }
50
- def initialize(ground, name); end
51
- end
52
-
53
- class RGB < Indexed
54
- sig { returns(Integer) }
55
- attr_accessor :r, :g, :b
56
-
57
- sig { params(value: Numeric).returns(Integer) }
58
- def to_ansi_domain(value); end
59
-
60
- sig { params(ground: Symbol, values: Integer).returns(RGB) }
61
- def initialize(ground, *values); end
62
-
63
- sig { returns(T::Array[Integer]) }
64
- def codes; end
65
- end
66
-
67
- class X11Named < RGB
68
- include X11ColorNames
69
-
70
- sig { returns(T::Array[Symbol]) }
71
- def self.color_names; end
72
-
73
- sig { returns(String) }
74
- def self.valid_names; end
75
-
76
- sig { params(ground: Symbol, name: Symbol).returns(X11Named) }
77
- def initialize(ground, name); end
78
- end
79
- end
80
-
81
- sig { returns(Wrapper) }
82
- def self.global; end
83
-
84
- sig { returns(T::Boolean) }
85
- def self.enabled; end
86
-
87
- sig { params(value: T::Boolean).returns(T::Boolean) }
88
- def self.enabled=(value); end
89
-
90
- sig { params(string: String).returns(String) }
91
- def self.uncolor(string); end
92
-
93
- class NullPresenter < String
94
- sig { params(values: T.any([Integer], [Integer, Integer, Integer])).returns(NullPresenter) }
95
- def color(*values); end
96
-
97
- sig { params(values: T.any([Integer], [Integer, Integer, Integer])).returns(NullPresenter) }
98
- def foreground(*values); end
99
-
100
- sig { params(values: T.any([Integer], [Integer, Integer, Integer])).returns(NullPresenter) }
101
- def fg(*values); end
102
-
103
- sig { params(values: T.any([Integer], [Integer, Integer, Integer])).returns(NullPresenter) }
104
- def background(*values); end
105
-
106
- sig { params(values: T.any([Integer], [Integer, Integer, Integer])).returns(NullPresenter) }
107
- def bg(*values); end
108
-
109
- sig { returns(NullPresenter) }
110
- def reset; end
111
-
112
- sig { returns(NullPresenter) }
113
- def bright; end
114
-
115
- sig { returns(NullPresenter) }
116
- def faint; end
117
-
118
- sig { returns(NullPresenter) }
119
- def italic; end
120
-
121
- sig { returns(NullPresenter) }
122
- def underline; end
123
-
124
- sig { returns(NullPresenter) }
125
- def blink; end
126
-
127
- sig { returns(NullPresenter) }
128
- def inverse; end
129
-
130
- sig { returns(NullPresenter) }
131
- def hide; end
132
-
133
- sig { returns(NullPresenter) }
134
- def cross_out; end
135
-
136
- sig { returns(NullPresenter) }
137
- def black; end
138
-
139
- sig { returns(NullPresenter) }
140
- def red; end
141
-
142
- sig { returns(NullPresenter) }
143
- def green; end
144
-
145
- sig { returns(NullPresenter) }
146
- def yellow; end
147
-
148
- sig { returns(NullPresenter) }
149
- def blue; end
150
-
151
- sig { returns(NullPresenter) }
152
- def magenta; end
153
-
154
- sig { returns(NullPresenter) }
155
- def cyan; end
156
-
157
- sig { returns(NullPresenter) }
158
- def white; end
159
-
160
- sig { returns(NullPresenter) }
161
- def bold; end
162
-
163
- sig { returns(NullPresenter) }
164
- def dark; end
165
-
166
- sig { returns(NullPresenter) }
167
- def strike; end
168
- end
169
-
170
- class Presenter < String
171
- TERM_EFFECTS = T.let(nil, T::Hash[Symbol, Integer])
172
-
173
- sig { params(values: T.any([Integer], [Integer, Integer, Integer])).returns(Presenter) }
174
- def color(*values); end
175
-
176
- sig { params(values: T.any([Integer], [Integer, Integer, Integer])).returns(Presenter) }
177
- def foreground(*values); end
178
-
179
- sig { params(values: T.any([Integer], [Integer, Integer, Integer])).returns(Presenter) }
180
- def fg(*values); end
181
-
182
- sig { params(values: T.any([Integer], [Integer, Integer, Integer])).returns(Presenter) }
183
- def background(*values); end
184
-
185
- sig { params(values: T.any([Integer], [Integer, Integer, Integer])).returns(Presenter) }
186
- def bg(*values); end
187
-
188
- sig { returns(Presenter) }
189
- def reset; end
190
-
191
- sig { returns(Presenter) }
192
- def bright; end
193
-
194
- sig { returns(Presenter) }
195
- def faint; end
196
-
197
- sig { returns(Presenter) }
198
- def italic; end
199
-
200
- sig { returns(Presenter) }
201
- def underline; end
202
-
203
- sig { returns(Presenter) }
204
- def blink; end
205
-
206
- sig { returns(Presenter) }
207
- def inverse; end
208
-
209
- sig { returns(Presenter) }
210
- def hide; end
211
-
212
- sig { returns(Presenter) }
213
- def cross_out; end
214
-
215
- sig { returns(Presenter) }
216
- def black; end
217
-
218
- sig { returns(Presenter) }
219
- def red; end
220
-
221
- sig { returns(Presenter) }
222
- def green; end
223
-
224
- sig { returns(Presenter) }
225
- def yellow; end
226
-
227
- sig { returns(Presenter) }
228
- def blue; end
229
-
230
- sig { returns(Presenter) }
231
- def magenta; end
232
-
233
- sig { returns(Presenter) }
234
- def cyan; end
235
-
236
- sig { returns(Presenter) }
237
- def white; end
238
-
239
- sig { returns(Presenter) }
240
- def bold; end
241
-
242
- sig { returns(Presenter) }
243
- def dark; end
244
-
245
- sig { returns(Presenter) }
246
- def strike; end
247
- end
248
-
249
- class StringUtils
250
- sig { params(string: String, codes: T::Array[Integer]).returns(String) }
251
- def self.wrap_with_sgr(string, codes); end
252
-
253
- sig { params(string: String).returns(String) }
254
- def uncolor(string); end
255
- end
256
-
257
- VERSION = T.let(nil, String)
258
-
259
- class Wrapper
260
- sig { returns(T::Boolean) }
261
- attr_accessor :enabled
262
-
263
- sig { params(enabled: T::Boolean).returns(Wrapper) }
264
- def initialize(enabled = true); end
265
-
266
- sig { params(string: String).returns(T.any(Rainbow::Presenter, Rainbow::NullPresenter)) }
267
- def wrap(string); end
268
- end
269
-
270
- module X11ColorNames
271
- NAMES = T.let(nil, T::Hash[Symbol, [Integer, Integer, Integer]])
272
- end
273
- end
274
-
275
- sig { params(string: String).returns(Rainbow::Presenter) }
276
- def Rainbow(string); end