repeatable 1.0.0 → 1.2.0

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