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,271 +0,0 @@
1
- # This file is autogenerated. Do not edit it by hand. Regenerate it with:
2
- # srb rbi gems
3
-
4
- # typed: true
5
- #
6
- # If you would like to make changes to this file, great! Please create the gem's shim here:
7
- #
8
- # https://github.com/sorbet/sorbet-typed/new/master?filename=lib/rspec-support/all/rspec-support.rbi
9
- #
10
- # rspec-support-3.9.2
11
-
12
- module RSpec
13
- extend RSpec::Support::Warnings
14
- end
15
- module RSpec::Support
16
- def self.class_of(object); end
17
- def self.define_optimized_require_for_rspec(lib, &require_relative); end
18
- def self.deregister_matcher_definition(&block); end
19
- def self.failure_notifier; end
20
- def self.failure_notifier=(callable); end
21
- def self.is_a_matcher?(object); end
22
- def self.matcher_definitions; end
23
- def self.method_handle_for(object, method_name); end
24
- def self.notify_failure(failure, options = nil); end
25
- def self.register_matcher_definition(&block); end
26
- def self.require_rspec_support(f); end
27
- def self.rspec_description_for_object(object); end
28
- def self.thread_local_data; end
29
- def self.warning_notifier; end
30
- def self.warning_notifier=(arg0); end
31
- def self.with_failure_notifier(callable); end
32
- end
33
- module RSpec::Support::Version
34
- end
35
- class RSpec::Support::ComparableVersion
36
- def <=>(other); end
37
- def initialize(string); end
38
- def segments; end
39
- def string; end
40
- include Comparable
41
- end
42
- module RSpec::Support::OS
43
- def self.windows?; end
44
- def self.windows_file_path?; end
45
- def windows?; end
46
- def windows_file_path?; end
47
- end
48
- module RSpec::Support::Ruby
49
- def jruby?; end
50
- def jruby_9000?; end
51
- def jruby_version; end
52
- def mri?; end
53
- def non_mri?; end
54
- def rbx?; end
55
- def self.jruby?; end
56
- def self.jruby_9000?; end
57
- def self.jruby_version; end
58
- def self.mri?; end
59
- def self.non_mri?; end
60
- def self.rbx?; end
61
- end
62
- module RSpec::Support::RubyFeatures
63
- def caller_locations_supported?; end
64
- def fork_supported?; end
65
- def kw_args_supported?; end
66
- def module_prepends_supported?; end
67
- def module_refinement_supported?; end
68
- def optional_and_splat_args_supported?; end
69
- def required_kw_args_supported?; end
70
- def ripper_supported?; end
71
- def self.caller_locations_supported?; end
72
- def self.fork_supported?; end
73
- def self.kw_args_supported?; end
74
- def self.module_prepends_supported?; end
75
- def self.module_refinement_supported?; end
76
- def self.optional_and_splat_args_supported?; end
77
- def self.required_kw_args_supported?; end
78
- def self.ripper_supported?; end
79
- def self.supports_exception_cause?; end
80
- def self.supports_rebinding_module_methods?; end
81
- def self.supports_taint?; end
82
- def supports_exception_cause?; end
83
- def supports_rebinding_module_methods?; end
84
- def supports_taint?; end
85
- end
86
- module RSpec::Support::AllExceptionsExceptOnesWeMustNotRescue
87
- def self.===(exception); end
88
- end
89
- class RSpec::CallerFilter
90
- def self.first_non_rspec_line(skip_frames = nil, increment = nil); end
91
- end
92
- module RSpec::Support::Warnings
93
- def deprecate(deprecated, options = nil); end
94
- def warn_deprecation(message, options = nil); end
95
- def warn_with(message, options = nil); end
96
- def warning(text, options = nil); end
97
- end
98
- class RSpec::Support::EncodedString
99
- def <<(string); end
100
- def ==(*args, &block); end
101
- def detect_source_encoding(string); end
102
- def empty?(*args, &block); end
103
- def encoding(*args, &block); end
104
- def eql?(*args, &block); end
105
- def initialize(string, encoding = nil); end
106
- def lines(*args, &block); end
107
- def matching_encoding(string); end
108
- def remove_invalid_bytes(string); end
109
- def self.pick_encoding(source_a, source_b); end
110
- def source_encoding; end
111
- def split(regex_or_string); end
112
- def to_s; end
113
- def to_str; end
114
- end
115
- class RSpec::Support::ReentrantMutex
116
- def enter; end
117
- def exit; end
118
- def initialize; end
119
- def synchronize; end
120
- end
121
- class RSpec::Support::DirectoryMaker
122
- def self.directory_exists?(dirname); end
123
- def self.generate_path(stack, part); end
124
- def self.generate_stack(path); end
125
- def self.mkdir_p(path); end
126
- end
127
- module RSpec::Support::RecursiveConstMethods
128
- def const_defined_on?(mod, const_name); end
129
- def constants_defined_on(mod); end
130
- def get_const_defined_on(mod, const_name); end
131
- def normalize_const_name(const_name); end
132
- def recursive_const_defined?(const_name); end
133
- def recursive_const_get(const_name); end
134
- end
135
- module RSpec::Support::FuzzyMatcher
136
- def self.arrays_match?(expected_list, actual_list); end
137
- def self.hashes_match?(expected_hash, actual_hash); end
138
- def self.values_match?(expected, actual); end
139
- end
140
- class RSpec::Support::ObjectFormatter
141
- def format(object); end
142
- def initialize(max_formatted_output_length = nil); end
143
- def max_formatted_output_length; end
144
- def max_formatted_output_length=(arg0); end
145
- def prepare_array(array); end
146
- def prepare_element(element); end
147
- def prepare_for_inspection(object); end
148
- def prepare_hash(input_hash); end
149
- def recursive_structure?(object); end
150
- def self.default_instance; end
151
- def self.format(object); end
152
- def self.prepare_for_inspection(object); end
153
- def sort_hash_keys(input_hash); end
154
- def truncate_string(str, start_index, end_index); end
155
- def with_entering_structure(structure); end
156
- end
157
- class RSpec::Support::ObjectFormatter::InspectableItem < Struct
158
- def inspect; end
159
- def pretty_print(pp); end
160
- def self.[](*arg0); end
161
- def self.inspect; end
162
- def self.members; end
163
- def self.new(*arg0); end
164
- def text; end
165
- def text=(_); end
166
- end
167
- class RSpec::Support::ObjectFormatter::BaseInspector < Struct
168
- def formatter; end
169
- def formatter=(_); end
170
- def inspect; end
171
- def object; end
172
- def object=(_); end
173
- def pretty_print(pp); end
174
- def self.[](*arg0); end
175
- def self.can_inspect?(_object); end
176
- def self.inspect; end
177
- def self.members; end
178
- def self.new(*arg0); end
179
- end
180
- class RSpec::Support::ObjectFormatter::TimeInspector < RSpec::Support::ObjectFormatter::BaseInspector
181
- def inspect; end
182
- def self.can_inspect?(object); end
183
- end
184
- class RSpec::Support::ObjectFormatter::DateTimeInspector < RSpec::Support::ObjectFormatter::BaseInspector
185
- def inspect; end
186
- def self.can_inspect?(object); end
187
- end
188
- class RSpec::Support::ObjectFormatter::BigDecimalInspector < RSpec::Support::ObjectFormatter::BaseInspector
189
- def inspect; end
190
- def self.can_inspect?(object); end
191
- end
192
- class RSpec::Support::ObjectFormatter::DescribableMatcherInspector < RSpec::Support::ObjectFormatter::BaseInspector
193
- def inspect; end
194
- def self.can_inspect?(object); end
195
- end
196
- class RSpec::Support::ObjectFormatter::UninspectableObjectInspector < RSpec::Support::ObjectFormatter::BaseInspector
197
- def inspect; end
198
- def klass; end
199
- def native_object_id; end
200
- def self.can_inspect?(object); end
201
- end
202
- class RSpec::Support::ObjectFormatter::DelegatorInspector < RSpec::Support::ObjectFormatter::BaseInspector
203
- def inspect; end
204
- def self.can_inspect?(object); end
205
- end
206
- class RSpec::Support::ObjectFormatter::InspectableObjectInspector < RSpec::Support::ObjectFormatter::BaseInspector
207
- def inspect; end
208
- def self.can_inspect?(object); end
209
- end
210
- class RSpec::Support::MethodSignature
211
- def arbitrary_kw_args?; end
212
- def classify_arity(arity = nil); end
213
- def classify_parameters; end
214
- def could_contain_kw_args?(args); end
215
- def description; end
216
- def has_kw_args_in?(args); end
217
- def initialize(method); end
218
- def invalid_kw_args_from(given_kw_args); end
219
- def max_non_kw_args; end
220
- def min_non_kw_args; end
221
- def missing_kw_args_from(given_kw_args); end
222
- def non_kw_args_arity_description; end
223
- def optional_kw_args; end
224
- def required_kw_args; end
225
- def unlimited_args?; end
226
- def valid_non_kw_args?(positional_arg_count, optional_max_arg_count = nil); end
227
- end
228
- class RSpec::Support::MethodSignatureExpectation
229
- def empty?; end
230
- def expect_arbitrary_keywords; end
231
- def expect_arbitrary_keywords=(arg0); end
232
- def expect_unlimited_arguments; end
233
- def expect_unlimited_arguments=(arg0); end
234
- def initialize; end
235
- def keywords; end
236
- def keywords=(values); end
237
- def max_count; end
238
- def max_count=(number); end
239
- def min_count; end
240
- def min_count=(number); end
241
- end
242
- class RSpec::Support::BlockSignature < RSpec::Support::MethodSignature
243
- def classify_parameters; end
244
- end
245
- class RSpec::Support::MethodSignatureVerifier
246
- def arbitrary_kw_args?; end
247
- def error_message; end
248
- def initialize(signature, args = nil); end
249
- def invalid_kw_args; end
250
- def kw_args; end
251
- def max_non_kw_args; end
252
- def min_non_kw_args; end
253
- def missing_kw_args; end
254
- def non_kw_args; end
255
- def split_args(*args); end
256
- def unlimited_args?; end
257
- def valid?; end
258
- def valid_non_kw_args?; end
259
- def with_expectation(expectation); end
260
- end
261
- class RSpec::Support::LooseSignatureVerifier < RSpec::Support::MethodSignatureVerifier
262
- def split_args(*args); end
263
- end
264
- class RSpec::Support::LooseSignatureVerifier::SignatureWithKeywordArgumentsMatcher
265
- def has_kw_args_in?(args); end
266
- def initialize(signature); end
267
- def invalid_kw_args_from(_kw_args); end
268
- def missing_kw_args_from(_kw_args); end
269
- def non_kw_args_arity_description; end
270
- def valid_non_kw_args?(*args); end
271
- end
@@ -1,15 +0,0 @@
1
- # This file is autogenerated. Do not edit it by hand. Regenerate it with:
2
- # srb rbi gems
3
-
4
- # typed: strong
5
- #
6
- # If you would like to make changes to this file, great! Please create the gem's shim here:
7
- #
8
- # https://github.com/sorbet/sorbet-typed/new/master?filename=lib/rspec/all/rspec.rbi
9
- #
10
- # rspec-3.9.0
11
-
12
- module RSpec
13
- end
14
- module RSpec::Version
15
- end