repeatable 1.1.0 → 1.2.1

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.
Files changed (121) hide show
  1. checksums.yaml +4 -4
  2. data/.github/workflows/ci.yml +22 -21
  3. data/.ruby-version +1 -0
  4. data/.yardopts +1 -0
  5. data/CHANGELOG.md +24 -1
  6. data/Gemfile +3 -1
  7. data/Gemfile.lock +113 -54
  8. data/README.md +25 -5
  9. data/bin/tapioca +29 -0
  10. data/lib/repeatable/conversions.rb +2 -1
  11. data/lib/repeatable/expression/base.rb +6 -0
  12. data/lib/repeatable/expression/biweekly.rb +1 -0
  13. data/lib/repeatable/expression/date.rb +2 -0
  14. data/lib/repeatable/expression/day_in_month.rb +1 -0
  15. data/lib/repeatable/expression/difference.rb +1 -0
  16. data/lib/repeatable/expression/exact_date.rb +1 -0
  17. data/lib/repeatable/expression/intersection.rb +2 -0
  18. data/lib/repeatable/expression/range_in_year.rb +3 -0
  19. data/lib/repeatable/expression/set.rb +3 -2
  20. data/lib/repeatable/expression/union.rb +2 -0
  21. data/lib/repeatable/expression/weekday.rb +1 -0
  22. data/lib/repeatable/expression/weekday_in_month.rb +1 -0
  23. data/lib/repeatable/expression.rb +1 -0
  24. data/lib/repeatable/last_date_of_month.rb +1 -0
  25. data/lib/repeatable/parse_error.rb +1 -0
  26. data/lib/repeatable/parser.rb +1 -0
  27. data/lib/repeatable/schedule.rb +6 -0
  28. data/lib/repeatable/types.rb +1 -0
  29. data/lib/repeatable/version.rb +2 -1
  30. data/lib/repeatable.rb +1 -0
  31. data/rbi/repeatable.rbi +9 -3
  32. data/sorbet/config +2 -1
  33. data/sorbet/rbi/annotations/.gitattributes +1 -0
  34. data/sorbet/rbi/{sorbet-typed/lib/rainbow/all → annotations}/rainbow.rbi +23 -30
  35. data/sorbet/rbi/gems/.gitattributes +1 -0
  36. data/sorbet/rbi/gems/ast@2.4.3.rbi +584 -0
  37. data/sorbet/rbi/gems/benchmark@0.4.1.rbi +619 -0
  38. data/sorbet/rbi/gems/coderay@1.1.3.rbi +3426 -0
  39. data/sorbet/rbi/gems/commander@5.0.0.rbi +9 -0
  40. data/sorbet/rbi/gems/diff-lcs@1.6.2.rbi +1134 -0
  41. data/sorbet/rbi/gems/docile@1.4.1.rbi +376 -0
  42. data/sorbet/rbi/gems/erubi@1.13.1.rbi +155 -0
  43. data/sorbet/rbi/gems/highline@3.0.1.rbi +9 -0
  44. data/sorbet/rbi/gems/json@2.13.2.rbi +2087 -0
  45. data/sorbet/rbi/gems/language_server-protocol@3.17.0.5.rbi +14243 -0
  46. data/sorbet/rbi/gems/lint_roller@1.1.0.rbi +239 -0
  47. data/sorbet/rbi/gems/logger@1.7.0.rbi +963 -0
  48. data/sorbet/rbi/gems/method_source@1.1.0.rbi +304 -0
  49. data/sorbet/rbi/gems/netrc@0.11.0.rbi +158 -0
  50. data/sorbet/rbi/gems/parallel@1.27.0.rbi +291 -0
  51. data/sorbet/rbi/gems/parlour@9.1.2.rbi +3071 -0
  52. data/sorbet/rbi/gems/parser@3.3.9.0.rbi +7337 -0
  53. data/sorbet/rbi/gems/prism@1.4.0.rbi +41732 -0
  54. data/sorbet/rbi/gems/pry@0.15.2.rbi +10265 -0
  55. data/sorbet/rbi/gems/racc@1.8.1.rbi +164 -0
  56. data/sorbet/rbi/gems/rainbow@3.1.1.rbi +402 -0
  57. data/sorbet/rbi/gems/rake@13.3.0.rbi +3031 -0
  58. data/sorbet/rbi/gems/rbi@0.3.6.rbi +6893 -0
  59. data/sorbet/rbi/gems/rbs@3.9.5.rbi +6976 -0
  60. data/sorbet/rbi/gems/regexp_parser@2.11.2.rbi +3845 -0
  61. data/sorbet/rbi/gems/rexml@3.4.3.rbi +5285 -0
  62. data/sorbet/rbi/gems/rspec-core@3.13.5.rbi +11238 -0
  63. data/sorbet/rbi/gems/rspec-expectations@3.13.5.rbi +8189 -0
  64. data/sorbet/rbi/gems/rspec-mocks@3.13.5.rbi +5350 -0
  65. data/sorbet/rbi/gems/rspec-support@3.13.5.rbi +1627 -0
  66. data/sorbet/rbi/gems/rspec@3.13.1.rbi +83 -0
  67. data/sorbet/rbi/gems/rubocop-ast@1.46.0.rbi +7734 -0
  68. data/sorbet/rbi/gems/rubocop-performance@1.25.0.rbi +9 -0
  69. data/sorbet/rbi/gems/rubocop@1.80.2.rbi +63354 -0
  70. data/sorbet/rbi/gems/ruby-progressbar@1.13.0.rbi +1317 -0
  71. data/sorbet/rbi/gems/simplecov-html@0.13.2.rbi +225 -0
  72. data/sorbet/rbi/gems/simplecov@0.22.0.rbi +2149 -0
  73. data/sorbet/rbi/gems/simplecov_json_formatter@0.1.4.rbi +239 -0
  74. data/sorbet/rbi/gems/spoom@1.6.3.rbi +6985 -0
  75. data/sorbet/rbi/gems/standard-custom@1.0.2.rbi +8 -0
  76. data/sorbet/rbi/gems/standard-performance@1.8.0.rbi +9 -0
  77. data/sorbet/rbi/gems/standard@1.51.0.rbi +935 -0
  78. data/sorbet/rbi/gems/tapioca@0.16.11.rbi +3628 -0
  79. data/sorbet/rbi/gems/thor@1.4.0.rbi +4399 -0
  80. data/sorbet/rbi/gems/unicode-display_width@3.2.0.rbi +132 -0
  81. data/sorbet/rbi/gems/unicode-emoji@4.1.0.rbi +251 -0
  82. data/sorbet/rbi/gems/yard-sorbet@0.9.0.rbi +435 -0
  83. data/sorbet/rbi/gems/yard@0.9.37.rbi +18378 -0
  84. data/sorbet/tapioca/config.yml +13 -0
  85. data/sorbet/tapioca/require.rb +4 -0
  86. metadata +59 -39
  87. data/sorbet/rbi/gems/ast.rbi +0 -49
  88. data/sorbet/rbi/gems/coderay.rbi +0 -285
  89. data/sorbet/rbi/gems/commander.rbi +0 -197
  90. data/sorbet/rbi/gems/docile.rbi +0 -36
  91. data/sorbet/rbi/gems/highline.rbi +0 -577
  92. data/sorbet/rbi/gems/method_source.rbi +0 -64
  93. data/sorbet/rbi/gems/parallel.rbi +0 -83
  94. data/sorbet/rbi/gems/parlour.rbi +0 -840
  95. data/sorbet/rbi/gems/parser.rbi +0 -1950
  96. data/sorbet/rbi/gems/pry.rbi +0 -1898
  97. data/sorbet/rbi/gems/rainbow.rbi +0 -118
  98. data/sorbet/rbi/gems/rake.rbi +0 -646
  99. data/sorbet/rbi/gems/regexp_parser.rbi +0 -926
  100. data/sorbet/rbi/gems/repeatable.rbi +0 -13
  101. data/sorbet/rbi/gems/rexml.rbi +0 -583
  102. data/sorbet/rbi/gems/rspec-core.rbi +0 -1919
  103. data/sorbet/rbi/gems/rspec-expectations.rbi +0 -1150
  104. data/sorbet/rbi/gems/rspec-mocks.rbi +0 -1100
  105. data/sorbet/rbi/gems/rspec-support.rbi +0 -280
  106. data/sorbet/rbi/gems/rspec.rbi +0 -15
  107. data/sorbet/rbi/gems/rubocop-ast.rbi +0 -1356
  108. data/sorbet/rbi/gems/rubocop-performance.rbi +0 -487
  109. data/sorbet/rbi/gems/rubocop.rbi +0 -7923
  110. data/sorbet/rbi/gems/ruby-progressbar.rbi +0 -304
  111. data/sorbet/rbi/gems/simplecov-html.rbi +0 -35
  112. data/sorbet/rbi/gems/simplecov.rbi +0 -419
  113. data/sorbet/rbi/gems/simplecov_json_formatter.rbi +0 -47
  114. data/sorbet/rbi/gems/standard.rbi +0 -130
  115. data/sorbet/rbi/gems/unicode-display_width.rbi +0 -20
  116. data/sorbet/rbi/hidden-definitions/errors.txt +0 -4273
  117. data/sorbet/rbi/hidden-definitions/hidden.rbi +0 -9013
  118. data/sorbet/rbi/sorbet-typed/lib/rake/all/rake.rbi +0 -645
  119. data/sorbet/rbi/sorbet-typed/lib/rspec-core/all/rspec-core.rbi +0 -24
  120. data/sorbet/rbi/sorbet-typed/lib/rubocop/>=1.8/rubocop.rbi +0 -12
  121. data/sorbet/rbi/sorbet-typed/lib/rubocop-performance/~>1.6/rubocop-performance.rbi +0 -149
@@ -0,0 +1,1627 @@
1
+ # typed: true
2
+
3
+ # DO NOT EDIT MANUALLY
4
+ # This is an autogenerated file for types exported from the `rspec-support` gem.
5
+ # Please instead update this file by running `bin/tapioca gem rspec-support`.
6
+
7
+
8
+ # source://rspec-support//lib/rspec/support.rb#3
9
+ module RSpec
10
+ extend ::RSpec::Support::Warnings
11
+
12
+ class << self
13
+ # source://rspec-core/3.13.5/lib/rspec/core.rb#70
14
+ def clear_examples; end
15
+
16
+ # source://rspec-core/3.13.5/lib/rspec/core.rb#85
17
+ def configuration; end
18
+
19
+ # source://rspec-core/3.13.5/lib/rspec/core.rb#49
20
+ def configuration=(_arg0); end
21
+
22
+ # source://rspec-core/3.13.5/lib/rspec/core.rb#97
23
+ def configure; end
24
+
25
+ # source://rspec-core/3.13.5/lib/rspec/core.rb#194
26
+ def const_missing(name); end
27
+
28
+ # source://rspec-core/3.13.5/lib/rspec/core/dsl.rb#42
29
+ def context(*args, &example_group_block); end
30
+
31
+ # source://rspec-core/3.13.5/lib/rspec/core.rb#122
32
+ def current_example; end
33
+
34
+ # source://rspec-core/3.13.5/lib/rspec/core.rb#128
35
+ def current_example=(example); end
36
+
37
+ # source://rspec-core/3.13.5/lib/rspec/core.rb#154
38
+ def current_scope; end
39
+
40
+ # source://rspec-core/3.13.5/lib/rspec/core.rb#134
41
+ def current_scope=(scope); end
42
+
43
+ # source://rspec-core/3.13.5/lib/rspec/core/dsl.rb#42
44
+ def describe(*args, &example_group_block); end
45
+
46
+ # source://rspec-core/3.13.5/lib/rspec/core/dsl.rb#42
47
+ def example_group(*args, &example_group_block); end
48
+
49
+ # source://rspec-core/3.13.5/lib/rspec/core/dsl.rb#42
50
+ def fcontext(*args, &example_group_block); end
51
+
52
+ # source://rspec-core/3.13.5/lib/rspec/core/dsl.rb#42
53
+ def fdescribe(*args, &example_group_block); end
54
+
55
+ # source://rspec-core/3.13.5/lib/rspec/core.rb#58
56
+ def reset; end
57
+
58
+ # source://rspec-core/3.13.5/lib/rspec/core/shared_example_group.rb#110
59
+ def shared_context(name, *args, &block); end
60
+
61
+ # source://rspec-core/3.13.5/lib/rspec/core/shared_example_group.rb#110
62
+ def shared_examples(name, *args, &block); end
63
+
64
+ # source://rspec-core/3.13.5/lib/rspec/core/shared_example_group.rb#110
65
+ def shared_examples_for(name, *args, &block); end
66
+
67
+ # source://rspec-core/3.13.5/lib/rspec/core.rb#160
68
+ def world; end
69
+
70
+ # source://rspec-core/3.13.5/lib/rspec/core.rb#49
71
+ def world=(_arg0); end
72
+
73
+ # source://rspec-core/3.13.5/lib/rspec/core/dsl.rb#42
74
+ def xcontext(*args, &example_group_block); end
75
+
76
+ # source://rspec-core/3.13.5/lib/rspec/core/dsl.rb#42
77
+ def xdescribe(*args, &example_group_block); end
78
+ end
79
+ end
80
+
81
+ # Consistent implementation for "cleaning" the caller method to strip out
82
+ # non-rspec lines. This enables errors to be reported at the call site in
83
+ # the code using the library, which is far more useful than the particular
84
+ # internal method that raised an error.
85
+ #
86
+ # source://rspec-support//lib/rspec/support/caller_filter.rb#10
87
+ class RSpec::CallerFilter
88
+ class << self
89
+ # Earlier rubies do not support the two argument form of `caller`. This
90
+ # fallback is logically the same, but slower.
91
+ #
92
+ # source://rspec-support//lib/rspec/support/caller_filter.rb#49
93
+ def first_non_rspec_line(skip_frames = T.unsafe(nil), increment = T.unsafe(nil)); end
94
+ end
95
+ end
96
+
97
+ # source://rspec-support//lib/rspec/support/caller_filter.rb#20
98
+ RSpec::CallerFilter::ADDITIONAL_TOP_LEVEL_FILES = T.let(T.unsafe(nil), Array)
99
+
100
+ # rubygems/core_ext/kernel_require.rb isn't actually part of rspec (obviously) but we want
101
+ # it ignored when we are looking for the first meaningful line of the backtrace outside
102
+ # of RSpec. It can show up in the backtrace as the immediate first caller
103
+ # when `CallerFilter.first_non_rspec_line` is called from the top level of a required
104
+ # file, but it depends on if rubygems is loaded or not. We don't want to have to deal
105
+ # with this complexity in our `RSpec.deprecate` calls, so we ignore it here.
106
+ #
107
+ # source://rspec-support//lib/rspec/support/caller_filter.rb#30
108
+ RSpec::CallerFilter::IGNORE_REGEX = T.let(T.unsafe(nil), Regexp)
109
+
110
+ # source://rspec-support//lib/rspec/support/caller_filter.rb#22
111
+ RSpec::CallerFilter::LIB_REGEX = T.let(T.unsafe(nil), Regexp)
112
+
113
+ # source://rspec-support//lib/rspec/support/caller_filter.rb#11
114
+ RSpec::CallerFilter::RSPEC_LIBS = T.let(T.unsafe(nil), Array)
115
+
116
+ # source://rspec-support//lib/rspec/support.rb#4
117
+ module RSpec::Support
118
+ class << self
119
+ # Used internally to get a class of a given object, even if it does not respond to #class.
120
+ #
121
+ # @api private
122
+ #
123
+ # source://rspec-support//lib/rspec/support.rb#86
124
+ def class_of(object); end
125
+
126
+ # Defines a helper method that is optimized to require files from the
127
+ # named lib. The passed block MUST be `{ |f| require_relative f }`
128
+ # because for `require_relative` to work properly from within the named
129
+ # lib the line of code must be IN that lib.
130
+ #
131
+ # `require_relative` is preferred when available because it is always O(1),
132
+ # regardless of the number of dirs in $LOAD_PATH. `require`, on the other
133
+ # hand, does a linear O(N) search over the dirs in the $LOAD_PATH until
134
+ # it can resolve the file relative to one of the dirs.
135
+ #
136
+ # @api private
137
+ #
138
+ # source://rspec-support//lib/rspec/support.rb#16
139
+ def define_optimized_require_for_rspec(lib, &require_relative); end
140
+
141
+ # Remove a previously registered matcher. Useful for cleaning up after
142
+ # yourself in specs.
143
+ #
144
+ # @private
145
+ #
146
+ # source://rspec-support//lib/rspec/support/matcher_definition.rb#24
147
+ def deregister_matcher_definition(&block); end
148
+
149
+ # @api private
150
+ #
151
+ # source://rspec-support//lib/rspec/support.rb#113
152
+ def failure_notifier; end
153
+
154
+ # @api private
155
+ #
156
+ # source://rspec-support//lib/rspec/support.rb#105
157
+ def failure_notifier=(callable); end
158
+
159
+ # @private
160
+ # @return [Boolean]
161
+ #
162
+ # source://rspec-support//lib/rspec/support/matcher_definition.rb#29
163
+ def is_a_matcher?(object); end
164
+
165
+ # @private
166
+ #
167
+ # source://rspec-support//lib/rspec/support/matcher_definition.rb#6
168
+ def matcher_definitions; end
169
+
170
+ # source://rspec-support//lib/rspec/support.rb#54
171
+ def method_handle_for(object, method_name); end
172
+
173
+ # @api private
174
+ #
175
+ # source://rspec-support//lib/rspec/support.rb#118
176
+ def notify_failure(failure, options = T.unsafe(nil)); end
177
+
178
+ # Used internally to break cyclic dependency between mocks, expectations,
179
+ # and support. We don't currently have a consistent implementation of our
180
+ # matchers, though we are considering changing that:
181
+ # https://github.com/rspec/rspec-mocks/issues/513
182
+ #
183
+ # @private
184
+ #
185
+ # source://rspec-support//lib/rspec/support/matcher_definition.rb#16
186
+ def register_matcher_definition(&block); end
187
+
188
+ # source://rspec-support//lib/rspec/support.rb#25
189
+ def require_rspec_core(f); end
190
+
191
+ # source://rspec-support//lib/rspec/support.rb#25
192
+ def require_rspec_support(f); end
193
+
194
+ # gives a string representation of an object for use in RSpec descriptions
195
+ #
196
+ # @api private
197
+ #
198
+ # source://rspec-support//lib/rspec/support/matcher_definition.rb#36
199
+ def rspec_description_for_object(object); end
200
+
201
+ # source://rspec-support//lib/rspec/support.rb#95
202
+ def thread_local_data; end
203
+
204
+ # @api private
205
+ #
206
+ # source://rspec-support//lib/rspec/support.rb#140
207
+ def warning_notifier; end
208
+
209
+ # @api private
210
+ #
211
+ # source://rspec-support//lib/rspec/support.rb#133
212
+ def warning_notifier=(_arg0); end
213
+
214
+ # @api private
215
+ #
216
+ # source://rspec-support//lib/rspec/support.rb#123
217
+ def with_failure_notifier(callable); end
218
+ end
219
+ end
220
+
221
+ # @private
222
+ #
223
+ # source://rspec-support//lib/rspec/support.rb#145
224
+ module RSpec::Support::AllExceptionsExceptOnesWeMustNotRescue
225
+ class << self
226
+ # source://rspec-support//lib/rspec/support.rb#150
227
+ def ===(exception); end
228
+ end
229
+ end
230
+
231
+ # These exceptions are dangerous to rescue as rescuing them
232
+ # would interfere with things we should not interfere with.
233
+ #
234
+ # source://rspec-support//lib/rspec/support.rb#148
235
+ RSpec::Support::AllExceptionsExceptOnesWeMustNotRescue::AVOID_RESCUING = T.let(T.unsafe(nil), Array)
236
+
237
+ # Deals with the slightly different semantics of block arguments.
238
+ # For methods, arguments are required unless a default value is provided.
239
+ # For blocks, arguments are optional, even if no default value is provided.
240
+ #
241
+ # However, we want to treat block args as required since you virtually
242
+ # always want to pass a value for each received argument and our
243
+ # `and_yield` has treated block args as required for many years.
244
+ #
245
+ # @api private
246
+ #
247
+ # source://rspec-support//lib/rspec/support/method_signature_verifier.rb#293
248
+ class RSpec::Support::BlockSignature < ::RSpec::Support::MethodSignature
249
+ # @api private
250
+ #
251
+ # source://rspec-support//lib/rspec/support/method_signature_verifier.rb#295
252
+ def classify_parameters; end
253
+ end
254
+
255
+ # @private
256
+ #
257
+ # source://rspec-support//lib/rspec/support/comparable_version.rb#6
258
+ class RSpec::Support::ComparableVersion
259
+ include ::Comparable
260
+
261
+ # @return [ComparableVersion] a new instance of ComparableVersion
262
+ #
263
+ # source://rspec-support//lib/rspec/support/comparable_version.rb#11
264
+ def initialize(string); end
265
+
266
+ # source://rspec-support//lib/rspec/support/comparable_version.rb#15
267
+ def <=>(other); end
268
+
269
+ # source://rspec-support//lib/rspec/support/comparable_version.rb#37
270
+ def segments; end
271
+
272
+ # Returns the value of attribute string.
273
+ #
274
+ # source://rspec-support//lib/rspec/support/comparable_version.rb#9
275
+ def string; end
276
+ end
277
+
278
+ # @private
279
+ #
280
+ # source://rspec-support//lib/rspec/support.rb#110
281
+ RSpec::Support::DEFAULT_FAILURE_NOTIFIER = T.let(T.unsafe(nil), Proc)
282
+
283
+ # @private
284
+ #
285
+ # source://rspec-support//lib/rspec/support.rb#137
286
+ RSpec::Support::DEFAULT_WARNING_NOTIFIER = T.let(T.unsafe(nil), Proc)
287
+
288
+ # source://rspec-support//lib/rspec/support/differ.rb#12
289
+ class RSpec::Support::Differ
290
+ # @return [Differ] a new instance of Differ
291
+ #
292
+ # source://rspec-support//lib/rspec/support/differ.rb#69
293
+ def initialize(opts = T.unsafe(nil)); end
294
+
295
+ # @return [Boolean]
296
+ #
297
+ # source://rspec-support//lib/rspec/support/differ.rb#65
298
+ def color?; end
299
+
300
+ # source://rspec-support//lib/rspec/support/differ.rb#13
301
+ def diff(actual, expected); end
302
+
303
+ # source://rspec-support//lib/rspec/support/differ.rb#59
304
+ def diff_as_object(actual, expected); end
305
+
306
+ # source://rspec-support//lib/rspec/support/differ.rb#30
307
+ def diff_as_string(actual, expected); end
308
+
309
+ private
310
+
311
+ # source://rspec-support//lib/rspec/support/differ.rb#130
312
+ def add_old_hunk_to_hunk(hunk, oldhunk); end
313
+
314
+ # source://rspec-support//lib/rspec/support/differ.rb#126
315
+ def add_to_output(output, string); end
316
+
317
+ # @return [Boolean]
318
+ #
319
+ # source://rspec-support//lib/rspec/support/differ.rb#80
320
+ def all_strings?(*args); end
321
+
322
+ # @return [Boolean]
323
+ #
324
+ # source://rspec-support//lib/rspec/support/differ.rb#84
325
+ def any_multiline_strings?(*args); end
326
+
327
+ # source://rspec-support//lib/rspec/support/differ.rb#155
328
+ def blue(text); end
329
+
330
+ # source://rspec-support//lib/rspec/support/differ.rb#117
331
+ def build_hunks(actual, expected); end
332
+
333
+ # source://rspec-support//lib/rspec/support/differ.rb#92
334
+ def coerce_to_string(string_or_array); end
335
+
336
+ # source://rspec-support//lib/rspec/support/differ.rb#143
337
+ def color(text, color_code); end
338
+
339
+ # source://rspec-support//lib/rspec/support/differ.rb#163
340
+ def color_diff(diff); end
341
+
342
+ # source://rspec-support//lib/rspec/support/differ.rb#97
343
+ def diffably_stringify(array); end
344
+
345
+ # source://rspec-support//lib/rspec/support/differ.rb#121
346
+ def finalize_output(output, final_line); end
347
+
348
+ # source://rspec-support//lib/rspec/support/differ.rb#139
349
+ def format_type; end
350
+
351
+ # source://rspec-support//lib/rspec/support/differ.rb#151
352
+ def green(text); end
353
+
354
+ # source://rspec-support//lib/rspec/support/differ.rb#204
355
+ def handle_encoding_errors(actual, expected); end
356
+
357
+ # source://rspec-support//lib/rspec/support/differ.rb#194
358
+ def hash_to_string(hash); end
359
+
360
+ # @return [Boolean]
361
+ #
362
+ # source://rspec-support//lib/rspec/support/differ.rb#108
363
+ def multiline?(string); end
364
+
365
+ # @return [Boolean]
366
+ #
367
+ # source://rspec-support//lib/rspec/support/differ.rb#88
368
+ def no_numbers?(*args); end
369
+
370
+ # @return [Boolean]
371
+ #
372
+ # source://rspec-support//lib/rspec/support/differ.rb#76
373
+ def no_procs?(*args); end
374
+
375
+ # source://rspec-support//lib/rspec/support/differ.rb#159
376
+ def normal(text); end
377
+
378
+ # source://rspec-support//lib/rspec/support/differ.rb#180
379
+ def object_to_string(object); end
380
+
381
+ # source://rspec-support//lib/rspec/support/differ.rb#147
382
+ def red(text); end
383
+
384
+ # source://rspec-support//lib/rspec/support/differ.rb#134
385
+ def safely_flatten(array); end
386
+ end
387
+
388
+ # Replacement for fileutils#mkdir_p because we don't want to require parts
389
+ # of stdlib in RSpec.
390
+ #
391
+ # @api private
392
+ #
393
+ # source://rspec-support//lib/rspec/support/directory_maker.rb#11
394
+ class RSpec::Support::DirectoryMaker
395
+ class << self
396
+ # Implements nested directory construction
397
+ #
398
+ # @api private
399
+ #
400
+ # source://rspec-support//lib/rspec/support/directory_maker.rb#15
401
+ def mkdir_p(path); end
402
+
403
+ private
404
+
405
+ # @api private
406
+ # @return [Boolean]
407
+ #
408
+ # source://rspec-support//lib/rspec/support/directory_maker.rb#57
409
+ def directory_exists?(dirname); end
410
+
411
+ # @api private
412
+ #
413
+ # source://rspec-support//lib/rspec/support/directory_maker.rb#52
414
+ def generate_path(stack, part); end
415
+
416
+ # @api private
417
+ #
418
+ # source://rspec-support//lib/rspec/support/directory_maker.rb#49
419
+ def generate_stack(path); end
420
+ end
421
+ end
422
+
423
+ # @private
424
+ #
425
+ # source://rspec-support//lib/rspec/support/encoded_string.rb#6
426
+ class RSpec::Support::EncodedString
427
+ # @return [EncodedString] a new instance of EncodedString
428
+ #
429
+ # source://rspec-support//lib/rspec/support/encoded_string.rb#16
430
+ def initialize(string, encoding = T.unsafe(nil)); end
431
+
432
+ # source://rspec-support//lib/rspec/support/encoded_string.rb#28
433
+ def <<(string); end
434
+
435
+ # source://rspec-support//lib/rspec/support/encoded_string.rb#25
436
+ def ==(*args, &block); end
437
+
438
+ # source://rspec-support//lib/rspec/support/encoded_string.rb#25
439
+ def empty?(*args, &block); end
440
+
441
+ # source://rspec-support//lib/rspec/support/encoded_string.rb#25
442
+ def encoding(*args, &block); end
443
+
444
+ # source://rspec-support//lib/rspec/support/encoded_string.rb#25
445
+ def eql?(*args, &block); end
446
+
447
+ # source://rspec-support//lib/rspec/support/encoded_string.rb#25
448
+ def lines(*args, &block); end
449
+
450
+ # Returns the value of attribute source_encoding.
451
+ #
452
+ # source://rspec-support//lib/rspec/support/encoded_string.rb#21
453
+ def source_encoding; end
454
+
455
+ # source://rspec-support//lib/rspec/support/encoded_string.rb#41
456
+ def split(regex_or_string); end
457
+
458
+ # source://rspec-support//lib/rspec/support/encoded_string.rb#46
459
+ def to_s; end
460
+
461
+ # source://rspec-support//lib/rspec/support/encoded_string.rb#46
462
+ def to_str; end
463
+
464
+ private
465
+
466
+ # source://rspec-support//lib/rspec/support/encoded_string.rb#139
467
+ def detect_source_encoding(string); end
468
+
469
+ # Encoding Exceptions:
470
+ #
471
+ # Raised by Encoding and String methods:
472
+ # Encoding::UndefinedConversionError:
473
+ # when a transcoding operation fails
474
+ # if the String contains characters invalid for the target encoding
475
+ # e.g. "\x80".encode('UTF-8','ASCII-8BIT')
476
+ # vs "\x80".encode('UTF-8','ASCII-8BIT', undef: :replace, replace: '<undef>')
477
+ # # => '<undef>'
478
+ # Encoding::CompatibilityError
479
+ # when Encoding.compatible?(str1, str2) is nil
480
+ # e.g. utf_16le_emoji_string.split("\n")
481
+ # e.g. valid_unicode_string.encode(utf8_encoding) << ascii_string
482
+ # Encoding::InvalidByteSequenceError:
483
+ # when the string being transcoded contains a byte invalid for
484
+ # either the source or target encoding
485
+ # e.g. "\x80".encode('UTF-8','US-ASCII')
486
+ # vs "\x80".encode('UTF-8','US-ASCII', invalid: :replace, replace: '<byte>')
487
+ # # => '<byte>'
488
+ # ArgumentError
489
+ # when operating on a string with invalid bytes
490
+ # e.g."\x80".split("\n")
491
+ # TypeError
492
+ # when a symbol is passed as an encoding
493
+ # Encoding.find(:"UTF-8")
494
+ # when calling force_encoding on an object
495
+ # that doesn't respond to #to_str
496
+ #
497
+ # Raised by transcoding methods:
498
+ # Encoding::ConverterNotFoundError:
499
+ # when a named encoding does not correspond with a known converter
500
+ # e.g. 'abc'.force_encoding('UTF-8').encode('foo')
501
+ # or a converter path cannot be found
502
+ # e.g. "\x80".force_encoding('ASCII-8BIT').encode('Emacs-Mule')
503
+ #
504
+ # Raised by byte <-> char conversions
505
+ # RangeError: out of char range
506
+ # e.g. the UTF-16LE emoji: 128169.chr
507
+ #
508
+ # source://rspec-support//lib/rspec/support/encoded_string.rb#93
509
+ def matching_encoding(string); end
510
+
511
+ # http://stackoverflow.com/a/8711118/879854
512
+ # Loop over chars in a string replacing chars
513
+ # with invalid encoding, which is a pretty good proxy
514
+ # for the invalid byte sequence that causes an ArgumentError
515
+ #
516
+ # source://rspec-support//lib/rspec/support/encoded_string.rb#124
517
+ def remove_invalid_bytes(string); end
518
+
519
+ class << self
520
+ # source://rspec-support//lib/rspec/support/encoded_string.rb#143
521
+ def pick_encoding(source_a, source_b); end
522
+ end
523
+ end
524
+
525
+ # Ruby's default replacement string is:
526
+ # U+FFFD ("\xEF\xBF\xBD"), for Unicode encoding forms, else
527
+ # ? ("\x3F")
528
+ #
529
+ # source://rspec-support//lib/rspec/support/encoded_string.rb#14
530
+ RSpec::Support::EncodedString::REPLACE = T.let(T.unsafe(nil), String)
531
+
532
+ # source://rspec-support//lib/rspec/support/encoded_string.rb#9
533
+ RSpec::Support::EncodedString::US_ASCII = T.let(T.unsafe(nil), String)
534
+
535
+ # Reduce allocations by storing constants.
536
+ #
537
+ # source://rspec-support//lib/rspec/support/encoded_string.rb#8
538
+ RSpec::Support::EncodedString::UTF_8 = T.let(T.unsafe(nil), String)
539
+
540
+ # @private
541
+ #
542
+ # source://rspec-support//lib/rspec/support/hunk_generator.rb#9
543
+ class RSpec::Support::HunkGenerator
544
+ # @return [HunkGenerator] a new instance of HunkGenerator
545
+ #
546
+ # source://rspec-support//lib/rspec/support/hunk_generator.rb#10
547
+ def initialize(actual, expected); end
548
+
549
+ # source://rspec-support//lib/rspec/support/hunk_generator.rb#15
550
+ def hunks; end
551
+
552
+ private
553
+
554
+ # source://rspec-support//lib/rspec/support/hunk_generator.rb#32
555
+ def actual_lines; end
556
+
557
+ # source://rspec-support//lib/rspec/support/hunk_generator.rb#36
558
+ def build_hunk(piece); end
559
+
560
+ # source://rspec-support//lib/rspec/support/hunk_generator.rb#44
561
+ def context_lines; end
562
+
563
+ # source://rspec-support//lib/rspec/support/hunk_generator.rb#24
564
+ def diffs; end
565
+
566
+ # source://rspec-support//lib/rspec/support/hunk_generator.rb#28
567
+ def expected_lines; end
568
+ end
569
+
570
+ # @api private
571
+ #
572
+ # source://rspec-support//lib/rspec/support.rb#40
573
+ RSpec::Support::KERNEL_METHOD_METHOD = T.let(T.unsafe(nil), UnboundMethod)
574
+
575
+ # Allows matchers to be used instead of providing keyword arguments. In
576
+ # practice, when this happens only the arity of the method is verified.
577
+ #
578
+ # @private
579
+ #
580
+ # source://rspec-support//lib/rspec/support/method_signature_verifier.rb#420
581
+ class RSpec::Support::LooseSignatureVerifier < ::RSpec::Support::MethodSignatureVerifier
582
+ private
583
+
584
+ # source://rspec-support//lib/rspec/support/method_signature_verifier.rb#423
585
+ def split_args(args); end
586
+ end
587
+
588
+ # If a matcher is used in a signature in place of keyword arguments, all
589
+ # keyword argument validation needs to be skipped since the matcher is
590
+ # opaque.
591
+ #
592
+ # Instead, keyword arguments will be validated when the method is called
593
+ # and they are actually known.
594
+ #
595
+ # @private
596
+ #
597
+ # source://rspec-support//lib/rspec/support/method_signature_verifier.rb#440
598
+ class RSpec::Support::LooseSignatureVerifier::SignatureWithKeywordArgumentsMatcher
599
+ # @return [SignatureWithKeywordArgumentsMatcher] a new instance of SignatureWithKeywordArgumentsMatcher
600
+ #
601
+ # source://rspec-support//lib/rspec/support/method_signature_verifier.rb#441
602
+ def initialize(signature); end
603
+
604
+ # @return [Boolean]
605
+ #
606
+ # source://rspec-support//lib/rspec/support/method_signature_verifier.rb#461
607
+ def has_kw_args_in?(args); end
608
+
609
+ # source://rspec-support//lib/rspec/support/method_signature_verifier.rb#449
610
+ def invalid_kw_args_from(_kw_args); end
611
+
612
+ # source://rspec-support//lib/rspec/support/method_signature_verifier.rb#445
613
+ def missing_kw_args_from(_kw_args); end
614
+
615
+ # source://rspec-support//lib/rspec/support/method_signature_verifier.rb#453
616
+ def non_kw_args_arity_description; end
617
+
618
+ # @return [Boolean]
619
+ #
620
+ # source://rspec-support//lib/rspec/support/method_signature_verifier.rb#457
621
+ def valid_non_kw_args?(*args); end
622
+ end
623
+
624
+ # Extracts info about the number of arguments and allowed/required
625
+ # keyword args of a given method.
626
+ #
627
+ # @private
628
+ #
629
+ # source://rspec-support//lib/rspec/support/method_signature_verifier.rb#13
630
+ class RSpec::Support::MethodSignature
631
+ # @return [MethodSignature] a new instance of MethodSignature
632
+ #
633
+ # source://rspec-support//lib/rspec/support/method_signature_verifier.rb#16
634
+ def initialize(method); end
635
+
636
+ # @return [Boolean]
637
+ #
638
+ # source://rspec-support//lib/rspec/support/method_signature_verifier.rb#123
639
+ def arbitrary_kw_args?; end
640
+
641
+ # source://rspec-support//lib/rspec/support/method_signature_verifier.rb#38
642
+ def classify_arity(arity = T.unsafe(nil)); end
643
+
644
+ # source://rspec-support//lib/rspec/support/method_signature_verifier.rb#131
645
+ def classify_parameters; end
646
+
647
+ # Without considering what the last arg is, could it
648
+ # contain keyword arguments?
649
+ #
650
+ # @return [Boolean]
651
+ #
652
+ # source://rspec-support//lib/rspec/support/method_signature_verifier.rb#117
653
+ def could_contain_kw_args?(args); end
654
+
655
+ # source://rspec-support//lib/rspec/support/method_signature_verifier.rb#51
656
+ def description; end
657
+
658
+ # @return [Boolean]
659
+ #
660
+ # source://rspec-support//lib/rspec/support/method_signature_verifier.rb#84
661
+ def has_kw_args_in?(args); end
662
+
663
+ # source://rspec-support//lib/rspec/support/method_signature_verifier.rb#77
664
+ def invalid_kw_args_from(given_kw_args); end
665
+
666
+ # source://rspec-support//lib/rspec/support/method_signature_verifier.rb#14
667
+ def max_non_kw_args; end
668
+
669
+ # source://rspec-support//lib/rspec/support/method_signature_verifier.rb#14
670
+ def min_non_kw_args; end
671
+
672
+ # source://rspec-support//lib/rspec/support/method_signature_verifier.rb#73
673
+ def missing_kw_args_from(given_kw_args); end
674
+
675
+ # source://rspec-support//lib/rspec/support/method_signature_verifier.rb#23
676
+ def non_kw_args_arity_description; end
677
+
678
+ # source://rspec-support//lib/rspec/support/method_signature_verifier.rb#14
679
+ def optional_kw_args; end
680
+
681
+ # source://rspec-support//lib/rspec/support/method_signature_verifier.rb#14
682
+ def required_kw_args; end
683
+
684
+ # @return [Boolean]
685
+ #
686
+ # source://rspec-support//lib/rspec/support/method_signature_verifier.rb#127
687
+ def unlimited_args?; end
688
+
689
+ # @return [Boolean]
690
+ #
691
+ # source://rspec-support//lib/rspec/support/method_signature_verifier.rb#31
692
+ def valid_non_kw_args?(positional_arg_count, optional_max_arg_count = T.unsafe(nil)); end
693
+ end
694
+
695
+ # source://rspec-support//lib/rspec/support/method_signature_verifier.rb#187
696
+ RSpec::Support::MethodSignature::INFINITY = T.let(T.unsafe(nil), Float)
697
+
698
+ # Encapsulates expectations about the number of arguments and
699
+ # allowed/required keyword args of a given method.
700
+ #
701
+ # @api private
702
+ #
703
+ # source://rspec-support//lib/rspec/support/method_signature_verifier.rb#244
704
+ class RSpec::Support::MethodSignatureExpectation
705
+ # @api private
706
+ # @return [MethodSignatureExpectation] a new instance of MethodSignatureExpectation
707
+ #
708
+ # source://rspec-support//lib/rspec/support/method_signature_verifier.rb#245
709
+ def initialize; end
710
+
711
+ # @api private
712
+ # @return [Boolean]
713
+ #
714
+ # source://rspec-support//lib/rspec/support/method_signature_verifier.rb#272
715
+ def empty?; end
716
+
717
+ # @api private
718
+ #
719
+ # source://rspec-support//lib/rspec/support/method_signature_verifier.rb#256
720
+ def expect_arbitrary_keywords; end
721
+
722
+ # @api private
723
+ #
724
+ # source://rspec-support//lib/rspec/support/method_signature_verifier.rb#256
725
+ def expect_arbitrary_keywords=(_arg0); end
726
+
727
+ # @api private
728
+ #
729
+ # source://rspec-support//lib/rspec/support/method_signature_verifier.rb#256
730
+ def expect_unlimited_arguments; end
731
+
732
+ # @api private
733
+ #
734
+ # source://rspec-support//lib/rspec/support/method_signature_verifier.rb#256
735
+ def expect_unlimited_arguments=(_arg0); end
736
+
737
+ # @api private
738
+ #
739
+ # source://rspec-support//lib/rspec/support/method_signature_verifier.rb#254
740
+ def keywords; end
741
+
742
+ # @api private
743
+ #
744
+ # source://rspec-support//lib/rspec/support/method_signature_verifier.rb#279
745
+ def keywords=(values); end
746
+
747
+ # @api private
748
+ #
749
+ # source://rspec-support//lib/rspec/support/method_signature_verifier.rb#254
750
+ def max_count; end
751
+
752
+ # @api private
753
+ # @raise [ArgumentError]
754
+ #
755
+ # source://rspec-support//lib/rspec/support/method_signature_verifier.rb#258
756
+ def max_count=(number); end
757
+
758
+ # @api private
759
+ #
760
+ # source://rspec-support//lib/rspec/support/method_signature_verifier.rb#254
761
+ def min_count; end
762
+
763
+ # @api private
764
+ # @raise [ArgumentError]
765
+ #
766
+ # source://rspec-support//lib/rspec/support/method_signature_verifier.rb#265
767
+ def min_count=(number); end
768
+ end
769
+
770
+ # Abstract base class for signature verifiers.
771
+ #
772
+ # @api private
773
+ #
774
+ # source://rspec-support//lib/rspec/support/method_signature_verifier.rb#305
775
+ class RSpec::Support::MethodSignatureVerifier
776
+ # @api private
777
+ # @return [MethodSignatureVerifier] a new instance of MethodSignatureVerifier
778
+ #
779
+ # source://rspec-support//lib/rspec/support/method_signature_verifier.rb#308
780
+ def initialize(signature, args = T.unsafe(nil)); end
781
+
782
+ # @api private
783
+ #
784
+ # source://rspec-support//lib/rspec/support/method_signature_verifier.rb#351
785
+ def error_message; end
786
+
787
+ # @api private
788
+ #
789
+ # source://rspec-support//lib/rspec/support/method_signature_verifier.rb#306
790
+ def kw_args; end
791
+
792
+ # @api private
793
+ #
794
+ # source://rspec-support//lib/rspec/support/method_signature_verifier.rb#306
795
+ def max_non_kw_args; end
796
+
797
+ # @api private
798
+ #
799
+ # source://rspec-support//lib/rspec/support/method_signature_verifier.rb#306
800
+ def min_non_kw_args; end
801
+
802
+ # @api private
803
+ #
804
+ # source://rspec-support//lib/rspec/support/method_signature_verifier.rb#306
805
+ def non_kw_args; end
806
+
807
+ # @api private
808
+ # @return [Boolean]
809
+ #
810
+ # source://rspec-support//lib/rspec/support/method_signature_verifier.rb#343
811
+ def valid?; end
812
+
813
+ # @api private
814
+ #
815
+ # source://rspec-support//lib/rspec/support/method_signature_verifier.rb#315
816
+ def with_expectation(expectation); end
817
+
818
+ private
819
+
820
+ # @api private
821
+ # @return [Boolean]
822
+ #
823
+ # source://rspec-support//lib/rspec/support/method_signature_verifier.rb#382
824
+ def arbitrary_kw_args?; end
825
+
826
+ # @api private
827
+ #
828
+ # source://rspec-support//lib/rspec/support/method_signature_verifier.rb#378
829
+ def invalid_kw_args; end
830
+
831
+ # @api private
832
+ #
833
+ # source://rspec-support//lib/rspec/support/method_signature_verifier.rb#374
834
+ def missing_kw_args; end
835
+
836
+ # @api private
837
+ #
838
+ # source://rspec-support//lib/rspec/support/method_signature_verifier.rb#390
839
+ def split_args(args); end
840
+
841
+ # @api private
842
+ # @return [Boolean]
843
+ #
844
+ # source://rspec-support//lib/rspec/support/method_signature_verifier.rb#386
845
+ def unlimited_args?; end
846
+
847
+ # @api private
848
+ # @return [Boolean]
849
+ #
850
+ # source://rspec-support//lib/rspec/support/method_signature_verifier.rb#370
851
+ def valid_non_kw_args?; end
852
+ end
853
+
854
+ # On 1.9 and up, this is in core, so we just use the real one
855
+ #
856
+ # source://rspec-support//lib/rspec/support/reentrant_mutex.rb#65
857
+ class RSpec::Support::Mutex < ::Thread::Mutex
858
+ class << self
859
+ # source://rspec-support//lib/rspec/support/reentrant_mutex.rb#70
860
+ def new; end
861
+ end
862
+ end
863
+
864
+ # If you mock Mutex.new you break our usage of Mutex, so
865
+ # instead we capture the original method to return Mutexes.
866
+ #
867
+ # source://rspec-support//lib/rspec/support/reentrant_mutex.rb#68
868
+ RSpec::Support::Mutex::NEW_MUTEX_METHOD = T.let(T.unsafe(nil), Method)
869
+
870
+ # Provides query methods for different OS or OS features.
871
+ #
872
+ # @api private
873
+ #
874
+ # source://rspec-support//lib/rspec/support/ruby_features.rb#11
875
+ module RSpec::Support::OS
876
+ private
877
+
878
+ # @api private
879
+ #
880
+ # source://rspec-support//lib/rspec/support/ruby_features.rb#14
881
+ def windows?; end
882
+
883
+ # @api private
884
+ #
885
+ # source://rspec-support//lib/rspec/support/ruby_features.rb#18
886
+ def windows_file_path?; end
887
+
888
+ class << self
889
+ # @api private
890
+ # @return [Boolean]
891
+ #
892
+ # source://rspec-support//lib/rspec/support/ruby_features.rb#14
893
+ def windows?; end
894
+
895
+ # @api private
896
+ # @return [Boolean]
897
+ #
898
+ # source://rspec-support//lib/rspec/support/ruby_features.rb#18
899
+ def windows_file_path?; end
900
+ end
901
+ end
902
+
903
+ # Provide additional output details beyond what `inspect` provides when
904
+ # printing Time, DateTime, or BigDecimal
905
+ #
906
+ # @api private
907
+ #
908
+ # source://rspec-support//lib/rspec/support/object_formatter.rb#10
909
+ class RSpec::Support::ObjectFormatter
910
+ # @api private
911
+ # @return [ObjectFormatter] a new instance of ObjectFormatter
912
+ #
913
+ # source://rspec-support//lib/rspec/support/object_formatter.rb#29
914
+ def initialize(max_formatted_output_length = T.unsafe(nil)); end
915
+
916
+ # @api private
917
+ #
918
+ # source://rspec-support//lib/rspec/support/object_formatter.rb#34
919
+ def format(object); end
920
+
921
+ # @api private
922
+ #
923
+ # source://rspec-support//lib/rspec/support/object_formatter.rb#13
924
+ def max_formatted_output_length; end
925
+
926
+ # @api private
927
+ #
928
+ # source://rspec-support//lib/rspec/support/object_formatter.rb#13
929
+ def max_formatted_output_length=(_arg0); end
930
+
931
+ # @api private
932
+ #
933
+ # source://rspec-support//lib/rspec/support/object_formatter.rb#72
934
+ def prepare_array(array); end
935
+
936
+ # @api private
937
+ #
938
+ # source://rspec-support//lib/rspec/support/object_formatter.rb#96
939
+ def prepare_element(element); end
940
+
941
+ # Prepares the provided object to be formatted by wrapping it as needed
942
+ # in something that, when `inspect` is called on it, will produce the
943
+ # desired output.
944
+ #
945
+ # This allows us to apply the desired formatting to hash/array data structures
946
+ # at any level of nesting, simply by walking that structure and replacing items
947
+ # with custom items that have `inspect` defined to return the desired output
948
+ # for that item. Then we can just use `Array#inspect` or `Hash#inspect` to
949
+ # format the entire thing.
950
+ #
951
+ # @api private
952
+ #
953
+ # source://rspec-support//lib/rspec/support/object_formatter.rb#58
954
+ def prepare_for_inspection(object); end
955
+
956
+ # @api private
957
+ #
958
+ # source://rspec-support//lib/rspec/support/object_formatter.rb#78
959
+ def prepare_hash(input_hash); end
960
+
961
+ # @api private
962
+ # @return [Boolean]
963
+ #
964
+ # source://rspec-support//lib/rspec/support/object_formatter.rb#115
965
+ def recursive_structure?(object); end
966
+
967
+ # @api private
968
+ #
969
+ # source://rspec-support//lib/rspec/support/object_formatter.rb#88
970
+ def sort_hash_keys(input_hash); end
971
+
972
+ # @api private
973
+ #
974
+ # source://rspec-support//lib/rspec/support/object_formatter.rb#108
975
+ def with_entering_structure(structure); end
976
+
977
+ private
978
+
979
+ # Returns the substring defined by the start_index and end_index
980
+ # If the string ends with a partial ANSI code code then that
981
+ # will be removed as printing partial ANSI
982
+ # codes to the terminal can lead to corruption
983
+ #
984
+ # @api private
985
+ #
986
+ # source://rspec-support//lib/rspec/support/object_formatter.rb#270
987
+ def truncate_string(str, start_index, end_index); end
988
+
989
+ class << self
990
+ # Methods are deferred to a default instance of the class to maintain the interface
991
+ # For example, calling ObjectFormatter.format is still possible
992
+ #
993
+ # @api private
994
+ #
995
+ # source://rspec-support//lib/rspec/support/object_formatter.rb#17
996
+ def default_instance; end
997
+
998
+ # @api private
999
+ #
1000
+ # source://rspec-support//lib/rspec/support/object_formatter.rb#21
1001
+ def format(object); end
1002
+
1003
+ # @api private
1004
+ #
1005
+ # source://rspec-support//lib/rspec/support/object_formatter.rb#25
1006
+ def prepare_for_inspection(object); end
1007
+ end
1008
+ end
1009
+
1010
+ # @api private
1011
+ #
1012
+ # source://rspec-support//lib/rspec/support/object_formatter.rb#129
1013
+ class RSpec::Support::ObjectFormatter::BaseInspector < ::Struct
1014
+ # Returns the value of attribute formatter
1015
+ #
1016
+ # @return [Object] the current value of formatter
1017
+ def formatter; end
1018
+
1019
+ # Sets the attribute formatter
1020
+ #
1021
+ # @param value [Object] the value to set the attribute formatter to.
1022
+ # @return [Object] the newly set value
1023
+ def formatter=(_); end
1024
+
1025
+ # @api private
1026
+ # @raise [NotImplementedError]
1027
+ #
1028
+ # source://rspec-support//lib/rspec/support/object_formatter.rb#134
1029
+ def inspect; end
1030
+
1031
+ # Returns the value of attribute object
1032
+ #
1033
+ # @return [Object] the current value of object
1034
+ def object; end
1035
+
1036
+ # Sets the attribute object
1037
+ #
1038
+ # @param value [Object] the value to set the attribute object to.
1039
+ # @return [Object] the newly set value
1040
+ def object=(_); end
1041
+
1042
+ # @api private
1043
+ #
1044
+ # source://rspec-support//lib/rspec/support/object_formatter.rb#138
1045
+ def pretty_print(pp); end
1046
+
1047
+ class << self
1048
+ def [](*_arg0); end
1049
+
1050
+ # @api private
1051
+ # @raise [NotImplementedError]
1052
+ # @return [Boolean]
1053
+ #
1054
+ # source://rspec-support//lib/rspec/support/object_formatter.rb#130
1055
+ def can_inspect?(_object); end
1056
+
1057
+ def inspect; end
1058
+ def keyword_init?; end
1059
+ def members; end
1060
+ def new(*_arg0); end
1061
+ end
1062
+ end
1063
+
1064
+ # @api private
1065
+ #
1066
+ # source://rspec-support//lib/rspec/support/object_formatter.rb#179
1067
+ class RSpec::Support::ObjectFormatter::BigDecimalInspector < ::RSpec::Support::ObjectFormatter::BaseInspector
1068
+ # @api private
1069
+ #
1070
+ # source://rspec-support//lib/rspec/support/object_formatter.rb#184
1071
+ def inspect; end
1072
+
1073
+ class << self
1074
+ # @api private
1075
+ # @return [Boolean]
1076
+ #
1077
+ # source://rspec-support//lib/rspec/support/object_formatter.rb#180
1078
+ def can_inspect?(object); end
1079
+ end
1080
+ end
1081
+
1082
+ # @api private
1083
+ #
1084
+ # source://rspec-support//lib/rspec/support/object_formatter.rb#161
1085
+ class RSpec::Support::ObjectFormatter::DateTimeInspector < ::RSpec::Support::ObjectFormatter::BaseInspector
1086
+ # ActiveSupport sometimes overrides inspect. If `ActiveSupport` is
1087
+ # defined use a custom format string that includes more time precision.
1088
+ #
1089
+ # @api private
1090
+ #
1091
+ # source://rspec-support//lib/rspec/support/object_formatter.rb#170
1092
+ def inspect; end
1093
+
1094
+ class << self
1095
+ # @api private
1096
+ # @return [Boolean]
1097
+ #
1098
+ # source://rspec-support//lib/rspec/support/object_formatter.rb#164
1099
+ def can_inspect?(object); end
1100
+ end
1101
+ end
1102
+
1103
+ # @api private
1104
+ #
1105
+ # source://rspec-support//lib/rspec/support/object_formatter.rb#162
1106
+ RSpec::Support::ObjectFormatter::DateTimeInspector::FORMAT = T.let(T.unsafe(nil), String)
1107
+
1108
+ # @api private
1109
+ #
1110
+ # source://rspec-support//lib/rspec/support/object_formatter.rb#226
1111
+ class RSpec::Support::ObjectFormatter::DelegatorInspector < ::RSpec::Support::ObjectFormatter::BaseInspector
1112
+ # @api private
1113
+ #
1114
+ # source://rspec-support//lib/rspec/support/object_formatter.rb#231
1115
+ def inspect; end
1116
+
1117
+ class << self
1118
+ # @api private
1119
+ # @return [Boolean]
1120
+ #
1121
+ # source://rspec-support//lib/rspec/support/object_formatter.rb#227
1122
+ def can_inspect?(object); end
1123
+ end
1124
+ end
1125
+
1126
+ # @api private
1127
+ #
1128
+ # source://rspec-support//lib/rspec/support/object_formatter.rb#189
1129
+ class RSpec::Support::ObjectFormatter::DescribableMatcherInspector < ::RSpec::Support::ObjectFormatter::BaseInspector
1130
+ # @api private
1131
+ #
1132
+ # source://rspec-support//lib/rspec/support/object_formatter.rb#194
1133
+ def inspect; end
1134
+
1135
+ class << self
1136
+ # @api private
1137
+ # @return [Boolean]
1138
+ #
1139
+ # source://rspec-support//lib/rspec/support/object_formatter.rb#190
1140
+ def can_inspect?(object); end
1141
+ end
1142
+ end
1143
+
1144
+ # @api private
1145
+ #
1146
+ # source://rspec-support//lib/rspec/support/object_formatter.rb#11
1147
+ RSpec::Support::ObjectFormatter::ELLIPSIS = T.let(T.unsafe(nil), String)
1148
+
1149
+ # @api private
1150
+ #
1151
+ # source://rspec-support//lib/rspec/support/object_formatter.rb#249
1152
+ RSpec::Support::ObjectFormatter::INSPECTOR_CLASSES = T.let(T.unsafe(nil), Array)
1153
+
1154
+ # @api private
1155
+ #
1156
+ # source://rspec-support//lib/rspec/support/object_formatter.rb#119
1157
+ class RSpec::Support::ObjectFormatter::InspectableItem < ::Struct
1158
+ # @api private
1159
+ #
1160
+ # source://rspec-support//lib/rspec/support/object_formatter.rb#120
1161
+ def inspect; end
1162
+
1163
+ # @api private
1164
+ #
1165
+ # source://rspec-support//lib/rspec/support/object_formatter.rb#124
1166
+ def pretty_print(pp); end
1167
+
1168
+ # Returns the value of attribute text
1169
+ #
1170
+ # @return [Object] the current value of text
1171
+ def text; end
1172
+
1173
+ # Sets the attribute text
1174
+ #
1175
+ # @param value [Object] the value to set the attribute text to.
1176
+ # @return [Object] the newly set value
1177
+ def text=(_); end
1178
+
1179
+ class << self
1180
+ def [](*_arg0); end
1181
+ def inspect; end
1182
+ def keyword_init?; end
1183
+ def members; end
1184
+ def new(*_arg0); end
1185
+ end
1186
+ end
1187
+
1188
+ # @api private
1189
+ #
1190
+ # source://rspec-support//lib/rspec/support/object_formatter.rb#236
1191
+ class RSpec::Support::ObjectFormatter::InspectableObjectInspector < ::RSpec::Support::ObjectFormatter::BaseInspector
1192
+ # @api private
1193
+ #
1194
+ # source://rspec-support//lib/rspec/support/object_formatter.rb#244
1195
+ def inspect; end
1196
+
1197
+ class << self
1198
+ # @api private
1199
+ # @return [Boolean]
1200
+ #
1201
+ # source://rspec-support//lib/rspec/support/object_formatter.rb#237
1202
+ def can_inspect?(object); end
1203
+ end
1204
+ end
1205
+
1206
+ # @api private
1207
+ #
1208
+ # source://rspec-support//lib/rspec/support/object_formatter.rb#143
1209
+ class RSpec::Support::ObjectFormatter::TimeInspector < ::RSpec::Support::ObjectFormatter::BaseInspector
1210
+ # for 1.8.7
1211
+ #
1212
+ # @api private
1213
+ #
1214
+ # source://rspec-support//lib/rspec/support/object_formatter.rb#151
1215
+ def inspect; end
1216
+
1217
+ class << self
1218
+ # @api private
1219
+ # @return [Boolean]
1220
+ #
1221
+ # source://rspec-support//lib/rspec/support/object_formatter.rb#146
1222
+ def can_inspect?(object); end
1223
+ end
1224
+ end
1225
+
1226
+ # @api private
1227
+ #
1228
+ # source://rspec-support//lib/rspec/support/object_formatter.rb#144
1229
+ RSpec::Support::ObjectFormatter::TimeInspector::FORMAT = T.let(T.unsafe(nil), String)
1230
+
1231
+ # @api private
1232
+ #
1233
+ # source://rspec-support//lib/rspec/support/object_formatter.rb#199
1234
+ class RSpec::Support::ObjectFormatter::UninspectableObjectInspector < ::RSpec::Support::ObjectFormatter::BaseInspector
1235
+ # @api private
1236
+ #
1237
+ # source://rspec-support//lib/rspec/support/object_formatter.rb#209
1238
+ def inspect; end
1239
+
1240
+ # @api private
1241
+ #
1242
+ # source://rspec-support//lib/rspec/support/object_formatter.rb#213
1243
+ def klass; end
1244
+
1245
+ # http://stackoverflow.com/a/2818916
1246
+ #
1247
+ # @api private
1248
+ #
1249
+ # source://rspec-support//lib/rspec/support/object_formatter.rb#218
1250
+ def native_object_id; end
1251
+
1252
+ class << self
1253
+ # @api private
1254
+ # @return [Boolean]
1255
+ #
1256
+ # source://rspec-support//lib/rspec/support/object_formatter.rb#202
1257
+ def can_inspect?(object); end
1258
+ end
1259
+ end
1260
+
1261
+ # @api private
1262
+ #
1263
+ # source://rspec-support//lib/rspec/support/object_formatter.rb#200
1264
+ RSpec::Support::ObjectFormatter::UninspectableObjectInspector::OBJECT_ID_FORMAT = T.let(T.unsafe(nil), String)
1265
+
1266
+ # Provides recursive constant lookup methods useful for
1267
+ # constant stubbing.
1268
+ #
1269
+ # source://rspec-support//lib/rspec/support/recursive_const_methods.rb#7
1270
+ module RSpec::Support::RecursiveConstMethods
1271
+ # @return [Boolean]
1272
+ #
1273
+ # source://rspec-support//lib/rspec/support/recursive_const_methods.rb#45
1274
+ def const_defined_on?(mod, const_name); end
1275
+
1276
+ # source://rspec-support//lib/rspec/support/recursive_const_methods.rb#53
1277
+ def constants_defined_on(mod); end
1278
+
1279
+ # @raise [NameError]
1280
+ #
1281
+ # source://rspec-support//lib/rspec/support/recursive_const_methods.rb#49
1282
+ def get_const_defined_on(mod, const_name); end
1283
+
1284
+ # source://rspec-support//lib/rspec/support/recursive_const_methods.rb#73
1285
+ def normalize_const_name(const_name); end
1286
+
1287
+ # @return [Boolean]
1288
+ #
1289
+ # source://rspec-support//lib/rspec/support/recursive_const_methods.rb#64
1290
+ def recursive_const_defined?(const_name); end
1291
+
1292
+ # source://rspec-support//lib/rspec/support/recursive_const_methods.rb#58
1293
+ def recursive_const_get(const_name); end
1294
+ end
1295
+
1296
+ # Allows a thread to lock out other threads from a critical section of code,
1297
+ # while allowing the thread with the lock to reenter that section.
1298
+ #
1299
+ # Based on Monitor as of 2.2 -
1300
+ # https://github.com/ruby/ruby/blob/eb7ddaa3a47bf48045d26c72eb0f263a53524ebc/lib/monitor.rb#L9
1301
+ #
1302
+ # Depends on Mutex, but Mutex is only available as part of core since 1.9.1:
1303
+ # exists - http://ruby-doc.org/core-1.9.1/Mutex.html
1304
+ # dne - http://ruby-doc.org/core-1.9.0/Mutex.html
1305
+ #
1306
+ # @private
1307
+ #
1308
+ # source://rspec-support//lib/rspec/support/reentrant_mutex.rb#16
1309
+ class RSpec::Support::ReentrantMutex
1310
+ # @return [ReentrantMutex] a new instance of ReentrantMutex
1311
+ #
1312
+ # source://rspec-support//lib/rspec/support/reentrant_mutex.rb#17
1313
+ def initialize; end
1314
+
1315
+ # source://rspec-support//lib/rspec/support/reentrant_mutex.rb#23
1316
+ def synchronize; end
1317
+
1318
+ private
1319
+
1320
+ # source://rspec-support//lib/rspec/support/reentrant_mutex.rb#35
1321
+ def enter; end
1322
+
1323
+ # source://rspec-support//lib/rspec/support/reentrant_mutex.rb#40
1324
+ def exit; end
1325
+ end
1326
+
1327
+ # Provides query methods for different rubies
1328
+ #
1329
+ # @api private
1330
+ #
1331
+ # source://rspec-support//lib/rspec/support/ruby_features.rb#26
1332
+ module RSpec::Support::Ruby
1333
+ private
1334
+
1335
+ # @api private
1336
+ #
1337
+ # source://rspec-support//lib/rspec/support/ruby_features.rb#29
1338
+ def jruby?; end
1339
+
1340
+ # @api private
1341
+ #
1342
+ # source://rspec-support//lib/rspec/support/ruby_features.rb#37
1343
+ def jruby_9000?; end
1344
+
1345
+ # @api private
1346
+ #
1347
+ # source://rspec-support//lib/rspec/support/ruby_features.rb#33
1348
+ def jruby_version; end
1349
+
1350
+ # @api private
1351
+ #
1352
+ # source://rspec-support//lib/rspec/support/ruby_features.rb#49
1353
+ def mri?; end
1354
+
1355
+ # @api private
1356
+ #
1357
+ # source://rspec-support//lib/rspec/support/ruby_features.rb#45
1358
+ def non_mri?; end
1359
+
1360
+ # @api private
1361
+ #
1362
+ # source://rspec-support//lib/rspec/support/ruby_features.rb#41
1363
+ def rbx?; end
1364
+
1365
+ # @api private
1366
+ #
1367
+ # source://rspec-support//lib/rspec/support/ruby_features.rb#53
1368
+ def truffleruby?; end
1369
+
1370
+ class << self
1371
+ # @api private
1372
+ # @return [Boolean]
1373
+ #
1374
+ # source://rspec-support//lib/rspec/support/ruby_features.rb#29
1375
+ def jruby?; end
1376
+
1377
+ # @api private
1378
+ # @return [Boolean]
1379
+ #
1380
+ # source://rspec-support//lib/rspec/support/ruby_features.rb#37
1381
+ def jruby_9000?; end
1382
+
1383
+ # @api private
1384
+ #
1385
+ # source://rspec-support//lib/rspec/support/ruby_features.rb#33
1386
+ def jruby_version; end
1387
+
1388
+ # @api private
1389
+ # @return [Boolean]
1390
+ #
1391
+ # source://rspec-support//lib/rspec/support/ruby_features.rb#49
1392
+ def mri?; end
1393
+
1394
+ # @api private
1395
+ # @return [Boolean]
1396
+ #
1397
+ # source://rspec-support//lib/rspec/support/ruby_features.rb#45
1398
+ def non_mri?; end
1399
+
1400
+ # @api private
1401
+ # @return [Boolean]
1402
+ #
1403
+ # source://rspec-support//lib/rspec/support/ruby_features.rb#41
1404
+ def rbx?; end
1405
+
1406
+ # @api private
1407
+ # @return [Boolean]
1408
+ #
1409
+ # source://rspec-support//lib/rspec/support/ruby_features.rb#53
1410
+ def truffleruby?; end
1411
+ end
1412
+ end
1413
+
1414
+ # Provides query methods for ruby features that differ among
1415
+ # implementations.
1416
+ #
1417
+ # @api private
1418
+ #
1419
+ # source://rspec-support//lib/rspec/support/ruby_features.rb#62
1420
+ module RSpec::Support::RubyFeatures
1421
+ private
1422
+
1423
+ # @api private
1424
+ #
1425
+ # source://rspec-support//lib/rspec/support/ruby_features.rb#85
1426
+ def caller_locations_supported?; end
1427
+
1428
+ # @api private
1429
+ #
1430
+ # source://rspec-support//lib/rspec/support/ruby_features.rb#155
1431
+ def distincts_kw_args_from_positional_hash?; end
1432
+
1433
+ # On JRuby 1.7 `--1.8` mode, `Process.respond_to?(:fork)` returns true,
1434
+ # but when you try to fork, it raises an error:
1435
+ # NotImplementedError: fork is not available on this platform
1436
+ #
1437
+ # When we drop support for JRuby 1.7 and/or Ruby 1.8, we can drop
1438
+ # this special case.
1439
+ #
1440
+ # @api private
1441
+ # @return [Boolean]
1442
+ #
1443
+ # source://rspec-support//lib/rspec/support/ruby_features.rb#76
1444
+ def fork_supported?; end
1445
+
1446
+ # https://rubyreferences.github.io/rubychanges/3.0.html#keyword-arguments-are-now-fully-separated-from-positional-arguments
1447
+ #
1448
+ # @api private
1449
+ # @return [Boolean]
1450
+ #
1451
+ # source://rspec-support//lib/rspec/support/ruby_features.rb#111
1452
+ def kw_arg_separation?; end
1453
+
1454
+ # @api private
1455
+ # @return [Boolean]
1456
+ #
1457
+ # source://rspec-support//lib/rspec/support/ruby_features.rb#160
1458
+ def kw_args_supported?; end
1459
+
1460
+ # @api private
1461
+ #
1462
+ # source://rspec-support//lib/rspec/support/ruby_features.rb#216
1463
+ def module_prepends_supported?; end
1464
+
1465
+ # @api private
1466
+ #
1467
+ # source://rspec-support//lib/rspec/support/ruby_features.rb#212
1468
+ def module_refinement_supported?; end
1469
+
1470
+ # @api private
1471
+ #
1472
+ # source://rspec-support//lib/rspec/support/ruby_features.rb#81
1473
+ def optional_and_splat_args_supported?; end
1474
+
1475
+ # @api private
1476
+ # @return [Boolean]
1477
+ #
1478
+ # source://rspec-support//lib/rspec/support/ruby_features.rb#164
1479
+ def required_kw_args_supported?; end
1480
+
1481
+ # @api private
1482
+ # @return [Boolean]
1483
+ #
1484
+ # source://rspec-support//lib/rspec/support/ruby_features.rb#146
1485
+ def ripper_supported?; end
1486
+
1487
+ # @api private
1488
+ # @return [Boolean]
1489
+ #
1490
+ # source://rspec-support//lib/rspec/support/ruby_features.rb#90
1491
+ def supports_exception_cause?; end
1492
+
1493
+ # @api private
1494
+ # @return [Boolean]
1495
+ #
1496
+ # source://rspec-support//lib/rspec/support/ruby_features.rb#168
1497
+ def supports_rebinding_module_methods?; end
1498
+
1499
+ # @api private
1500
+ # @return [Boolean]
1501
+ #
1502
+ # source://rspec-support//lib/rspec/support/ruby_features.rb#100
1503
+ def supports_syntax_suggest?; end
1504
+
1505
+ # @api private
1506
+ # @return [Boolean]
1507
+ #
1508
+ # source://rspec-support//lib/rspec/support/ruby_features.rb#121
1509
+ def supports_taint?; end
1510
+
1511
+ class << self
1512
+ # @api private
1513
+ # @return [Boolean]
1514
+ #
1515
+ # source://rspec-support//lib/rspec/support/ruby_features.rb#85
1516
+ def caller_locations_supported?; end
1517
+
1518
+ # @api private
1519
+ # @return [Boolean]
1520
+ #
1521
+ # source://rspec-support//lib/rspec/support/ruby_features.rb#155
1522
+ def distincts_kw_args_from_positional_hash?; end
1523
+
1524
+ # source://rspec-support//lib/rspec/support/ruby_features.rb#76
1525
+ def fork_supported?; end
1526
+
1527
+ # source://rspec-support//lib/rspec/support/ruby_features.rb#111
1528
+ def kw_arg_separation?; end
1529
+
1530
+ # source://rspec-support//lib/rspec/support/ruby_features.rb#160
1531
+ def kw_args_supported?; end
1532
+
1533
+ # @api private
1534
+ # @return [Boolean]
1535
+ #
1536
+ # source://rspec-support//lib/rspec/support/ruby_features.rb#216
1537
+ def module_prepends_supported?; end
1538
+
1539
+ # @api private
1540
+ # @return [Boolean]
1541
+ #
1542
+ # source://rspec-support//lib/rspec/support/ruby_features.rb#212
1543
+ def module_refinement_supported?; end
1544
+
1545
+ # @api private
1546
+ # @return [Boolean]
1547
+ #
1548
+ # source://rspec-support//lib/rspec/support/ruby_features.rb#81
1549
+ def optional_and_splat_args_supported?; end
1550
+
1551
+ # source://rspec-support//lib/rspec/support/ruby_features.rb#164
1552
+ def required_kw_args_supported?; end
1553
+
1554
+ # source://rspec-support//lib/rspec/support/ruby_features.rb#146
1555
+ def ripper_supported?; end
1556
+
1557
+ # source://rspec-support//lib/rspec/support/ruby_features.rb#90
1558
+ def supports_exception_cause?; end
1559
+
1560
+ # source://rspec-support//lib/rspec/support/ruby_features.rb#168
1561
+ def supports_rebinding_module_methods?; end
1562
+
1563
+ # source://rspec-support//lib/rspec/support/ruby_features.rb#100
1564
+ def supports_syntax_suggest?; end
1565
+
1566
+ # source://rspec-support//lib/rspec/support/ruby_features.rb#121
1567
+ def supports_taint?; end
1568
+ end
1569
+ end
1570
+
1571
+ # Figures out whether a given method can accept various arguments.
1572
+ # Surprisingly non-trivial.
1573
+ #
1574
+ # @private
1575
+ #
1576
+ # source://rspec-support//lib/rspec/support/method_signature_verifier.rb#414
1577
+ RSpec::Support::StrictSignatureVerifier = RSpec::Support::MethodSignatureVerifier
1578
+
1579
+ # source://rspec-support//lib/rspec/support/version.rb#5
1580
+ module RSpec::Support::Version; end
1581
+
1582
+ # source://rspec-support//lib/rspec/support/version.rb#6
1583
+ RSpec::Support::Version::STRING = T.let(T.unsafe(nil), String)
1584
+
1585
+ # source://rspec-support//lib/rspec/support/warnings.rb#8
1586
+ module RSpec::Support::Warnings
1587
+ # source://rspec-support//lib/rspec/support/warnings.rb#9
1588
+ def deprecate(deprecated, options = T.unsafe(nil)); end
1589
+
1590
+ # Used internally to print deprecation warnings
1591
+ # when rspec-core isn't loaded
1592
+ #
1593
+ # @private
1594
+ #
1595
+ # source://rspec-support//lib/rspec/support/warnings.rb#17
1596
+ def warn_deprecation(message, options = T.unsafe(nil)); end
1597
+
1598
+ # Used internally to print longer warnings
1599
+ #
1600
+ # @private
1601
+ #
1602
+ # source://rspec-support//lib/rspec/support/warnings.rb#31
1603
+ def warn_with(message, options = T.unsafe(nil)); end
1604
+
1605
+ # Used internally to print warnings
1606
+ #
1607
+ # @private
1608
+ #
1609
+ # source://rspec-support//lib/rspec/support/warnings.rb#24
1610
+ def warning(text, options = T.unsafe(nil)); end
1611
+ end
1612
+
1613
+ # source://rspec-support//lib/rspec/support/with_keywords_when_needed.rb#7
1614
+ module RSpec::Support::WithKeywordsWhenNeeded
1615
+ private
1616
+
1617
+ # Remove this in RSpec 4 in favour of explicitly passed in kwargs where
1618
+ # this is used. Works around a warning in Ruby 2.7
1619
+ #
1620
+ # source://rspec-support//lib/rspec/support/with_keywords_when_needed.rb#17
1621
+ def class_exec(klass, *args, **_arg2, &block); end
1622
+
1623
+ class << self
1624
+ # source://rspec-support//lib/rspec/support/with_keywords_when_needed.rb#17
1625
+ def class_exec(klass, *args, **_arg2, &block); end
1626
+ end
1627
+ end