m2m_keygen 0.4.9 → 0.5.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 (174) hide show
  1. checksums.yaml +4 -4
  2. data/.overcommit.yml +4 -7
  3. data/.rubocop.yml +19 -16
  4. data/.ruby-version +1 -1
  5. data/.streerc +1 -0
  6. data/.tool-versions +1 -1
  7. data/CHANGELOG.md +70 -1
  8. data/Gemfile +2 -2
  9. data/Gemfile.lock +135 -158
  10. data/README.md +64 -78
  11. data/docs/MIGRATING.md +69 -0
  12. data/docs/SPEC.md +245 -0
  13. data/examples/nonce_store/postgres.rb +40 -0
  14. data/examples/nonce_store/redis.rb +23 -0
  15. data/gemfiles/rack_2.gemfile +5 -0
  16. data/gemfiles/rack_3.gemfile +5 -0
  17. data/lib/m2m_keygen/canonicalizer.rb +57 -0
  18. data/lib/m2m_keygen/nonce_store/disabled.rb +19 -0
  19. data/lib/m2m_keygen/nonce_store/memory.rb +64 -0
  20. data/lib/m2m_keygen/nonce_store.rb +18 -0
  21. data/lib/m2m_keygen/rack_validator.rb +86 -19
  22. data/lib/m2m_keygen/request_signer/signed_request.rb +10 -0
  23. data/lib/m2m_keygen/request_signer.rb +118 -0
  24. data/lib/m2m_keygen/signature.rb +41 -39
  25. data/lib/m2m_keygen/types/params_type.rb +6 -17
  26. data/lib/m2m_keygen/version.rb +1 -1
  27. data/lib/m2m_keygen.rb +6 -0
  28. data/m2m_keygen.gemspec +12 -14
  29. data/sorbet/config +1 -0
  30. data/sorbet/rbi/gems/.gitattributes +1 -0
  31. data/sorbet/rbi/gems/{ast@2.4.2.rbi → ast@2.4.3.rbi} +45 -79
  32. data/sorbet/rbi/gems/{benchmark@0.2.0.rbi → benchmark@0.5.0.rbi} +91 -58
  33. data/sorbet/rbi/gems/bundler-audit@0.9.3.rbi +397 -0
  34. data/sorbet/rbi/gems/byebug@13.0.0.rbi +3651 -0
  35. data/sorbet/rbi/gems/childprocess@5.1.0.rbi +336 -0
  36. data/sorbet/rbi/gems/concurrent-ruby@1.3.7.rbi +384 -0
  37. data/sorbet/rbi/gems/{diff-lcs@1.5.0.rbi → diff-lcs@1.6.2.rbi} +189 -199
  38. data/sorbet/rbi/gems/{docile@1.4.0.rbi → docile@1.4.1.rbi} +147 -147
  39. data/sorbet/rbi/gems/dotenv@3.2.0.rbi +267 -0
  40. data/sorbet/rbi/gems/erubi@1.13.1.rbi +155 -0
  41. data/sorbet/rbi/gems/{faker@2.22.0.rbi → faker@3.8.0.rbi} +8468 -3829
  42. data/sorbet/rbi/gems/{ffi@1.15.5.rbi → ffi@1.17.4.rbi} +1 -0
  43. data/sorbet/rbi/gems/{formatador@1.1.0.rbi → formatador@1.2.3.rbi} +1 -0
  44. data/sorbet/rbi/gems/{guard@2.18.0.rbi → guard@2.20.1.rbi} +1 -0
  45. data/sorbet/rbi/gems/{i18n@1.12.0.rbi → i18n@1.15.2.rbi} +687 -827
  46. data/sorbet/rbi/gems/io-console@0.8.2.rbi +9 -0
  47. data/sorbet/rbi/gems/{json@2.6.2.rbi → json@2.20.0.rbi} +994 -252
  48. data/sorbet/rbi/gems/language_server-protocol@3.17.0.5.rbi +9 -0
  49. data/sorbet/rbi/gems/lint_roller@1.1.0.rbi +189 -0
  50. data/sorbet/rbi/gems/listen@3.10.0.rbi +9 -0
  51. data/sorbet/rbi/gems/logger@1.7.0.rbi +896 -0
  52. data/sorbet/rbi/gems/{lumberjack@1.2.8.rbi → lumberjack@1.4.2.rbi} +1 -0
  53. data/sorbet/rbi/gems/{method_source@1.0.0.rbi → method_source@1.1.0.rbi} +111 -90
  54. data/sorbet/rbi/gems/{overcommit@0.59.1.rbi → overcommit@0.71.0.rbi} +503 -647
  55. data/sorbet/rbi/gems/parallel@2.1.0.rbi +321 -0
  56. data/sorbet/rbi/gems/parser@3.3.11.1.rbi +5229 -0
  57. data/sorbet/rbi/gems/prettier_print@1.2.1.rbi +878 -0
  58. data/sorbet/rbi/gems/prism@1.9.0.rbi +42224 -0
  59. data/sorbet/rbi/gems/pry-byebug@3.12.0.rbi +481 -0
  60. data/sorbet/rbi/gems/{pry@0.14.1.rbi → pry@0.16.0.rbi} +2567 -3550
  61. data/sorbet/rbi/gems/{racc@1.6.0.rbi → racc@1.8.1.rbi} +54 -40
  62. data/sorbet/rbi/gems/rack@3.2.6.rbi +4653 -0
  63. data/sorbet/rbi/gems/{rake@13.0.6.rbi → rake@13.4.2.rbi} +963 -732
  64. data/sorbet/rbi/gems/{rb-inotify@0.10.1.rbi → rb-inotify@0.11.1.rbi} +1 -0
  65. data/sorbet/rbi/gems/rbi@0.3.14.rbi +5519 -0
  66. data/sorbet/rbi/gems/rbs@4.0.3.rbi +6908 -0
  67. data/sorbet/rbi/gems/regexp_parser@2.12.0.rbi +3398 -0
  68. data/sorbet/rbi/gems/reline@0.6.3.rbi +2446 -0
  69. data/sorbet/rbi/gems/require-hooks@0.4.0.rbi +152 -0
  70. data/sorbet/rbi/gems/{rexml@3.2.5.rbi → rexml@3.4.4.rbi} +1085 -894
  71. data/sorbet/rbi/gems/rspec-core@3.13.6.rbi +9475 -0
  72. data/sorbet/rbi/gems/rspec-expectations@3.13.5.rbi +6108 -0
  73. data/sorbet/rbi/gems/rspec-mocks@3.13.8.rbi +4787 -0
  74. data/sorbet/rbi/gems/rspec-support@3.13.7.rbi +1274 -0
  75. data/sorbet/rbi/gems/rspec@3.13.2.rbi +15 -0
  76. data/sorbet/rbi/gems/rspec_in_context@1.2.2.rbi +294 -0
  77. data/sorbet/rbi/gems/rubocop-ast@1.49.1.rbi +7140 -0
  78. data/sorbet/rbi/gems/rubocop-faker@1.3.0.rbi +88 -0
  79. data/sorbet/rbi/gems/rubocop-performance@1.26.1.rbi +3403 -0
  80. data/sorbet/rbi/gems/rubocop-sorbet@0.12.0.rbi +2448 -0
  81. data/sorbet/rbi/gems/rubocop@1.88.1.rbi +63103 -0
  82. data/sorbet/rbi/gems/ruby-lsp@0.26.9.rbi +28 -0
  83. data/sorbet/rbi/gems/ruby-progressbar@1.13.0.rbi +988 -0
  84. data/sorbet/rbi/gems/rubydex@0.2.7.rbi +836 -0
  85. data/sorbet/rbi/gems/simplecov-html@0.13.2.rbi +90 -0
  86. data/sorbet/rbi/gems/{simplecov@0.21.2.rbi → simplecov@0.22.0.rbi} +438 -578
  87. data/sorbet/rbi/gems/spoom@1.8.2.rbi +6691 -0
  88. data/sorbet/rbi/gems/syntax_tree@6.3.0.rbi +22090 -0
  89. data/sorbet/rbi/gems/tapioca@0.19.2.rbi +3597 -0
  90. data/sorbet/rbi/gems/{thor@1.2.1.rbi → thor@1.5.0.rbi} +1085 -1171
  91. data/sorbet/rbi/gems/tsort@0.2.0.rbi +389 -0
  92. data/sorbet/rbi/gems/unicode-display_width@3.2.0.rbi +130 -0
  93. data/sorbet/rbi/gems/unicode-emoji@4.2.0.rbi +332 -0
  94. data/sorbet/rbi/gems/{yard-sorbet@0.7.0.rbi → yard-sorbet@0.9.0.rbi} +142 -99
  95. data/sorbet/rbi/gems/{yard@0.9.28.rbi → yard@0.9.44.rbi} +5350 -6316
  96. data/sorbet/rbi/gems/zeitwerk@2.8.2.rbi +1178 -0
  97. metadata +105 -111
  98. data/.prettierrc.js +0 -4
  99. data/docs/M2mKeygen/Error.html +0 -135
  100. data/docs/M2mKeygen/ParamsEncoder.html +0 -321
  101. data/docs/M2mKeygen/RackValidator.html +0 -533
  102. data/docs/M2mKeygen/Signature.html +0 -680
  103. data/docs/M2mKeygen/Types.html +0 -147
  104. data/docs/M2mKeygen.html +0 -157
  105. data/docs/_index.html +0 -182
  106. data/docs/class_list.html +0 -51
  107. data/docs/css/common.css +0 -1
  108. data/docs/css/full_list.css +0 -58
  109. data/docs/css/style.css +0 -497
  110. data/docs/file.README.html +0 -230
  111. data/docs/file_list.html +0 -56
  112. data/docs/frames.html +0 -17
  113. data/docs/index.html +0 -230
  114. data/docs/js/app.js +0 -314
  115. data/docs/js/full_list.js +0 -216
  116. data/docs/js/jquery.js +0 -4
  117. data/docs/method_list.html +0 -139
  118. data/docs/top-level-namespace.html +0 -110
  119. data/lib/m2m_keygen/params_encoder.rb +0 -56
  120. data/package.json +0 -12
  121. data/sig/m2m_keygen.rbs +0 -4
  122. data/sorbet/rbi/gems/activesupport@7.0.3.1.rbi +0 -18608
  123. data/sorbet/rbi/gems/backport@1.2.0.rbi +0 -522
  124. data/sorbet/rbi/gems/bundler-audit@0.9.1.rbi +0 -308
  125. data/sorbet/rbi/gems/byebug@11.1.3.rbi +0 -3603
  126. data/sorbet/rbi/gems/childprocess@4.1.0.rbi +0 -401
  127. data/sorbet/rbi/gems/concurrent-ruby@1.1.10.rbi +0 -11581
  128. data/sorbet/rbi/gems/dotenv@2.8.1.rbi +0 -234
  129. data/sorbet/rbi/gems/e2mmap@0.1.0.rbi +0 -8
  130. data/sorbet/rbi/gems/haml@5.2.2.rbi +0 -3190
  131. data/sorbet/rbi/gems/jaro_winkler@1.5.4.rbi +0 -19
  132. data/sorbet/rbi/gems/kramdown-parser-gfm@1.1.0.rbi +0 -133
  133. data/sorbet/rbi/gems/kramdown@2.4.0.rbi +0 -3261
  134. data/sorbet/rbi/gems/listen@3.7.1.rbi +0 -1181
  135. data/sorbet/rbi/gems/minitest@5.16.3.rbi +0 -1459
  136. data/sorbet/rbi/gems/nokogiri@1.13.8.rbi +0 -6514
  137. data/sorbet/rbi/gems/parallel@1.22.1.rbi +0 -277
  138. data/sorbet/rbi/gems/parser@3.1.2.1.rbi +0 -6826
  139. data/sorbet/rbi/gems/prettier@3.2.0.rbi +0 -22
  140. data/sorbet/rbi/gems/prettier_print@0.1.0.rbi +0 -8
  141. data/sorbet/rbi/gems/pry-byebug@3.10.1.rbi +0 -1222
  142. data/sorbet/rbi/gems/rack@2.2.4.rbi +0 -5630
  143. data/sorbet/rbi/gems/rbi@0.0.15.rbi +0 -3007
  144. data/sorbet/rbi/gems/rbs@2.6.0.rbi +0 -8
  145. data/sorbet/rbi/gems/regexp_parser@2.5.0.rbi +0 -3366
  146. data/sorbet/rbi/gems/reverse_markdown@2.1.1.rbi +0 -389
  147. data/sorbet/rbi/gems/rspec-core@3.11.0.rbi +0 -10786
  148. data/sorbet/rbi/gems/rspec-expectations@3.11.0.rbi +0 -8170
  149. data/sorbet/rbi/gems/rspec-mocks@3.11.1.rbi +0 -5385
  150. data/sorbet/rbi/gems/rspec-support@3.11.0.rbi +0 -1746
  151. data/sorbet/rbi/gems/rspec@3.11.0.rbi +0 -187
  152. data/sorbet/rbi/gems/rspec_in_context@1.1.0.3.rbi +0 -1113
  153. data/sorbet/rbi/gems/rubocop-ast@1.21.0.rbi +0 -7044
  154. data/sorbet/rbi/gems/rubocop-faker@1.1.0.rbi +0 -106
  155. data/sorbet/rbi/gems/rubocop-performance@1.14.3.rbi +0 -2982
  156. data/sorbet/rbi/gems/rubocop-sorbet@0.6.11.rbi +0 -990
  157. data/sorbet/rbi/gems/rubocop@1.35.1.rbi +0 -52002
  158. data/sorbet/rbi/gems/ruby-progressbar@1.11.0.rbi +0 -1239
  159. data/sorbet/rbi/gems/simplecov-html@0.12.3.rbi +0 -219
  160. data/sorbet/rbi/gems/solargraph@0.46.0.rbi +0 -9075
  161. data/sorbet/rbi/gems/spoom@1.1.12.rbi +0 -2369
  162. data/sorbet/rbi/gems/syntax_tree-haml@1.3.1.rbi +0 -8
  163. data/sorbet/rbi/gems/syntax_tree-rbs@0.5.0.rbi +0 -8
  164. data/sorbet/rbi/gems/syntax_tree@3.5.0.rbi +0 -8
  165. data/sorbet/rbi/gems/tapioca@0.9.4.rbi +0 -2946
  166. data/sorbet/rbi/gems/temple@0.8.2.rbi +0 -1712
  167. data/sorbet/rbi/gems/tilt@2.0.11.rbi +0 -742
  168. data/sorbet/rbi/gems/tzinfo@2.0.5.rbi +0 -5914
  169. data/sorbet/rbi/gems/unicode-display_width@2.2.0.rbi +0 -48
  170. data/sorbet/rbi/gems/unparser@0.6.5.rbi +0 -4529
  171. data/sorbet/rbi/gems/webrick@1.7.0.rbi +0 -2553
  172. data/sorbet/rbi/gems/zeitwerk@2.6.0.rbi +0 -867
  173. data/sorbet/rbi/manual.rbi +0 -7
  174. data/yarn.lock +0 -20
@@ -0,0 +1,1274 @@
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
+ # pkg:gem/rspec-support#lib/rspec/support.rb:3
9
+ module RSpec
10
+ extend ::RSpec::Support::Warnings
11
+ end
12
+
13
+ # Consistent implementation for "cleaning" the caller method to strip out
14
+ # non-rspec lines. This enables errors to be reported at the call site in
15
+ # the code using the library, which is far more useful than the particular
16
+ # internal method that raised an error.
17
+ #
18
+ # pkg:gem/rspec-support#lib/rspec/support/caller_filter.rb:10
19
+ class RSpec::CallerFilter
20
+ class << self
21
+ # Earlier rubies do not support the two argument form of `caller`. This
22
+ # fallback is logically the same, but slower.
23
+ # This supports args because it's more efficient when the caller specifies
24
+ # these. It allows us to skip frames the caller knows are part of RSpec,
25
+ # and to decrease the increment size if the caller is confident the line will
26
+ # be found in a small number of stack frames from `skip_frames`.
27
+ #
28
+ # Note that there is a risk to passing a `skip_frames` value that is too high:
29
+ # If it skipped the first non-rspec line, then this method would return the
30
+ # 2nd or 3rd (or whatever) non-rspec line. Thus, you generally shouldn't pass
31
+ # values for these parameters, particularly since most places that use this are
32
+ # not hot spots (generally it gets used for deprecation warnings). However,
33
+ # if you do have a hot spot that calls this, passing `skip_frames` can make
34
+ # a significant difference. Just make sure that that particular use is tested
35
+ # so that if the provided `skip_frames` changes to no longer be accurate in
36
+ # such a way that would return the wrong stack frame, a test will fail to tell you.
37
+ #
38
+ # See benchmarks/skip_frames_for_caller_filter.rb for measurements.
39
+ #
40
+ # pkg:gem/rspec-support#lib/rspec/support/caller_filter.rb:49
41
+ def first_non_rspec_line(skip_frames = T.unsafe(nil), increment = T.unsafe(nil)); end
42
+ end
43
+ end
44
+
45
+ # pkg:gem/rspec-support#lib/rspec/support/caller_filter.rb:20
46
+ RSpec::CallerFilter::ADDITIONAL_TOP_LEVEL_FILES = T.let(T.unsafe(nil), Array)
47
+
48
+ # rubygems/core_ext/kernel_require.rb isn't actually part of rspec (obviously) but we want
49
+ # it ignored when we are looking for the first meaningful line of the backtrace outside
50
+ # of RSpec. It can show up in the backtrace as the immediate first caller
51
+ # when `CallerFilter.first_non_rspec_line` is called from the top level of a required
52
+ # file, but it depends on if rubygems is loaded or not. We don't want to have to deal
53
+ # with this complexity in our `RSpec.deprecate` calls, so we ignore it here.
54
+ #
55
+ # pkg:gem/rspec-support#lib/rspec/support/caller_filter.rb:30
56
+ RSpec::CallerFilter::IGNORE_REGEX = T.let(T.unsafe(nil), Regexp)
57
+
58
+ # pkg:gem/rspec-support#lib/rspec/support/caller_filter.rb:22
59
+ RSpec::CallerFilter::LIB_REGEX = T.let(T.unsafe(nil), Regexp)
60
+
61
+ # pkg:gem/rspec-support#lib/rspec/support/caller_filter.rb:11
62
+ RSpec::CallerFilter::RSPEC_LIBS = T.let(T.unsafe(nil), Array)
63
+
64
+ # pkg:gem/rspec-support#lib/rspec/support.rb:4
65
+ module RSpec::Support
66
+ class << self
67
+ # @api private
68
+ #
69
+ # Used internally to get a class of a given object, even if it does not respond to #class.
70
+ #
71
+ # pkg:gem/rspec-support#lib/rspec/support.rb:86
72
+ def class_of(object); end
73
+
74
+ # @api private
75
+ #
76
+ # Defines a helper method that is optimized to require files from the
77
+ # named lib. The passed block MUST be `{ |f| require_relative f }`
78
+ # because for `require_relative` to work properly from within the named
79
+ # lib the line of code must be IN that lib.
80
+ #
81
+ # `require_relative` is preferred when available because it is always O(1),
82
+ # regardless of the number of dirs in $LOAD_PATH. `require`, on the other
83
+ # hand, does a linear O(N) search over the dirs in the $LOAD_PATH until
84
+ # it can resolve the file relative to one of the dirs.
85
+ #
86
+ # pkg:gem/rspec-support#lib/rspec/support.rb:16
87
+ def define_optimized_require_for_rspec(lib, &require_relative); end
88
+
89
+ # Remove a previously registered matcher. Useful for cleaning up after
90
+ # yourself in specs.
91
+ #
92
+ # @private
93
+ #
94
+ # pkg:gem/rspec-support#lib/rspec/support/matcher_definition.rb:24
95
+ def deregister_matcher_definition(&block); end
96
+
97
+ # @api private
98
+ #
99
+ # pkg:gem/rspec-support#lib/rspec/support.rb:113
100
+ def failure_notifier; end
101
+
102
+ # @api private
103
+ #
104
+ # pkg:gem/rspec-support#lib/rspec/support.rb:105
105
+ def failure_notifier=(callable); end
106
+
107
+ # @private
108
+ #
109
+ # pkg:gem/rspec-support#lib/rspec/support/matcher_definition.rb:29
110
+ def is_a_matcher?(object); end
111
+
112
+ # @private
113
+ #
114
+ # pkg:gem/rspec-support#lib/rspec/support/matcher_definition.rb:6
115
+ def matcher_definitions; end
116
+
117
+ # pkg:gem/rspec-support#lib/rspec/support.rb:54
118
+ def method_handle_for(object, method_name); end
119
+
120
+ # @api private
121
+ #
122
+ # pkg:gem/rspec-support#lib/rspec/support.rb:118
123
+ def notify_failure(failure, options = T.unsafe(nil)); end
124
+
125
+ # Used internally to break cyclic dependency between mocks, expectations,
126
+ # and support. We don't currently have a consistent implementation of our
127
+ # matchers, though we are considering changing that:
128
+ # https://github.com/rspec/rspec-mocks/issues/513
129
+ #
130
+ # @private
131
+ #
132
+ # pkg:gem/rspec-support#lib/rspec/support/matcher_definition.rb:16
133
+ def register_matcher_definition(&block); end
134
+
135
+ # pkg:gem/rspec-support#lib/rspec/support.rb:25
136
+ def require_rspec_support(f); end
137
+
138
+ # @api private
139
+ #
140
+ # gives a string representation of an object for use in RSpec descriptions
141
+ #
142
+ # pkg:gem/rspec-support#lib/rspec/support/matcher_definition.rb:36
143
+ def rspec_description_for_object(object); end
144
+
145
+ # pkg:gem/rspec-support#lib/rspec/support.rb:95
146
+ def thread_local_data; end
147
+
148
+ # @api private
149
+ # @api private
150
+ #
151
+ # pkg:gem/rspec-support#lib/rspec/support.rb:140
152
+ def warning_notifier; end
153
+
154
+ # @api private
155
+ # @api private
156
+ #
157
+ # pkg:gem/rspec-support#lib/rspec/support.rb:133
158
+ def warning_notifier=(_arg0); end
159
+
160
+ # @api private
161
+ #
162
+ # pkg:gem/rspec-support#lib/rspec/support.rb:123
163
+ def with_failure_notifier(callable); end
164
+ end
165
+ end
166
+
167
+ # @private
168
+ #
169
+ # pkg:gem/rspec-support#lib/rspec/support.rb:145
170
+ module RSpec::Support::AllExceptionsExceptOnesWeMustNotRescue
171
+ class << self
172
+ # pkg:gem/rspec-support#lib/rspec/support.rb:150
173
+ def ===(exception); end
174
+ end
175
+ end
176
+
177
+ # These exceptions are dangerous to rescue as rescuing them
178
+ # would interfere with things we should not interfere with.
179
+ #
180
+ # pkg:gem/rspec-support#lib/rspec/support.rb:148
181
+ RSpec::Support::AllExceptionsExceptOnesWeMustNotRescue::AVOID_RESCUING = T.let(T.unsafe(nil), Array)
182
+
183
+ # Deals with the slightly different semantics of block arguments.
184
+ # For methods, arguments are required unless a default value is provided.
185
+ # For blocks, arguments are optional, even if no default value is provided.
186
+ #
187
+ # However, we want to treat block args as required since you virtually
188
+ # always want to pass a value for each received argument and our
189
+ # `and_yield` has treated block args as required for many years.
190
+ #
191
+ # @api private
192
+ #
193
+ # pkg:gem/rspec-support#lib/rspec/support/method_signature_verifier.rb:293
194
+ class RSpec::Support::BlockSignature < ::RSpec::Support::MethodSignature
195
+ # pkg:gem/rspec-support#lib/rspec/support/method_signature_verifier.rb:295
196
+ def classify_parameters; end
197
+ end
198
+
199
+ # @private
200
+ #
201
+ # pkg:gem/rspec-support#lib/rspec/support/comparable_version.rb:6
202
+ class RSpec::Support::ComparableVersion
203
+ include ::Comparable
204
+
205
+ # pkg:gem/rspec-support#lib/rspec/support/comparable_version.rb:11
206
+ def initialize(string); end
207
+
208
+ # pkg:gem/rspec-support#lib/rspec/support/comparable_version.rb:15
209
+ def <=>(other); end
210
+
211
+ # pkg:gem/rspec-support#lib/rspec/support/comparable_version.rb:37
212
+ def segments; end
213
+
214
+ # pkg:gem/rspec-support#lib/rspec/support/comparable_version.rb:9
215
+ def string; end
216
+ end
217
+
218
+ # @private
219
+ #
220
+ # pkg:gem/rspec-support#lib/rspec/support.rb:110
221
+ RSpec::Support::DEFAULT_FAILURE_NOTIFIER = T.let(T.unsafe(nil), Proc)
222
+
223
+ # @private
224
+ #
225
+ # pkg:gem/rspec-support#lib/rspec/support.rb:137
226
+ RSpec::Support::DEFAULT_WARNING_NOTIFIER = T.let(T.unsafe(nil), Proc)
227
+
228
+ # pkg:gem/rspec-support#lib/rspec/support/differ.rb:11
229
+ class RSpec::Support::Differ
230
+ # pkg:gem/rspec-support#lib/rspec/support/differ.rb:68
231
+ def initialize(opts = T.unsafe(nil)); end
232
+
233
+ # pkg:gem/rspec-support#lib/rspec/support/differ.rb:64
234
+ def color?; end
235
+
236
+ # pkg:gem/rspec-support#lib/rspec/support/differ.rb:12
237
+ def diff(actual, expected); end
238
+
239
+ # pkg:gem/rspec-support#lib/rspec/support/differ.rb:58
240
+ def diff_as_object(actual, expected); end
241
+
242
+ # pkg:gem/rspec-support#lib/rspec/support/differ.rb:29
243
+ def diff_as_string(actual, expected); end
244
+
245
+ private
246
+
247
+ # pkg:gem/rspec-support#lib/rspec/support/differ.rb:129
248
+ def add_old_hunk_to_hunk(hunk, oldhunk); end
249
+
250
+ # pkg:gem/rspec-support#lib/rspec/support/differ.rb:125
251
+ def add_to_output(output, string); end
252
+
253
+ # pkg:gem/rspec-support#lib/rspec/support/differ.rb:79
254
+ def all_strings?(*args); end
255
+
256
+ # pkg:gem/rspec-support#lib/rspec/support/differ.rb:83
257
+ def any_multiline_strings?(*args); end
258
+
259
+ # pkg:gem/rspec-support#lib/rspec/support/differ.rb:154
260
+ def blue(text); end
261
+
262
+ # pkg:gem/rspec-support#lib/rspec/support/differ.rb:116
263
+ def build_hunks(actual, expected); end
264
+
265
+ # pkg:gem/rspec-support#lib/rspec/support/differ.rb:91
266
+ def coerce_to_string(string_or_array); end
267
+
268
+ # pkg:gem/rspec-support#lib/rspec/support/differ.rb:142
269
+ def color(text, color_code); end
270
+
271
+ # pkg:gem/rspec-support#lib/rspec/support/differ.rb:162
272
+ def color_diff(diff); end
273
+
274
+ # pkg:gem/rspec-support#lib/rspec/support/differ.rb:96
275
+ def diffably_stringify(array); end
276
+
277
+ # pkg:gem/rspec-support#lib/rspec/support/differ.rb:120
278
+ def finalize_output(output, final_line); end
279
+
280
+ # pkg:gem/rspec-support#lib/rspec/support/differ.rb:138
281
+ def format_type; end
282
+
283
+ # pkg:gem/rspec-support#lib/rspec/support/differ.rb:150
284
+ def green(text); end
285
+
286
+ # pkg:gem/rspec-support#lib/rspec/support/differ.rb:203
287
+ def handle_encoding_errors(actual, expected); end
288
+
289
+ # pkg:gem/rspec-support#lib/rspec/support/differ.rb:193
290
+ def hash_to_string(hash); end
291
+
292
+ # pkg:gem/rspec-support#lib/rspec/support/differ.rb:107
293
+ def multiline?(string); end
294
+
295
+ # pkg:gem/rspec-support#lib/rspec/support/differ.rb:87
296
+ def no_numbers?(*args); end
297
+
298
+ # pkg:gem/rspec-support#lib/rspec/support/differ.rb:75
299
+ def no_procs?(*args); end
300
+
301
+ # pkg:gem/rspec-support#lib/rspec/support/differ.rb:158
302
+ def normal(text); end
303
+
304
+ # pkg:gem/rspec-support#lib/rspec/support/differ.rb:179
305
+ def object_to_string(object); end
306
+
307
+ # pkg:gem/rspec-support#lib/rspec/support/differ.rb:146
308
+ def red(text); end
309
+
310
+ # pkg:gem/rspec-support#lib/rspec/support/differ.rb:133
311
+ def safely_flatten(array); end
312
+ end
313
+
314
+ # @api private
315
+ #
316
+ # Replacement for fileutils#mkdir_p because we don't want to require parts
317
+ # of stdlib in RSpec.
318
+ #
319
+ # pkg:gem/rspec-support#lib/rspec/support/directory_maker.rb:11
320
+ class RSpec::Support::DirectoryMaker
321
+ class << self
322
+ # @api private
323
+ #
324
+ # Implements nested directory construction
325
+ #
326
+ # pkg:gem/rspec-support#lib/rspec/support/directory_maker.rb:15
327
+ def mkdir_p(path); end
328
+
329
+ private
330
+
331
+ # pkg:gem/rspec-support#lib/rspec/support/directory_maker.rb:57
332
+ def directory_exists?(dirname); end
333
+
334
+ # pkg:gem/rspec-support#lib/rspec/support/directory_maker.rb:52
335
+ def generate_path(stack, part); end
336
+
337
+ # pkg:gem/rspec-support#lib/rspec/support/directory_maker.rb:49
338
+ def generate_stack(path); end
339
+ end
340
+ end
341
+
342
+ # @private
343
+ #
344
+ # pkg:gem/rspec-support#lib/rspec/support/encoded_string.rb:6
345
+ class RSpec::Support::EncodedString
346
+ # pkg:gem/rspec-support#lib/rspec/support/encoded_string.rb:16
347
+ def initialize(string, encoding = T.unsafe(nil)); end
348
+
349
+ # pkg:gem/rspec-support#lib/rspec/support/encoded_string.rb:28
350
+ def <<(string); end
351
+
352
+ # pkg:gem/rspec-support#lib/rspec/support/encoded_string.rb:25
353
+ def ==(*args, &block); end
354
+
355
+ # pkg:gem/rspec-support#lib/rspec/support/encoded_string.rb:25
356
+ def empty?(*args, &block); end
357
+
358
+ # pkg:gem/rspec-support#lib/rspec/support/encoded_string.rb:25
359
+ def encoding(*args, &block); end
360
+
361
+ # pkg:gem/rspec-support#lib/rspec/support/encoded_string.rb:25
362
+ def eql?(*args, &block); end
363
+
364
+ # pkg:gem/rspec-support#lib/rspec/support/encoded_string.rb:25
365
+ def lines(*args, &block); end
366
+
367
+ # pkg:gem/rspec-support#lib/rspec/support/encoded_string.rb:21
368
+ def source_encoding; end
369
+
370
+ # pkg:gem/rspec-support#lib/rspec/support/encoded_string.rb:41
371
+ def split(regex_or_string); end
372
+
373
+ # pkg:gem/rspec-support#lib/rspec/support/encoded_string.rb:46
374
+ def to_s; end
375
+
376
+ # pkg:gem/rspec-support#lib/rspec/support/encoded_string.rb:49
377
+ def to_str; end
378
+
379
+ private
380
+
381
+ # pkg:gem/rspec-support#lib/rspec/support/encoded_string.rb:139
382
+ def detect_source_encoding(string); end
383
+
384
+ # Encoding Exceptions:
385
+ #
386
+ # Raised by Encoding and String methods:
387
+ # Encoding::UndefinedConversionError:
388
+ # when a transcoding operation fails
389
+ # if the String contains characters invalid for the target encoding
390
+ # e.g. "\x80".encode('UTF-8','ASCII-8BIT')
391
+ # vs "\x80".encode('UTF-8','ASCII-8BIT', undef: :replace, replace: '<undef>')
392
+ # # => '<undef>'
393
+ # Encoding::CompatibilityError
394
+ # when Encoding.compatible?(str1, str2) is nil
395
+ # e.g. utf_16le_emoji_string.split("\n")
396
+ # e.g. valid_unicode_string.encode(utf8_encoding) << ascii_string
397
+ # Encoding::InvalidByteSequenceError:
398
+ # when the string being transcoded contains a byte invalid for
399
+ # either the source or target encoding
400
+ # e.g. "\x80".encode('UTF-8','US-ASCII')
401
+ # vs "\x80".encode('UTF-8','US-ASCII', invalid: :replace, replace: '<byte>')
402
+ # # => '<byte>'
403
+ # ArgumentError
404
+ # when operating on a string with invalid bytes
405
+ # e.g."\x80".split("\n")
406
+ # TypeError
407
+ # when a symbol is passed as an encoding
408
+ # Encoding.find(:"UTF-8")
409
+ # when calling force_encoding on an object
410
+ # that doesn't respond to #to_str
411
+ #
412
+ # Raised by transcoding methods:
413
+ # Encoding::ConverterNotFoundError:
414
+ # when a named encoding does not correspond with a known converter
415
+ # e.g. 'abc'.force_encoding('UTF-8').encode('foo')
416
+ # or a converter path cannot be found
417
+ # e.g. "\x80".force_encoding('ASCII-8BIT').encode('Emacs-Mule')
418
+ #
419
+ # Raised by byte <-> char conversions
420
+ # RangeError: out of char range
421
+ # e.g. the UTF-16LE emoji: 128169.chr
422
+ #
423
+ # pkg:gem/rspec-support#lib/rspec/support/encoded_string.rb:93
424
+ def matching_encoding(string); end
425
+
426
+ # https://github.com/ruby/ruby/blob/eeb05e8c11/doc/NEWS-2.1.0#L120-L123
427
+ # https://github.com/ruby/ruby/blob/v2_1_0/string.c#L8242
428
+ # https://github.com/hsbt/string-scrub
429
+ # https://github.com/rubinius/rubinius/blob/v2.5.2/kernel/common/string.rb#L1913-L1972
430
+ # http://stackoverflow.com/a/8711118/879854
431
+ # Loop over chars in a string replacing chars
432
+ # with invalid encoding, which is a pretty good proxy
433
+ # for the invalid byte sequence that causes an ArgumentError
434
+ #
435
+ # pkg:gem/rspec-support#lib/rspec/support/encoded_string.rb:124
436
+ def remove_invalid_bytes(string); end
437
+
438
+ class << self
439
+ # pkg:gem/rspec-support#lib/rspec/support/encoded_string.rb:143
440
+ def pick_encoding(source_a, source_b); end
441
+ end
442
+ end
443
+
444
+ # Ruby's default replacement string is:
445
+ # U+FFFD ("\xEF\xBF\xBD"), for Unicode encoding forms, else
446
+ # ? ("\x3F")
447
+ #
448
+ # pkg:gem/rspec-support#lib/rspec/support/encoded_string.rb:14
449
+ RSpec::Support::EncodedString::REPLACE = T.let(T.unsafe(nil), String)
450
+
451
+ # pkg:gem/rspec-support#lib/rspec/support/encoded_string.rb:9
452
+ RSpec::Support::EncodedString::US_ASCII = T.let(T.unsafe(nil), String)
453
+
454
+ # Reduce allocations by storing constants.
455
+ #
456
+ # pkg:gem/rspec-support#lib/rspec/support/encoded_string.rb:8
457
+ RSpec::Support::EncodedString::UTF_8 = T.let(T.unsafe(nil), String)
458
+
459
+ # @private
460
+ #
461
+ # pkg:gem/rspec-support#lib/rspec/support/hunk_generator.rb:9
462
+ class RSpec::Support::HunkGenerator
463
+ # pkg:gem/rspec-support#lib/rspec/support/hunk_generator.rb:10
464
+ def initialize(actual, expected); end
465
+
466
+ # pkg:gem/rspec-support#lib/rspec/support/hunk_generator.rb:15
467
+ def hunks; end
468
+
469
+ private
470
+
471
+ # pkg:gem/rspec-support#lib/rspec/support/hunk_generator.rb:32
472
+ def actual_lines; end
473
+
474
+ # pkg:gem/rspec-support#lib/rspec/support/hunk_generator.rb:36
475
+ def build_hunk(piece); end
476
+
477
+ # pkg:gem/rspec-support#lib/rspec/support/hunk_generator.rb:44
478
+ def context_lines; end
479
+
480
+ # pkg:gem/rspec-support#lib/rspec/support/hunk_generator.rb:24
481
+ def diffs; end
482
+
483
+ # pkg:gem/rspec-support#lib/rspec/support/hunk_generator.rb:28
484
+ def expected_lines; end
485
+ end
486
+
487
+ # @api private
488
+ #
489
+ # pkg:gem/rspec-support#lib/rspec/support.rb:40
490
+ RSpec::Support::KERNEL_METHOD_METHOD = T.let(T.unsafe(nil), UnboundMethod)
491
+
492
+ # Allows matchers to be used instead of providing keyword arguments. In
493
+ # practice, when this happens only the arity of the method is verified.
494
+ #
495
+ # @private
496
+ #
497
+ # pkg:gem/rspec-support#lib/rspec/support/method_signature_verifier.rb:420
498
+ class RSpec::Support::LooseSignatureVerifier < ::RSpec::Support::MethodSignatureVerifier
499
+ private
500
+
501
+ # pkg:gem/rspec-support#lib/rspec/support/method_signature_verifier.rb:423
502
+ def split_args(args); end
503
+ end
504
+
505
+ # If a matcher is used in a signature in place of keyword arguments, all
506
+ # keyword argument validation needs to be skipped since the matcher is
507
+ # opaque.
508
+ #
509
+ # Instead, keyword arguments will be validated when the method is called
510
+ # and they are actually known.
511
+ #
512
+ # @private
513
+ #
514
+ # pkg:gem/rspec-support#lib/rspec/support/method_signature_verifier.rb:440
515
+ class RSpec::Support::LooseSignatureVerifier::SignatureWithKeywordArgumentsMatcher
516
+ # pkg:gem/rspec-support#lib/rspec/support/method_signature_verifier.rb:441
517
+ def initialize(signature); end
518
+
519
+ # pkg:gem/rspec-support#lib/rspec/support/method_signature_verifier.rb:461
520
+ def has_kw_args_in?(args); end
521
+
522
+ # pkg:gem/rspec-support#lib/rspec/support/method_signature_verifier.rb:449
523
+ def invalid_kw_args_from(_kw_args); end
524
+
525
+ # pkg:gem/rspec-support#lib/rspec/support/method_signature_verifier.rb:445
526
+ def missing_kw_args_from(_kw_args); end
527
+
528
+ # pkg:gem/rspec-support#lib/rspec/support/method_signature_verifier.rb:453
529
+ def non_kw_args_arity_description; end
530
+
531
+ # pkg:gem/rspec-support#lib/rspec/support/method_signature_verifier.rb:457
532
+ def valid_non_kw_args?(*args); end
533
+ end
534
+
535
+ # Extracts info about the number of arguments and allowed/required
536
+ # keyword args of a given method.
537
+ #
538
+ # @private
539
+ #
540
+ # pkg:gem/rspec-support#lib/rspec/support/method_signature_verifier.rb:13
541
+ class RSpec::Support::MethodSignature
542
+ # pkg:gem/rspec-support#lib/rspec/support/method_signature_verifier.rb:16
543
+ def initialize(method); end
544
+
545
+ # pkg:gem/rspec-support#lib/rspec/support/method_signature_verifier.rb:123
546
+ def arbitrary_kw_args?; end
547
+
548
+ # pkg:gem/rspec-support#lib/rspec/support/method_signature_verifier.rb:38
549
+ def classify_arity(arity = T.unsafe(nil)); end
550
+
551
+ # pkg:gem/rspec-support#lib/rspec/support/method_signature_verifier.rb:131
552
+ def classify_parameters; end
553
+
554
+ # Without considering what the last arg is, could it
555
+ # contain keyword arguments?
556
+ #
557
+ # pkg:gem/rspec-support#lib/rspec/support/method_signature_verifier.rb:117
558
+ def could_contain_kw_args?(args); end
559
+
560
+ # pkg:gem/rspec-support#lib/rspec/support/method_signature_verifier.rb:51
561
+ def description; end
562
+
563
+ # pkg:gem/rspec-support#lib/rspec/support/method_signature_verifier.rb:84
564
+ def has_kw_args_in?(args); end
565
+
566
+ # pkg:gem/rspec-support#lib/rspec/support/method_signature_verifier.rb:77
567
+ def invalid_kw_args_from(given_kw_args); end
568
+
569
+ # pkg:gem/rspec-support#lib/rspec/support/method_signature_verifier.rb:14
570
+ def max_non_kw_args; end
571
+
572
+ # pkg:gem/rspec-support#lib/rspec/support/method_signature_verifier.rb:14
573
+ def min_non_kw_args; end
574
+
575
+ # pkg:gem/rspec-support#lib/rspec/support/method_signature_verifier.rb:73
576
+ def missing_kw_args_from(given_kw_args); end
577
+
578
+ # pkg:gem/rspec-support#lib/rspec/support/method_signature_verifier.rb:23
579
+ def non_kw_args_arity_description; end
580
+
581
+ # pkg:gem/rspec-support#lib/rspec/support/method_signature_verifier.rb:14
582
+ def optional_kw_args; end
583
+
584
+ # pkg:gem/rspec-support#lib/rspec/support/method_signature_verifier.rb:14
585
+ def required_kw_args; end
586
+
587
+ # pkg:gem/rspec-support#lib/rspec/support/method_signature_verifier.rb:127
588
+ def unlimited_args?; end
589
+
590
+ # pkg:gem/rspec-support#lib/rspec/support/method_signature_verifier.rb:31
591
+ def valid_non_kw_args?(positional_arg_count, optional_max_arg_count = T.unsafe(nil)); end
592
+ end
593
+
594
+ # pkg:gem/rspec-support#lib/rspec/support/method_signature_verifier.rb:187
595
+ RSpec::Support::MethodSignature::INFINITY = T.let(T.unsafe(nil), Float)
596
+
597
+ # Encapsulates expectations about the number of arguments and
598
+ # allowed/required keyword args of a given method.
599
+ #
600
+ # @api private
601
+ #
602
+ # pkg:gem/rspec-support#lib/rspec/support/method_signature_verifier.rb:244
603
+ class RSpec::Support::MethodSignatureExpectation
604
+ # pkg:gem/rspec-support#lib/rspec/support/method_signature_verifier.rb:245
605
+ def initialize; end
606
+
607
+ # pkg:gem/rspec-support#lib/rspec/support/method_signature_verifier.rb:272
608
+ def empty?; end
609
+
610
+ # pkg:gem/rspec-support#lib/rspec/support/method_signature_verifier.rb:256
611
+ def expect_arbitrary_keywords; end
612
+
613
+ # pkg:gem/rspec-support#lib/rspec/support/method_signature_verifier.rb:256
614
+ def expect_arbitrary_keywords=(_arg0); end
615
+
616
+ # pkg:gem/rspec-support#lib/rspec/support/method_signature_verifier.rb:256
617
+ def expect_unlimited_arguments; end
618
+
619
+ # pkg:gem/rspec-support#lib/rspec/support/method_signature_verifier.rb:256
620
+ def expect_unlimited_arguments=(_arg0); end
621
+
622
+ # pkg:gem/rspec-support#lib/rspec/support/method_signature_verifier.rb:254
623
+ def keywords; end
624
+
625
+ # pkg:gem/rspec-support#lib/rspec/support/method_signature_verifier.rb:279
626
+ def keywords=(values); end
627
+
628
+ # pkg:gem/rspec-support#lib/rspec/support/method_signature_verifier.rb:254
629
+ def max_count; end
630
+
631
+ # pkg:gem/rspec-support#lib/rspec/support/method_signature_verifier.rb:258
632
+ def max_count=(number); end
633
+
634
+ # pkg:gem/rspec-support#lib/rspec/support/method_signature_verifier.rb:254
635
+ def min_count; end
636
+
637
+ # pkg:gem/rspec-support#lib/rspec/support/method_signature_verifier.rb:265
638
+ def min_count=(number); end
639
+ end
640
+
641
+ # Abstract base class for signature verifiers.
642
+ #
643
+ # @api private
644
+ #
645
+ # pkg:gem/rspec-support#lib/rspec/support/method_signature_verifier.rb:305
646
+ class RSpec::Support::MethodSignatureVerifier
647
+ # pkg:gem/rspec-support#lib/rspec/support/method_signature_verifier.rb:308
648
+ def initialize(signature, args = T.unsafe(nil)); end
649
+
650
+ # pkg:gem/rspec-support#lib/rspec/support/method_signature_verifier.rb:351
651
+ def error_message; end
652
+
653
+ # pkg:gem/rspec-support#lib/rspec/support/method_signature_verifier.rb:306
654
+ def kw_args; end
655
+
656
+ # pkg:gem/rspec-support#lib/rspec/support/method_signature_verifier.rb:306
657
+ def max_non_kw_args; end
658
+
659
+ # pkg:gem/rspec-support#lib/rspec/support/method_signature_verifier.rb:306
660
+ def min_non_kw_args; end
661
+
662
+ # pkg:gem/rspec-support#lib/rspec/support/method_signature_verifier.rb:306
663
+ def non_kw_args; end
664
+
665
+ # pkg:gem/rspec-support#lib/rspec/support/method_signature_verifier.rb:343
666
+ def valid?; end
667
+
668
+ # pkg:gem/rspec-support#lib/rspec/support/method_signature_verifier.rb:315
669
+ def with_expectation(expectation); end
670
+
671
+ private
672
+
673
+ # pkg:gem/rspec-support#lib/rspec/support/method_signature_verifier.rb:382
674
+ def arbitrary_kw_args?; end
675
+
676
+ # pkg:gem/rspec-support#lib/rspec/support/method_signature_verifier.rb:378
677
+ def invalid_kw_args; end
678
+
679
+ # pkg:gem/rspec-support#lib/rspec/support/method_signature_verifier.rb:374
680
+ def missing_kw_args; end
681
+
682
+ # pkg:gem/rspec-support#lib/rspec/support/method_signature_verifier.rb:390
683
+ def split_args(args); end
684
+
685
+ # pkg:gem/rspec-support#lib/rspec/support/method_signature_verifier.rb:386
686
+ def unlimited_args?; end
687
+
688
+ # pkg:gem/rspec-support#lib/rspec/support/method_signature_verifier.rb:370
689
+ def valid_non_kw_args?; end
690
+ end
691
+
692
+ # On 1.8.7, it's in the stdlib.
693
+ # We don't want to load the stdlib, b/c this is a test tool, and can affect
694
+ # the test environment, causing tests to pass where they should fail.
695
+ #
696
+ # So we're transcribing/modifying it from
697
+ # https://github.com/ruby/ruby/blob/v1_8_7_374/lib/thread.rb#L56
698
+ # Some methods we don't need are deleted. Anything I don't
699
+ # understand (there's quite a bit, actually) is left in.
700
+ #
701
+ # Some formatting changes are made to appease the robot overlord:
702
+ # https://travis-ci.org/rspec/rspec-core/jobs/54410874
703
+ # @private
704
+ # On 1.9 and up, this is in core, so we just use the real one
705
+ #
706
+ # pkg:gem/rspec-support#lib/rspec/support/reentrant_mutex.rb:65
707
+ class RSpec::Support::Mutex < ::Thread::Mutex
708
+ class << self
709
+ # pkg:gem/rspec-support#lib/rspec/support/reentrant_mutex.rb:70
710
+ def new; end
711
+ end
712
+ end
713
+
714
+ # If you mock Mutex.new you break our usage of Mutex, so
715
+ # instead we capture the original method to return Mutexes.
716
+ #
717
+ # pkg:gem/rspec-support#lib/rspec/support/reentrant_mutex.rb:68
718
+ RSpec::Support::Mutex::NEW_MUTEX_METHOD = T.let(T.unsafe(nil), Method)
719
+
720
+ # @api private
721
+ #
722
+ # Provides query methods for different OS or OS features.
723
+ #
724
+ # pkg:gem/rspec-support#lib/rspec/support/ruby_features.rb:11
725
+ module RSpec::Support::OS
726
+ private
727
+
728
+ # pkg:gem/rspec-support#lib/rspec/support/ruby_features.rb:14
729
+ def windows?; end
730
+
731
+ # pkg:gem/rspec-support#lib/rspec/support/ruby_features.rb:18
732
+ def windows_file_path?; end
733
+
734
+ class << self
735
+ # pkg:gem/rspec-support#lib/rspec/support/ruby_features.rb:14
736
+ def windows?; end
737
+
738
+ # pkg:gem/rspec-support#lib/rspec/support/ruby_features.rb:18
739
+ def windows_file_path?; end
740
+ end
741
+ end
742
+
743
+ # Provide additional output details beyond what `inspect` provides when
744
+ # printing Time, DateTime, or BigDecimal
745
+ # @api private
746
+ #
747
+ # pkg:gem/rspec-support#lib/rspec/support/object_formatter.rb:10
748
+ class RSpec::Support::ObjectFormatter
749
+ # pkg:gem/rspec-support#lib/rspec/support/object_formatter.rb:29
750
+ def initialize(max_formatted_output_length = T.unsafe(nil)); end
751
+
752
+ # pkg:gem/rspec-support#lib/rspec/support/object_formatter.rb:34
753
+ def format(object); end
754
+
755
+ # pkg:gem/rspec-support#lib/rspec/support/object_formatter.rb:13
756
+ def max_formatted_output_length; end
757
+
758
+ # pkg:gem/rspec-support#lib/rspec/support/object_formatter.rb:13
759
+ def max_formatted_output_length=(_arg0); end
760
+
761
+ # pkg:gem/rspec-support#lib/rspec/support/object_formatter.rb:72
762
+ def prepare_array(array); end
763
+
764
+ # pkg:gem/rspec-support#lib/rspec/support/object_formatter.rb:96
765
+ def prepare_element(element); end
766
+
767
+ # Prepares the provided object to be formatted by wrapping it as needed
768
+ # in something that, when `inspect` is called on it, will produce the
769
+ # desired output.
770
+ #
771
+ # This allows us to apply the desired formatting to hash/array data structures
772
+ # at any level of nesting, simply by walking that structure and replacing items
773
+ # with custom items that have `inspect` defined to return the desired output
774
+ # for that item. Then we can just use `Array#inspect` or `Hash#inspect` to
775
+ # format the entire thing.
776
+ #
777
+ # pkg:gem/rspec-support#lib/rspec/support/object_formatter.rb:58
778
+ def prepare_for_inspection(object); end
779
+
780
+ # pkg:gem/rspec-support#lib/rspec/support/object_formatter.rb:78
781
+ def prepare_hash(input_hash); end
782
+
783
+ # pkg:gem/rspec-support#lib/rspec/support/object_formatter.rb:115
784
+ def recursive_structure?(object); end
785
+
786
+ # pkg:gem/rspec-support#lib/rspec/support/object_formatter.rb:88
787
+ def sort_hash_keys(input_hash); end
788
+
789
+ # pkg:gem/rspec-support#lib/rspec/support/object_formatter.rb:108
790
+ def with_entering_structure(structure); end
791
+
792
+ private
793
+
794
+ # Returns the substring defined by the start_index and end_index
795
+ # If the string ends with a partial ANSI code code then that
796
+ # will be removed as printing partial ANSI
797
+ # codes to the terminal can lead to corruption
798
+ #
799
+ # pkg:gem/rspec-support#lib/rspec/support/object_formatter.rb:270
800
+ def truncate_string(str, start_index, end_index); end
801
+
802
+ class << self
803
+ # Methods are deferred to a default instance of the class to maintain the interface
804
+ # For example, calling ObjectFormatter.format is still possible
805
+ #
806
+ # pkg:gem/rspec-support#lib/rspec/support/object_formatter.rb:17
807
+ def default_instance; end
808
+
809
+ # pkg:gem/rspec-support#lib/rspec/support/object_formatter.rb:21
810
+ def format(object); end
811
+
812
+ # pkg:gem/rspec-support#lib/rspec/support/object_formatter.rb:25
813
+ def prepare_for_inspection(object); end
814
+ end
815
+ end
816
+
817
+ # pkg:gem/rspec-support#lib/rspec/support/object_formatter.rb:129
818
+ class RSpec::Support::ObjectFormatter::BaseInspector < ::Struct
819
+ # pkg:gem/rspec-support#lib/rspec/support/object_formatter.rb:129
820
+ def formatter; end
821
+
822
+ # pkg:gem/rspec-support#lib/rspec/support/object_formatter.rb:129
823
+ def formatter=(_); end
824
+
825
+ # pkg:gem/rspec-support#lib/rspec/support/object_formatter.rb:134
826
+ def inspect; end
827
+
828
+ # pkg:gem/rspec-support#lib/rspec/support/object_formatter.rb:129
829
+ def object; end
830
+
831
+ # pkg:gem/rspec-support#lib/rspec/support/object_formatter.rb:129
832
+ def object=(_); end
833
+
834
+ # pkg:gem/rspec-support#lib/rspec/support/object_formatter.rb:138
835
+ def pretty_print(pp); end
836
+
837
+ class << self
838
+ # pkg:gem/rspec-support#lib/rspec/support/object_formatter.rb:129
839
+ def [](*_arg0); end
840
+
841
+ # pkg:gem/rspec-support#lib/rspec/support/object_formatter.rb:130
842
+ def can_inspect?(_object); end
843
+
844
+ # pkg:gem/rspec-support#lib/rspec/support/object_formatter.rb:129
845
+ def inspect; end
846
+
847
+ # pkg:gem/rspec-support#lib/rspec/support/object_formatter.rb:129
848
+ def keyword_init?; end
849
+
850
+ # pkg:gem/rspec-support#lib/rspec/support/object_formatter.rb:129
851
+ def members; end
852
+
853
+ # pkg:gem/rspec-support#lib/rspec/support/object_formatter.rb:129
854
+ def new(*_arg0); end
855
+ end
856
+ end
857
+
858
+ # pkg:gem/rspec-support#lib/rspec/support/object_formatter.rb:179
859
+ class RSpec::Support::ObjectFormatter::BigDecimalInspector < ::RSpec::Support::ObjectFormatter::BaseInspector
860
+ # pkg:gem/rspec-support#lib/rspec/support/object_formatter.rb:184
861
+ def inspect; end
862
+
863
+ class << self
864
+ # pkg:gem/rspec-support#lib/rspec/support/object_formatter.rb:180
865
+ def can_inspect?(object); end
866
+ end
867
+ end
868
+
869
+ # pkg:gem/rspec-support#lib/rspec/support/object_formatter.rb:161
870
+ class RSpec::Support::ObjectFormatter::DateTimeInspector < ::RSpec::Support::ObjectFormatter::BaseInspector
871
+ # ActiveSupport sometimes overrides inspect. If `ActiveSupport` is
872
+ # defined use a custom format string that includes more time precision.
873
+ #
874
+ # pkg:gem/rspec-support#lib/rspec/support/object_formatter.rb:170
875
+ def inspect; end
876
+
877
+ class << self
878
+ # pkg:gem/rspec-support#lib/rspec/support/object_formatter.rb:164
879
+ def can_inspect?(object); end
880
+ end
881
+ end
882
+
883
+ # pkg:gem/rspec-support#lib/rspec/support/object_formatter.rb:162
884
+ RSpec::Support::ObjectFormatter::DateTimeInspector::FORMAT = T.let(T.unsafe(nil), String)
885
+
886
+ # pkg:gem/rspec-support#lib/rspec/support/object_formatter.rb:226
887
+ class RSpec::Support::ObjectFormatter::DelegatorInspector < ::RSpec::Support::ObjectFormatter::BaseInspector
888
+ # pkg:gem/rspec-support#lib/rspec/support/object_formatter.rb:231
889
+ def inspect; end
890
+
891
+ class << self
892
+ # pkg:gem/rspec-support#lib/rspec/support/object_formatter.rb:227
893
+ def can_inspect?(object); end
894
+ end
895
+ end
896
+
897
+ # pkg:gem/rspec-support#lib/rspec/support/object_formatter.rb:189
898
+ class RSpec::Support::ObjectFormatter::DescribableMatcherInspector < ::RSpec::Support::ObjectFormatter::BaseInspector
899
+ # pkg:gem/rspec-support#lib/rspec/support/object_formatter.rb:194
900
+ def inspect; end
901
+
902
+ class << self
903
+ # pkg:gem/rspec-support#lib/rspec/support/object_formatter.rb:190
904
+ def can_inspect?(object); end
905
+ end
906
+ end
907
+
908
+ # pkg:gem/rspec-support#lib/rspec/support/object_formatter.rb:11
909
+ RSpec::Support::ObjectFormatter::ELLIPSIS = T.let(T.unsafe(nil), String)
910
+
911
+ # pkg:gem/rspec-support#lib/rspec/support/object_formatter.rb:249
912
+ RSpec::Support::ObjectFormatter::INSPECTOR_CLASSES = T.let(T.unsafe(nil), Array)
913
+
914
+ # pkg:gem/rspec-support#lib/rspec/support/object_formatter.rb:119
915
+ class RSpec::Support::ObjectFormatter::InspectableItem < ::Struct
916
+ # pkg:gem/rspec-support#lib/rspec/support/object_formatter.rb:120
917
+ def inspect; end
918
+
919
+ # pkg:gem/rspec-support#lib/rspec/support/object_formatter.rb:124
920
+ def pretty_print(pp); end
921
+
922
+ # pkg:gem/rspec-support#lib/rspec/support/object_formatter.rb:119
923
+ def text; end
924
+
925
+ # pkg:gem/rspec-support#lib/rspec/support/object_formatter.rb:119
926
+ def text=(_); end
927
+
928
+ class << self
929
+ # pkg:gem/rspec-support#lib/rspec/support/object_formatter.rb:119
930
+ def [](*_arg0); end
931
+
932
+ # pkg:gem/rspec-support#lib/rspec/support/object_formatter.rb:119
933
+ def inspect; end
934
+
935
+ # pkg:gem/rspec-support#lib/rspec/support/object_formatter.rb:119
936
+ def keyword_init?; end
937
+
938
+ # pkg:gem/rspec-support#lib/rspec/support/object_formatter.rb:119
939
+ def members; end
940
+
941
+ # pkg:gem/rspec-support#lib/rspec/support/object_formatter.rb:119
942
+ def new(*_arg0); end
943
+ end
944
+ end
945
+
946
+ # pkg:gem/rspec-support#lib/rspec/support/object_formatter.rb:236
947
+ class RSpec::Support::ObjectFormatter::InspectableObjectInspector < ::RSpec::Support::ObjectFormatter::BaseInspector
948
+ # pkg:gem/rspec-support#lib/rspec/support/object_formatter.rb:244
949
+ def inspect; end
950
+
951
+ class << self
952
+ # pkg:gem/rspec-support#lib/rspec/support/object_formatter.rb:237
953
+ def can_inspect?(object); end
954
+ end
955
+ end
956
+
957
+ # pkg:gem/rspec-support#lib/rspec/support/object_formatter.rb:143
958
+ class RSpec::Support::ObjectFormatter::TimeInspector < ::RSpec::Support::ObjectFormatter::BaseInspector
959
+ # for 1.8.7
960
+ #
961
+ # pkg:gem/rspec-support#lib/rspec/support/object_formatter.rb:151
962
+ def inspect; end
963
+
964
+ class << self
965
+ # pkg:gem/rspec-support#lib/rspec/support/object_formatter.rb:146
966
+ def can_inspect?(object); end
967
+ end
968
+ end
969
+
970
+ # pkg:gem/rspec-support#lib/rspec/support/object_formatter.rb:144
971
+ RSpec::Support::ObjectFormatter::TimeInspector::FORMAT = T.let(T.unsafe(nil), String)
972
+
973
+ # pkg:gem/rspec-support#lib/rspec/support/object_formatter.rb:199
974
+ class RSpec::Support::ObjectFormatter::UninspectableObjectInspector < ::RSpec::Support::ObjectFormatter::BaseInspector
975
+ # pkg:gem/rspec-support#lib/rspec/support/object_formatter.rb:209
976
+ def inspect; end
977
+
978
+ # pkg:gem/rspec-support#lib/rspec/support/object_formatter.rb:213
979
+ def klass; end
980
+
981
+ # http://stackoverflow.com/a/2818916
982
+ #
983
+ # pkg:gem/rspec-support#lib/rspec/support/object_formatter.rb:218
984
+ def native_object_id; end
985
+
986
+ class << self
987
+ # pkg:gem/rspec-support#lib/rspec/support/object_formatter.rb:202
988
+ def can_inspect?(object); end
989
+ end
990
+ end
991
+
992
+ # pkg:gem/rspec-support#lib/rspec/support/object_formatter.rb:200
993
+ RSpec::Support::ObjectFormatter::UninspectableObjectInspector::OBJECT_ID_FORMAT = T.let(T.unsafe(nil), String)
994
+
995
+ # Provides recursive constant lookup methods useful for
996
+ # constant stubbing.
997
+ #
998
+ # pkg:gem/rspec-support#lib/rspec/support/recursive_const_methods.rb:7
999
+ module RSpec::Support::RecursiveConstMethods
1000
+ # pkg:gem/rspec-support#lib/rspec/support/recursive_const_methods.rb:45
1001
+ def const_defined_on?(mod, const_name); end
1002
+
1003
+ # pkg:gem/rspec-support#lib/rspec/support/recursive_const_methods.rb:53
1004
+ def constants_defined_on(mod); end
1005
+
1006
+ # pkg:gem/rspec-support#lib/rspec/support/recursive_const_methods.rb:49
1007
+ def get_const_defined_on(mod, const_name); end
1008
+
1009
+ # pkg:gem/rspec-support#lib/rspec/support/recursive_const_methods.rb:73
1010
+ def normalize_const_name(const_name); end
1011
+
1012
+ # pkg:gem/rspec-support#lib/rspec/support/recursive_const_methods.rb:64
1013
+ def recursive_const_defined?(const_name); end
1014
+
1015
+ # pkg:gem/rspec-support#lib/rspec/support/recursive_const_methods.rb:58
1016
+ def recursive_const_get(const_name); end
1017
+ end
1018
+
1019
+ # Allows a thread to lock out other threads from a critical section of code,
1020
+ # while allowing the thread with the lock to reenter that section.
1021
+ #
1022
+ # Based on Monitor as of 2.2 -
1023
+ # https://github.com/ruby/ruby/blob/eb7ddaa3a47bf48045d26c72eb0f263a53524ebc/lib/monitor.rb#L9
1024
+ #
1025
+ # Depends on Mutex, but Mutex is only available as part of core since 1.9.1:
1026
+ # exists - http://ruby-doc.org/core-1.9.1/Mutex.html
1027
+ # dne - http://ruby-doc.org/core-1.9.0/Mutex.html
1028
+ #
1029
+ # @private
1030
+ #
1031
+ # pkg:gem/rspec-support#lib/rspec/support/reentrant_mutex.rb:16
1032
+ class RSpec::Support::ReentrantMutex
1033
+ # pkg:gem/rspec-support#lib/rspec/support/reentrant_mutex.rb:17
1034
+ def initialize; end
1035
+
1036
+ # pkg:gem/rspec-support#lib/rspec/support/reentrant_mutex.rb:23
1037
+ def synchronize; end
1038
+
1039
+ private
1040
+
1041
+ # pkg:gem/rspec-support#lib/rspec/support/reentrant_mutex.rb:35
1042
+ def enter; end
1043
+
1044
+ # pkg:gem/rspec-support#lib/rspec/support/reentrant_mutex.rb:40
1045
+ def exit; end
1046
+ end
1047
+
1048
+ # @api private
1049
+ #
1050
+ # Provides query methods for different rubies
1051
+ #
1052
+ # pkg:gem/rspec-support#lib/rspec/support/ruby_features.rb:26
1053
+ module RSpec::Support::Ruby
1054
+ private
1055
+
1056
+ # pkg:gem/rspec-support#lib/rspec/support/ruby_features.rb:29
1057
+ def jruby?; end
1058
+
1059
+ # pkg:gem/rspec-support#lib/rspec/support/ruby_features.rb:37
1060
+ def jruby_9000?; end
1061
+
1062
+ # pkg:gem/rspec-support#lib/rspec/support/ruby_features.rb:33
1063
+ def jruby_version; end
1064
+
1065
+ # pkg:gem/rspec-support#lib/rspec/support/ruby_features.rb:49
1066
+ def mri?; end
1067
+
1068
+ # pkg:gem/rspec-support#lib/rspec/support/ruby_features.rb:45
1069
+ def non_mri?; end
1070
+
1071
+ # pkg:gem/rspec-support#lib/rspec/support/ruby_features.rb:41
1072
+ def rbx?; end
1073
+
1074
+ # pkg:gem/rspec-support#lib/rspec/support/ruby_features.rb:53
1075
+ def truffleruby?; end
1076
+
1077
+ class << self
1078
+ # pkg:gem/rspec-support#lib/rspec/support/ruby_features.rb:29
1079
+ def jruby?; end
1080
+
1081
+ # pkg:gem/rspec-support#lib/rspec/support/ruby_features.rb:37
1082
+ def jruby_9000?; end
1083
+
1084
+ # pkg:gem/rspec-support#lib/rspec/support/ruby_features.rb:33
1085
+ def jruby_version; end
1086
+
1087
+ # pkg:gem/rspec-support#lib/rspec/support/ruby_features.rb:49
1088
+ def mri?; end
1089
+
1090
+ # pkg:gem/rspec-support#lib/rspec/support/ruby_features.rb:45
1091
+ def non_mri?; end
1092
+
1093
+ # pkg:gem/rspec-support#lib/rspec/support/ruby_features.rb:41
1094
+ def rbx?; end
1095
+
1096
+ # pkg:gem/rspec-support#lib/rspec/support/ruby_features.rb:53
1097
+ def truffleruby?; end
1098
+ end
1099
+ end
1100
+
1101
+ # @api private
1102
+ #
1103
+ # Provides query methods for ruby features that differ among
1104
+ # implementations.
1105
+ #
1106
+ # pkg:gem/rspec-support#lib/rspec/support/ruby_features.rb:62
1107
+ module RSpec::Support::RubyFeatures
1108
+ private
1109
+
1110
+ # pkg:gem/rspec-support#lib/rspec/support/ruby_features.rb:85
1111
+ def caller_locations_supported?; end
1112
+
1113
+ # pkg:gem/rspec-support#lib/rspec/support/ruby_features.rb:155
1114
+ def distincts_kw_args_from_positional_hash?; end
1115
+
1116
+ # On JRuby 1.7 `--1.8` mode, `Process.respond_to?(:fork)` returns true,
1117
+ # but when you try to fork, it raises an error:
1118
+ # NotImplementedError: fork is not available on this platform
1119
+ #
1120
+ # When we drop support for JRuby 1.7 and/or Ruby 1.8, we can drop
1121
+ # this special case.
1122
+ #
1123
+ # pkg:gem/rspec-support#lib/rspec/support/ruby_features.rb:76
1124
+ def fork_supported?; end
1125
+
1126
+ # https://rubyreferences.github.io/rubychanges/3.0.html#keyword-arguments-are-now-fully-separated-from-positional-arguments
1127
+ #
1128
+ # pkg:gem/rspec-support#lib/rspec/support/ruby_features.rb:111
1129
+ def kw_arg_separation?; end
1130
+
1131
+ # pkg:gem/rspec-support#lib/rspec/support/ruby_features.rb:160
1132
+ def kw_args_supported?; end
1133
+
1134
+ # pkg:gem/rspec-support#lib/rspec/support/ruby_features.rb:216
1135
+ def module_prepends_supported?; end
1136
+
1137
+ # pkg:gem/rspec-support#lib/rspec/support/ruby_features.rb:212
1138
+ def module_refinement_supported?; end
1139
+
1140
+ # pkg:gem/rspec-support#lib/rspec/support/ruby_features.rb:81
1141
+ def optional_and_splat_args_supported?; end
1142
+
1143
+ # pkg:gem/rspec-support#lib/rspec/support/ruby_features.rb:164
1144
+ def required_kw_args_supported?; end
1145
+
1146
+ # pkg:gem/rspec-support#lib/rspec/support/ruby_features.rb:146
1147
+ def ripper_supported?; end
1148
+
1149
+ # pkg:gem/rspec-support#lib/rspec/support/ruby_features.rb:90
1150
+ def supports_exception_cause?; end
1151
+
1152
+ # pkg:gem/rspec-support#lib/rspec/support/ruby_features.rb:168
1153
+ def supports_rebinding_module_methods?; end
1154
+
1155
+ # pkg:gem/rspec-support#lib/rspec/support/ruby_features.rb:100
1156
+ def supports_syntax_suggest?; end
1157
+
1158
+ # pkg:gem/rspec-support#lib/rspec/support/ruby_features.rb:121
1159
+ def supports_taint?; end
1160
+
1161
+ class << self
1162
+ # pkg:gem/rspec-support#lib/rspec/support/ruby_features.rb:85
1163
+ def caller_locations_supported?; end
1164
+
1165
+ # pkg:gem/rspec-support#lib/rspec/support/ruby_features.rb:155
1166
+ def distincts_kw_args_from_positional_hash?; end
1167
+
1168
+ # On JRuby 1.7 `--1.8` mode, `Process.respond_to?(:fork)` returns true,
1169
+ # but when you try to fork, it raises an error:
1170
+ # NotImplementedError: fork is not available on this platform
1171
+ #
1172
+ # When we drop support for JRuby 1.7 and/or Ruby 1.8, we can drop
1173
+ # this special case.
1174
+ #
1175
+ # pkg:gem/rspec-support#lib/rspec/support/ruby_features.rb:76
1176
+ def fork_supported?; end
1177
+
1178
+ # https://rubyreferences.github.io/rubychanges/3.0.html#keyword-arguments-are-now-fully-separated-from-positional-arguments
1179
+ #
1180
+ # pkg:gem/rspec-support#lib/rspec/support/ruby_features.rb:111
1181
+ def kw_arg_separation?; end
1182
+
1183
+ # pkg:gem/rspec-support#lib/rspec/support/ruby_features.rb:160
1184
+ def kw_args_supported?; end
1185
+
1186
+ # pkg:gem/rspec-support#lib/rspec/support/ruby_features.rb:216
1187
+ def module_prepends_supported?; end
1188
+
1189
+ # pkg:gem/rspec-support#lib/rspec/support/ruby_features.rb:212
1190
+ def module_refinement_supported?; end
1191
+
1192
+ # pkg:gem/rspec-support#lib/rspec/support/ruby_features.rb:81
1193
+ def optional_and_splat_args_supported?; end
1194
+
1195
+ # pkg:gem/rspec-support#lib/rspec/support/ruby_features.rb:164
1196
+ def required_kw_args_supported?; end
1197
+
1198
+ # pkg:gem/rspec-support#lib/rspec/support/ruby_features.rb:146
1199
+ def ripper_supported?; end
1200
+
1201
+ # pkg:gem/rspec-support#lib/rspec/support/ruby_features.rb:90
1202
+ def supports_exception_cause?; end
1203
+
1204
+ # pkg:gem/rspec-support#lib/rspec/support/ruby_features.rb:168
1205
+ def supports_rebinding_module_methods?; end
1206
+
1207
+ # pkg:gem/rspec-support#lib/rspec/support/ruby_features.rb:100
1208
+ def supports_syntax_suggest?; end
1209
+
1210
+ # pkg:gem/rspec-support#lib/rspec/support/ruby_features.rb:121
1211
+ def supports_taint?; end
1212
+ end
1213
+ end
1214
+
1215
+ # Figures out whether a given method can accept various arguments.
1216
+ # Surprisingly non-trivial.
1217
+ #
1218
+ # @private
1219
+ #
1220
+ # pkg:gem/rspec-support#lib/rspec/support/method_signature_verifier.rb:414
1221
+ RSpec::Support::StrictSignatureVerifier = RSpec::Support::MethodSignatureVerifier
1222
+
1223
+ # pkg:gem/rspec-support#lib/rspec/support/version.rb:5
1224
+ module RSpec::Support::Version; end
1225
+
1226
+ # pkg:gem/rspec-support#lib/rspec/support/version.rb:6
1227
+ RSpec::Support::Version::STRING = T.let(T.unsafe(nil), String)
1228
+
1229
+ # pkg:gem/rspec-support#lib/rspec/support/warnings.rb:8
1230
+ module RSpec::Support::Warnings
1231
+ # pkg:gem/rspec-support#lib/rspec/support/warnings.rb:9
1232
+ def deprecate(deprecated, options = T.unsafe(nil)); end
1233
+
1234
+ # @private
1235
+ #
1236
+ # Used internally to print deprecation warnings
1237
+ # when rspec-core isn't loaded
1238
+ #
1239
+ # pkg:gem/rspec-support#lib/rspec/support/warnings.rb:17
1240
+ def warn_deprecation(message, options = T.unsafe(nil)); end
1241
+
1242
+ # @private
1243
+ #
1244
+ # Used internally to print longer warnings
1245
+ #
1246
+ # pkg:gem/rspec-support#lib/rspec/support/warnings.rb:31
1247
+ def warn_with(message, options = T.unsafe(nil)); end
1248
+
1249
+ # @private
1250
+ #
1251
+ # Used internally to print warnings
1252
+ #
1253
+ # pkg:gem/rspec-support#lib/rspec/support/warnings.rb:24
1254
+ def warning(text, options = T.unsafe(nil)); end
1255
+ end
1256
+
1257
+ # pkg:gem/rspec-support#lib/rspec/support/with_keywords_when_needed.rb:7
1258
+ module RSpec::Support::WithKeywordsWhenNeeded
1259
+ private
1260
+
1261
+ # Remove this in RSpec 4 in favour of explicitly passed in kwargs where
1262
+ # this is used. Works around a warning in Ruby 2.7
1263
+ #
1264
+ # pkg:gem/rspec-support#lib/rspec/support/with_keywords_when_needed.rb:17
1265
+ def class_exec(klass, *args, **_arg2, &block); end
1266
+
1267
+ class << self
1268
+ # Remove this in RSpec 4 in favour of explicitly passed in kwargs where
1269
+ # this is used. Works around a warning in Ruby 2.7
1270
+ #
1271
+ # pkg:gem/rspec-support#lib/rspec/support/with_keywords_when_needed.rb:17
1272
+ def class_exec(klass, *args, **_arg2, &block); end
1273
+ end
1274
+ end