devil_fruit 0.1.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 (374) hide show
  1. checksums.yaml +7 -0
  2. data/CHANGELOG.md +5 -0
  3. data/CODE_OF_CONDUCT.md +84 -0
  4. data/LICENSE.txt +21 -0
  5. data/README.md +39 -0
  6. data/Rakefile +4 -0
  7. data/lib/devil_fruit/format_devil_fruit.rb +12 -0
  8. data/lib/devil_fruit/version.rb +5 -0
  9. data/lib/devil_fruit.rb +9 -0
  10. data/sig/devil_fruit.rbs +4 -0
  11. data/vendor/bin/bundle +109 -0
  12. data/vendor/bin/htmldiff +27 -0
  13. data/vendor/bin/ldiff +27 -0
  14. data/vendor/bin/rake +27 -0
  15. data/vendor/bin/rspec +27 -0
  16. data/vendor/bundle/ruby/3.2.0/bin/htmldiff +29 -0
  17. data/vendor/bundle/ruby/3.2.0/bin/ldiff +29 -0
  18. data/vendor/bundle/ruby/3.2.0/bin/rake +29 -0
  19. data/vendor/bundle/ruby/3.2.0/bin/rspec +29 -0
  20. data/vendor/bundle/ruby/3.2.0/cache/diff-lcs-1.5.0.gem +0 -0
  21. data/vendor/bundle/ruby/3.2.0/cache/rake-13.0.6.gem +0 -0
  22. data/vendor/bundle/ruby/3.2.0/cache/rspec-3.12.0.gem +0 -0
  23. data/vendor/bundle/ruby/3.2.0/cache/rspec-core-3.12.2.gem +0 -0
  24. data/vendor/bundle/ruby/3.2.0/cache/rspec-expectations-3.12.3.gem +0 -0
  25. data/vendor/bundle/ruby/3.2.0/cache/rspec-mocks-3.12.6.gem +0 -0
  26. data/vendor/bundle/ruby/3.2.0/cache/rspec-support-3.12.1.gem +0 -0
  27. data/vendor/bundle/ruby/3.2.0/gems/diff-lcs-1.5.0/.rspec +1 -0
  28. data/vendor/bundle/ruby/3.2.0/gems/diff-lcs-1.5.0/Code-of-Conduct.md +74 -0
  29. data/vendor/bundle/ruby/3.2.0/gems/diff-lcs-1.5.0/Contributing.md +119 -0
  30. data/vendor/bundle/ruby/3.2.0/gems/diff-lcs-1.5.0/History.md +400 -0
  31. data/vendor/bundle/ruby/3.2.0/gems/diff-lcs-1.5.0/License.md +39 -0
  32. data/vendor/bundle/ruby/3.2.0/gems/diff-lcs-1.5.0/Manifest.txt +59 -0
  33. data/vendor/bundle/ruby/3.2.0/gems/diff-lcs-1.5.0/README.rdoc +84 -0
  34. data/vendor/bundle/ruby/3.2.0/gems/diff-lcs-1.5.0/Rakefile +121 -0
  35. data/vendor/bundle/ruby/3.2.0/gems/diff-lcs-1.5.0/bin/htmldiff +35 -0
  36. data/vendor/bundle/ruby/3.2.0/gems/diff-lcs-1.5.0/bin/ldiff +9 -0
  37. data/vendor/bundle/ruby/3.2.0/gems/diff-lcs-1.5.0/docs/COPYING.txt +339 -0
  38. data/vendor/bundle/ruby/3.2.0/gems/diff-lcs-1.5.0/docs/artistic.txt +127 -0
  39. data/vendor/bundle/ruby/3.2.0/gems/diff-lcs-1.5.0/lib/diff/lcs/array.rb +7 -0
  40. data/vendor/bundle/ruby/3.2.0/gems/diff-lcs-1.5.0/lib/diff/lcs/backports.rb +9 -0
  41. data/vendor/bundle/ruby/3.2.0/gems/diff-lcs-1.5.0/lib/diff/lcs/block.rb +37 -0
  42. data/vendor/bundle/ruby/3.2.0/gems/diff-lcs-1.5.0/lib/diff/lcs/callbacks.rb +325 -0
  43. data/vendor/bundle/ruby/3.2.0/gems/diff-lcs-1.5.0/lib/diff/lcs/change.rb +174 -0
  44. data/vendor/bundle/ruby/3.2.0/gems/diff-lcs-1.5.0/lib/diff/lcs/htmldiff.rb +150 -0
  45. data/vendor/bundle/ruby/3.2.0/gems/diff-lcs-1.5.0/lib/diff/lcs/hunk.rb +358 -0
  46. data/vendor/bundle/ruby/3.2.0/gems/diff-lcs-1.5.0/lib/diff/lcs/internals.rb +308 -0
  47. data/vendor/bundle/ruby/3.2.0/gems/diff-lcs-1.5.0/lib/diff/lcs/ldiff.rb +171 -0
  48. data/vendor/bundle/ruby/3.2.0/gems/diff-lcs-1.5.0/lib/diff/lcs/string.rb +5 -0
  49. data/vendor/bundle/ruby/3.2.0/gems/diff-lcs-1.5.0/lib/diff/lcs.rb +739 -0
  50. data/vendor/bundle/ruby/3.2.0/gems/diff-lcs-1.5.0/lib/diff-lcs.rb +3 -0
  51. data/vendor/bundle/ruby/3.2.0/gems/diff-lcs-1.5.0/spec/change_spec.rb +89 -0
  52. data/vendor/bundle/ruby/3.2.0/gems/diff-lcs-1.5.0/spec/diff_spec.rb +51 -0
  53. data/vendor/bundle/ruby/3.2.0/gems/diff-lcs-1.5.0/spec/fixtures/aX +1 -0
  54. data/vendor/bundle/ruby/3.2.0/gems/diff-lcs-1.5.0/spec/fixtures/bXaX +1 -0
  55. data/vendor/bundle/ruby/3.2.0/gems/diff-lcs-1.5.0/spec/fixtures/ds1.csv +50 -0
  56. data/vendor/bundle/ruby/3.2.0/gems/diff-lcs-1.5.0/spec/fixtures/ds2.csv +51 -0
  57. data/vendor/bundle/ruby/3.2.0/gems/diff-lcs-1.5.0/spec/fixtures/ldiff/output.diff +4 -0
  58. data/vendor/bundle/ruby/3.2.0/gems/diff-lcs-1.5.0/spec/fixtures/ldiff/output.diff-c +7 -0
  59. data/vendor/bundle/ruby/3.2.0/gems/diff-lcs-1.5.0/spec/fixtures/ldiff/output.diff-e +3 -0
  60. data/vendor/bundle/ruby/3.2.0/gems/diff-lcs-1.5.0/spec/fixtures/ldiff/output.diff-f +3 -0
  61. data/vendor/bundle/ruby/3.2.0/gems/diff-lcs-1.5.0/spec/fixtures/ldiff/output.diff-u +5 -0
  62. data/vendor/bundle/ruby/3.2.0/gems/diff-lcs-1.5.0/spec/fixtures/ldiff/output.diff.chef +4 -0
  63. data/vendor/bundle/ruby/3.2.0/gems/diff-lcs-1.5.0/spec/fixtures/ldiff/output.diff.chef-c +15 -0
  64. data/vendor/bundle/ruby/3.2.0/gems/diff-lcs-1.5.0/spec/fixtures/ldiff/output.diff.chef-e +3 -0
  65. data/vendor/bundle/ruby/3.2.0/gems/diff-lcs-1.5.0/spec/fixtures/ldiff/output.diff.chef-f +3 -0
  66. data/vendor/bundle/ruby/3.2.0/gems/diff-lcs-1.5.0/spec/fixtures/ldiff/output.diff.chef-u +9 -0
  67. data/vendor/bundle/ruby/3.2.0/gems/diff-lcs-1.5.0/spec/fixtures/ldiff/output.diff.chef2 +7 -0
  68. data/vendor/bundle/ruby/3.2.0/gems/diff-lcs-1.5.0/spec/fixtures/ldiff/output.diff.chef2-c +20 -0
  69. data/vendor/bundle/ruby/3.2.0/gems/diff-lcs-1.5.0/spec/fixtures/ldiff/output.diff.chef2-d +7 -0
  70. data/vendor/bundle/ruby/3.2.0/gems/diff-lcs-1.5.0/spec/fixtures/ldiff/output.diff.chef2-e +7 -0
  71. data/vendor/bundle/ruby/3.2.0/gems/diff-lcs-1.5.0/spec/fixtures/ldiff/output.diff.chef2-f +7 -0
  72. data/vendor/bundle/ruby/3.2.0/gems/diff-lcs-1.5.0/spec/fixtures/ldiff/output.diff.chef2-u +16 -0
  73. data/vendor/bundle/ruby/3.2.0/gems/diff-lcs-1.5.0/spec/fixtures/new-chef +4 -0
  74. data/vendor/bundle/ruby/3.2.0/gems/diff-lcs-1.5.0/spec/fixtures/new-chef2 +17 -0
  75. data/vendor/bundle/ruby/3.2.0/gems/diff-lcs-1.5.0/spec/fixtures/old-chef +4 -0
  76. data/vendor/bundle/ruby/3.2.0/gems/diff-lcs-1.5.0/spec/fixtures/old-chef2 +14 -0
  77. data/vendor/bundle/ruby/3.2.0/gems/diff-lcs-1.5.0/spec/hunk_spec.rb +83 -0
  78. data/vendor/bundle/ruby/3.2.0/gems/diff-lcs-1.5.0/spec/issues_spec.rb +154 -0
  79. data/vendor/bundle/ruby/3.2.0/gems/diff-lcs-1.5.0/spec/lcs_spec.rb +56 -0
  80. data/vendor/bundle/ruby/3.2.0/gems/diff-lcs-1.5.0/spec/ldiff_spec.rb +87 -0
  81. data/vendor/bundle/ruby/3.2.0/gems/diff-lcs-1.5.0/spec/patch_spec.rb +416 -0
  82. data/vendor/bundle/ruby/3.2.0/gems/diff-lcs-1.5.0/spec/sdiff_spec.rb +214 -0
  83. data/vendor/bundle/ruby/3.2.0/gems/diff-lcs-1.5.0/spec/spec_helper.rb +374 -0
  84. data/vendor/bundle/ruby/3.2.0/gems/diff-lcs-1.5.0/spec/traverse_balanced_spec.rb +310 -0
  85. data/vendor/bundle/ruby/3.2.0/gems/diff-lcs-1.5.0/spec/traverse_sequences_spec.rb +137 -0
  86. data/vendor/bundle/ruby/3.2.0/gems/rake-13.0.6/History.rdoc +2403 -0
  87. data/vendor/bundle/ruby/3.2.0/gems/rake-13.0.6/MIT-LICENSE +21 -0
  88. data/vendor/bundle/ruby/3.2.0/gems/rake-13.0.6/README.rdoc +155 -0
  89. data/vendor/bundle/ruby/3.2.0/gems/rake-13.0.6/doc/command_line_usage.rdoc +158 -0
  90. data/vendor/bundle/ruby/3.2.0/gems/rake-13.0.6/doc/example/Rakefile1 +38 -0
  91. data/vendor/bundle/ruby/3.2.0/gems/rake-13.0.6/doc/example/Rakefile2 +35 -0
  92. data/vendor/bundle/ruby/3.2.0/gems/rake-13.0.6/doc/example/a.c +6 -0
  93. data/vendor/bundle/ruby/3.2.0/gems/rake-13.0.6/doc/example/b.c +6 -0
  94. data/vendor/bundle/ruby/3.2.0/gems/rake-13.0.6/doc/example/main.c +11 -0
  95. data/vendor/bundle/ruby/3.2.0/gems/rake-13.0.6/doc/glossary.rdoc +42 -0
  96. data/vendor/bundle/ruby/3.2.0/gems/rake-13.0.6/doc/jamis.rb +592 -0
  97. data/vendor/bundle/ruby/3.2.0/gems/rake-13.0.6/doc/proto_rake.rdoc +127 -0
  98. data/vendor/bundle/ruby/3.2.0/gems/rake-13.0.6/doc/rake.1 +156 -0
  99. data/vendor/bundle/ruby/3.2.0/gems/rake-13.0.6/doc/rakefile.rdoc +622 -0
  100. data/vendor/bundle/ruby/3.2.0/gems/rake-13.0.6/doc/rational.rdoc +151 -0
  101. data/vendor/bundle/ruby/3.2.0/gems/rake-13.0.6/exe/rake +27 -0
  102. data/vendor/bundle/ruby/3.2.0/gems/rake-13.0.6/lib/rake/application.rb +831 -0
  103. data/vendor/bundle/ruby/3.2.0/gems/rake-13.0.6/lib/rake/backtrace.rb +24 -0
  104. data/vendor/bundle/ruby/3.2.0/gems/rake-13.0.6/lib/rake/clean.rb +78 -0
  105. data/vendor/bundle/ruby/3.2.0/gems/rake-13.0.6/lib/rake/cloneable.rb +17 -0
  106. data/vendor/bundle/ruby/3.2.0/gems/rake-13.0.6/lib/rake/cpu_counter.rb +107 -0
  107. data/vendor/bundle/ruby/3.2.0/gems/rake-13.0.6/lib/rake/default_loader.rb +15 -0
  108. data/vendor/bundle/ruby/3.2.0/gems/rake-13.0.6/lib/rake/dsl_definition.rb +195 -0
  109. data/vendor/bundle/ruby/3.2.0/gems/rake-13.0.6/lib/rake/early_time.rb +22 -0
  110. data/vendor/bundle/ruby/3.2.0/gems/rake-13.0.6/lib/rake/ext/core.rb +26 -0
  111. data/vendor/bundle/ruby/3.2.0/gems/rake-13.0.6/lib/rake/ext/string.rb +176 -0
  112. data/vendor/bundle/ruby/3.2.0/gems/rake-13.0.6/lib/rake/file_creation_task.rb +25 -0
  113. data/vendor/bundle/ruby/3.2.0/gems/rake-13.0.6/lib/rake/file_list.rb +435 -0
  114. data/vendor/bundle/ruby/3.2.0/gems/rake-13.0.6/lib/rake/file_task.rb +54 -0
  115. data/vendor/bundle/ruby/3.2.0/gems/rake-13.0.6/lib/rake/file_utils.rb +134 -0
  116. data/vendor/bundle/ruby/3.2.0/gems/rake-13.0.6/lib/rake/file_utils_ext.rb +134 -0
  117. data/vendor/bundle/ruby/3.2.0/gems/rake-13.0.6/lib/rake/invocation_chain.rb +57 -0
  118. data/vendor/bundle/ruby/3.2.0/gems/rake-13.0.6/lib/rake/invocation_exception_mixin.rb +17 -0
  119. data/vendor/bundle/ruby/3.2.0/gems/rake-13.0.6/lib/rake/late_time.rb +18 -0
  120. data/vendor/bundle/ruby/3.2.0/gems/rake-13.0.6/lib/rake/linked_list.rb +112 -0
  121. data/vendor/bundle/ruby/3.2.0/gems/rake-13.0.6/lib/rake/loaders/makefile.rb +54 -0
  122. data/vendor/bundle/ruby/3.2.0/gems/rake-13.0.6/lib/rake/multi_task.rb +14 -0
  123. data/vendor/bundle/ruby/3.2.0/gems/rake-13.0.6/lib/rake/name_space.rb +38 -0
  124. data/vendor/bundle/ruby/3.2.0/gems/rake-13.0.6/lib/rake/packagetask.rb +222 -0
  125. data/vendor/bundle/ruby/3.2.0/gems/rake-13.0.6/lib/rake/phony.rb +16 -0
  126. data/vendor/bundle/ruby/3.2.0/gems/rake-13.0.6/lib/rake/private_reader.rb +21 -0
  127. data/vendor/bundle/ruby/3.2.0/gems/rake-13.0.6/lib/rake/promise.rb +100 -0
  128. data/vendor/bundle/ruby/3.2.0/gems/rake-13.0.6/lib/rake/pseudo_status.rb +30 -0
  129. data/vendor/bundle/ruby/3.2.0/gems/rake-13.0.6/lib/rake/rake_module.rb +67 -0
  130. data/vendor/bundle/ruby/3.2.0/gems/rake-13.0.6/lib/rake/rake_test_loader.rb +27 -0
  131. data/vendor/bundle/ruby/3.2.0/gems/rake-13.0.6/lib/rake/rule_recursion_overflow_error.rb +20 -0
  132. data/vendor/bundle/ruby/3.2.0/gems/rake-13.0.6/lib/rake/scope.rb +43 -0
  133. data/vendor/bundle/ruby/3.2.0/gems/rake-13.0.6/lib/rake/task.rb +434 -0
  134. data/vendor/bundle/ruby/3.2.0/gems/rake-13.0.6/lib/rake/task_argument_error.rb +8 -0
  135. data/vendor/bundle/ruby/3.2.0/gems/rake-13.0.6/lib/rake/task_arguments.rb +109 -0
  136. data/vendor/bundle/ruby/3.2.0/gems/rake-13.0.6/lib/rake/task_manager.rb +331 -0
  137. data/vendor/bundle/ruby/3.2.0/gems/rake-13.0.6/lib/rake/tasklib.rb +12 -0
  138. data/vendor/bundle/ruby/3.2.0/gems/rake-13.0.6/lib/rake/testtask.rb +189 -0
  139. data/vendor/bundle/ruby/3.2.0/gems/rake-13.0.6/lib/rake/thread_history_display.rb +49 -0
  140. data/vendor/bundle/ruby/3.2.0/gems/rake-13.0.6/lib/rake/thread_pool.rb +163 -0
  141. data/vendor/bundle/ruby/3.2.0/gems/rake-13.0.6/lib/rake/trace_output.rb +23 -0
  142. data/vendor/bundle/ruby/3.2.0/gems/rake-13.0.6/lib/rake/version.rb +10 -0
  143. data/vendor/bundle/ruby/3.2.0/gems/rake-13.0.6/lib/rake/win32.rb +51 -0
  144. data/vendor/bundle/ruby/3.2.0/gems/rake-13.0.6/lib/rake.rb +71 -0
  145. data/vendor/bundle/ruby/3.2.0/gems/rake-13.0.6/rake.gemspec +100 -0
  146. data/vendor/bundle/ruby/3.2.0/gems/rspec-3.12.0/LICENSE.md +27 -0
  147. data/vendor/bundle/ruby/3.2.0/gems/rspec-3.12.0/README.md +47 -0
  148. data/vendor/bundle/ruby/3.2.0/gems/rspec-3.12.0/lib/rspec/version.rb +5 -0
  149. data/vendor/bundle/ruby/3.2.0/gems/rspec-3.12.0/lib/rspec.rb +3 -0
  150. data/vendor/bundle/ruby/3.2.0/gems/rspec-core-3.12.2/.document +5 -0
  151. data/vendor/bundle/ruby/3.2.0/gems/rspec-core-3.12.2/.yardopts +8 -0
  152. data/vendor/bundle/ruby/3.2.0/gems/rspec-core-3.12.2/Changelog.md +2375 -0
  153. data/vendor/bundle/ruby/3.2.0/gems/rspec-core-3.12.2/LICENSE.md +26 -0
  154. data/vendor/bundle/ruby/3.2.0/gems/rspec-core-3.12.2/README.md +384 -0
  155. data/vendor/bundle/ruby/3.2.0/gems/rspec-core-3.12.2/exe/rspec +4 -0
  156. data/vendor/bundle/ruby/3.2.0/gems/rspec-core-3.12.2/lib/rspec/autorun.rb +3 -0
  157. data/vendor/bundle/ruby/3.2.0/gems/rspec-core-3.12.2/lib/rspec/core/backtrace_formatter.rb +65 -0
  158. data/vendor/bundle/ruby/3.2.0/gems/rspec-core-3.12.2/lib/rspec/core/bisect/coordinator.rb +62 -0
  159. data/vendor/bundle/ruby/3.2.0/gems/rspec-core-3.12.2/lib/rspec/core/bisect/example_minimizer.rb +173 -0
  160. data/vendor/bundle/ruby/3.2.0/gems/rspec-core-3.12.2/lib/rspec/core/bisect/fork_runner.rb +138 -0
  161. data/vendor/bundle/ruby/3.2.0/gems/rspec-core-3.12.2/lib/rspec/core/bisect/server.rb +61 -0
  162. data/vendor/bundle/ruby/3.2.0/gems/rspec-core-3.12.2/lib/rspec/core/bisect/shell_command.rb +126 -0
  163. data/vendor/bundle/ruby/3.2.0/gems/rspec-core-3.12.2/lib/rspec/core/bisect/shell_runner.rb +73 -0
  164. data/vendor/bundle/ruby/3.2.0/gems/rspec-core-3.12.2/lib/rspec/core/bisect/utilities.rb +69 -0
  165. data/vendor/bundle/ruby/3.2.0/gems/rspec-core-3.12.2/lib/rspec/core/configuration.rb +2385 -0
  166. data/vendor/bundle/ruby/3.2.0/gems/rspec-core-3.12.2/lib/rspec/core/configuration_options.rb +233 -0
  167. data/vendor/bundle/ruby/3.2.0/gems/rspec-core-3.12.2/lib/rspec/core/did_you_mean.rb +46 -0
  168. data/vendor/bundle/ruby/3.2.0/gems/rspec-core-3.12.2/lib/rspec/core/drb.rb +120 -0
  169. data/vendor/bundle/ruby/3.2.0/gems/rspec-core-3.12.2/lib/rspec/core/dsl.rb +98 -0
  170. data/vendor/bundle/ruby/3.2.0/gems/rspec-core-3.12.2/lib/rspec/core/example.rb +666 -0
  171. data/vendor/bundle/ruby/3.2.0/gems/rspec-core-3.12.2/lib/rspec/core/example_group.rb +905 -0
  172. data/vendor/bundle/ruby/3.2.0/gems/rspec-core-3.12.2/lib/rspec/core/example_status_persister.rb +235 -0
  173. data/vendor/bundle/ruby/3.2.0/gems/rspec-core-3.12.2/lib/rspec/core/filter_manager.rb +231 -0
  174. data/vendor/bundle/ruby/3.2.0/gems/rspec-core-3.12.2/lib/rspec/core/flat_map.rb +20 -0
  175. data/vendor/bundle/ruby/3.2.0/gems/rspec-core-3.12.2/lib/rspec/core/formatters/base_bisect_formatter.rb +45 -0
  176. data/vendor/bundle/ruby/3.2.0/gems/rspec-core-3.12.2/lib/rspec/core/formatters/base_formatter.rb +70 -0
  177. data/vendor/bundle/ruby/3.2.0/gems/rspec-core-3.12.2/lib/rspec/core/formatters/base_text_formatter.rb +75 -0
  178. data/vendor/bundle/ruby/3.2.0/gems/rspec-core-3.12.2/lib/rspec/core/formatters/bisect_drb_formatter.rb +29 -0
  179. data/vendor/bundle/ruby/3.2.0/gems/rspec-core-3.12.2/lib/rspec/core/formatters/bisect_progress_formatter.rb +157 -0
  180. data/vendor/bundle/ruby/3.2.0/gems/rspec-core-3.12.2/lib/rspec/core/formatters/console_codes.rb +76 -0
  181. data/vendor/bundle/ruby/3.2.0/gems/rspec-core-3.12.2/lib/rspec/core/formatters/deprecation_formatter.rb +223 -0
  182. data/vendor/bundle/ruby/3.2.0/gems/rspec-core-3.12.2/lib/rspec/core/formatters/documentation_formatter.rb +102 -0
  183. data/vendor/bundle/ruby/3.2.0/gems/rspec-core-3.12.2/lib/rspec/core/formatters/exception_presenter.rb +525 -0
  184. data/vendor/bundle/ruby/3.2.0/gems/rspec-core-3.12.2/lib/rspec/core/formatters/failure_list_formatter.rb +23 -0
  185. data/vendor/bundle/ruby/3.2.0/gems/rspec-core-3.12.2/lib/rspec/core/formatters/fallback_message_formatter.rb +28 -0
  186. data/vendor/bundle/ruby/3.2.0/gems/rspec-core-3.12.2/lib/rspec/core/formatters/helpers.rb +118 -0
  187. data/vendor/bundle/ruby/3.2.0/gems/rspec-core-3.12.2/lib/rspec/core/formatters/html_formatter.rb +153 -0
  188. data/vendor/bundle/ruby/3.2.0/gems/rspec-core-3.12.2/lib/rspec/core/formatters/html_printer.rb +412 -0
  189. data/vendor/bundle/ruby/3.2.0/gems/rspec-core-3.12.2/lib/rspec/core/formatters/html_snippet_extractor.rb +120 -0
  190. data/vendor/bundle/ruby/3.2.0/gems/rspec-core-3.12.2/lib/rspec/core/formatters/json_formatter.rb +102 -0
  191. data/vendor/bundle/ruby/3.2.0/gems/rspec-core-3.12.2/lib/rspec/core/formatters/profile_formatter.rb +68 -0
  192. data/vendor/bundle/ruby/3.2.0/gems/rspec-core-3.12.2/lib/rspec/core/formatters/progress_formatter.rb +29 -0
  193. data/vendor/bundle/ruby/3.2.0/gems/rspec-core-3.12.2/lib/rspec/core/formatters/protocol.rb +182 -0
  194. data/vendor/bundle/ruby/3.2.0/gems/rspec-core-3.12.2/lib/rspec/core/formatters/snippet_extractor.rb +134 -0
  195. data/vendor/bundle/ruby/3.2.0/gems/rspec-core-3.12.2/lib/rspec/core/formatters/syntax_highlighter.rb +91 -0
  196. data/vendor/bundle/ruby/3.2.0/gems/rspec-core-3.12.2/lib/rspec/core/formatters.rb +279 -0
  197. data/vendor/bundle/ruby/3.2.0/gems/rspec-core-3.12.2/lib/rspec/core/hooks.rb +646 -0
  198. data/vendor/bundle/ruby/3.2.0/gems/rspec-core-3.12.2/lib/rspec/core/invocations.rb +87 -0
  199. data/vendor/bundle/ruby/3.2.0/gems/rspec-core-3.12.2/lib/rspec/core/memoized_helpers.rb +580 -0
  200. data/vendor/bundle/ruby/3.2.0/gems/rspec-core-3.12.2/lib/rspec/core/metadata.rb +498 -0
  201. data/vendor/bundle/ruby/3.2.0/gems/rspec-core-3.12.2/lib/rspec/core/metadata_filter.rb +255 -0
  202. data/vendor/bundle/ruby/3.2.0/gems/rspec-core-3.12.2/lib/rspec/core/minitest_assertions_adapter.rb +31 -0
  203. data/vendor/bundle/ruby/3.2.0/gems/rspec-core-3.12.2/lib/rspec/core/mocking_adapters/flexmock.rb +31 -0
  204. data/vendor/bundle/ruby/3.2.0/gems/rspec-core-3.12.2/lib/rspec/core/mocking_adapters/mocha.rb +57 -0
  205. data/vendor/bundle/ruby/3.2.0/gems/rspec-core-3.12.2/lib/rspec/core/mocking_adapters/null.rb +14 -0
  206. data/vendor/bundle/ruby/3.2.0/gems/rspec-core-3.12.2/lib/rspec/core/mocking_adapters/rr.rb +31 -0
  207. data/vendor/bundle/ruby/3.2.0/gems/rspec-core-3.12.2/lib/rspec/core/mocking_adapters/rspec.rb +32 -0
  208. data/vendor/bundle/ruby/3.2.0/gems/rspec-core-3.12.2/lib/rspec/core/notifications.rb +521 -0
  209. data/vendor/bundle/ruby/3.2.0/gems/rspec-core-3.12.2/lib/rspec/core/option_parser.rb +323 -0
  210. data/vendor/bundle/ruby/3.2.0/gems/rspec-core-3.12.2/lib/rspec/core/ordering.rb +169 -0
  211. data/vendor/bundle/ruby/3.2.0/gems/rspec-core-3.12.2/lib/rspec/core/output_wrapper.rb +29 -0
  212. data/vendor/bundle/ruby/3.2.0/gems/rspec-core-3.12.2/lib/rspec/core/pending.rb +157 -0
  213. data/vendor/bundle/ruby/3.2.0/gems/rspec-core-3.12.2/lib/rspec/core/profiler.rb +34 -0
  214. data/vendor/bundle/ruby/3.2.0/gems/rspec-core-3.12.2/lib/rspec/core/project_initializer/.rspec +1 -0
  215. data/vendor/bundle/ruby/3.2.0/gems/rspec-core-3.12.2/lib/rspec/core/project_initializer/spec/spec_helper.rb +98 -0
  216. data/vendor/bundle/ruby/3.2.0/gems/rspec-core-3.12.2/lib/rspec/core/project_initializer.rb +48 -0
  217. data/vendor/bundle/ruby/3.2.0/gems/rspec-core-3.12.2/lib/rspec/core/rake_task.rb +188 -0
  218. data/vendor/bundle/ruby/3.2.0/gems/rspec-core-3.12.2/lib/rspec/core/reporter.rb +265 -0
  219. data/vendor/bundle/ruby/3.2.0/gems/rspec-core-3.12.2/lib/rspec/core/ruby_project.rb +53 -0
  220. data/vendor/bundle/ruby/3.2.0/gems/rspec-core-3.12.2/lib/rspec/core/runner.rb +212 -0
  221. data/vendor/bundle/ruby/3.2.0/gems/rspec-core-3.12.2/lib/rspec/core/sandbox.rb +37 -0
  222. data/vendor/bundle/ruby/3.2.0/gems/rspec-core-3.12.2/lib/rspec/core/set.rb +54 -0
  223. data/vendor/bundle/ruby/3.2.0/gems/rspec-core-3.12.2/lib/rspec/core/shared_context.rb +55 -0
  224. data/vendor/bundle/ruby/3.2.0/gems/rspec-core-3.12.2/lib/rspec/core/shared_example_group.rb +271 -0
  225. data/vendor/bundle/ruby/3.2.0/gems/rspec-core-3.12.2/lib/rspec/core/shell_escape.rb +49 -0
  226. data/vendor/bundle/ruby/3.2.0/gems/rspec-core-3.12.2/lib/rspec/core/test_unit_assertions_adapter.rb +30 -0
  227. data/vendor/bundle/ruby/3.2.0/gems/rspec-core-3.12.2/lib/rspec/core/version.rb +9 -0
  228. data/vendor/bundle/ruby/3.2.0/gems/rspec-core-3.12.2/lib/rspec/core/warnings.rb +40 -0
  229. data/vendor/bundle/ruby/3.2.0/gems/rspec-core-3.12.2/lib/rspec/core/world.rb +287 -0
  230. data/vendor/bundle/ruby/3.2.0/gems/rspec-core-3.12.2/lib/rspec/core.rb +212 -0
  231. data/vendor/bundle/ruby/3.2.0/gems/rspec-expectations-3.12.3/.document +5 -0
  232. data/vendor/bundle/ruby/3.2.0/gems/rspec-expectations-3.12.3/.yardopts +6 -0
  233. data/vendor/bundle/ruby/3.2.0/gems/rspec-expectations-3.12.3/Changelog.md +1309 -0
  234. data/vendor/bundle/ruby/3.2.0/gems/rspec-expectations-3.12.3/LICENSE.md +25 -0
  235. data/vendor/bundle/ruby/3.2.0/gems/rspec-expectations-3.12.3/README.md +320 -0
  236. data/vendor/bundle/ruby/3.2.0/gems/rspec-expectations-3.12.3/lib/rspec/expectations/block_snippet_extractor.rb +253 -0
  237. data/vendor/bundle/ruby/3.2.0/gems/rspec-expectations-3.12.3/lib/rspec/expectations/configuration.rb +230 -0
  238. data/vendor/bundle/ruby/3.2.0/gems/rspec-expectations-3.12.3/lib/rspec/expectations/expectation_target.rb +163 -0
  239. data/vendor/bundle/ruby/3.2.0/gems/rspec-expectations-3.12.3/lib/rspec/expectations/fail_with.rb +39 -0
  240. data/vendor/bundle/ruby/3.2.0/gems/rspec-expectations-3.12.3/lib/rspec/expectations/failure_aggregator.rb +229 -0
  241. data/vendor/bundle/ruby/3.2.0/gems/rspec-expectations-3.12.3/lib/rspec/expectations/handler.rb +182 -0
  242. data/vendor/bundle/ruby/3.2.0/gems/rspec-expectations-3.12.3/lib/rspec/expectations/minitest_integration.rb +58 -0
  243. data/vendor/bundle/ruby/3.2.0/gems/rspec-expectations-3.12.3/lib/rspec/expectations/syntax.rb +132 -0
  244. data/vendor/bundle/ruby/3.2.0/gems/rspec-expectations-3.12.3/lib/rspec/expectations/version.rb +8 -0
  245. data/vendor/bundle/ruby/3.2.0/gems/rspec-expectations-3.12.3/lib/rspec/expectations.rb +82 -0
  246. data/vendor/bundle/ruby/3.2.0/gems/rspec-expectations-3.12.3/lib/rspec/matchers/aliased_matcher.rb +116 -0
  247. data/vendor/bundle/ruby/3.2.0/gems/rspec-expectations-3.12.3/lib/rspec/matchers/built_in/all.rb +86 -0
  248. data/vendor/bundle/ruby/3.2.0/gems/rspec-expectations-3.12.3/lib/rspec/matchers/built_in/base_matcher.rb +198 -0
  249. data/vendor/bundle/ruby/3.2.0/gems/rspec-expectations-3.12.3/lib/rspec/matchers/built_in/be.rb +191 -0
  250. data/vendor/bundle/ruby/3.2.0/gems/rspec-expectations-3.12.3/lib/rspec/matchers/built_in/be_between.rb +77 -0
  251. data/vendor/bundle/ruby/3.2.0/gems/rspec-expectations-3.12.3/lib/rspec/matchers/built_in/be_instance_of.rb +26 -0
  252. data/vendor/bundle/ruby/3.2.0/gems/rspec-expectations-3.12.3/lib/rspec/matchers/built_in/be_kind_of.rb +20 -0
  253. data/vendor/bundle/ruby/3.2.0/gems/rspec-expectations-3.12.3/lib/rspec/matchers/built_in/be_within.rb +72 -0
  254. data/vendor/bundle/ruby/3.2.0/gems/rspec-expectations-3.12.3/lib/rspec/matchers/built_in/change.rb +450 -0
  255. data/vendor/bundle/ruby/3.2.0/gems/rspec-expectations-3.12.3/lib/rspec/matchers/built_in/compound.rb +290 -0
  256. data/vendor/bundle/ruby/3.2.0/gems/rspec-expectations-3.12.3/lib/rspec/matchers/built_in/contain_exactly.rb +310 -0
  257. data/vendor/bundle/ruby/3.2.0/gems/rspec-expectations-3.12.3/lib/rspec/matchers/built_in/count_expectation.rb +169 -0
  258. data/vendor/bundle/ruby/3.2.0/gems/rspec-expectations-3.12.3/lib/rspec/matchers/built_in/cover.rb +24 -0
  259. data/vendor/bundle/ruby/3.2.0/gems/rspec-expectations-3.12.3/lib/rspec/matchers/built_in/eq.rb +40 -0
  260. data/vendor/bundle/ruby/3.2.0/gems/rspec-expectations-3.12.3/lib/rspec/matchers/built_in/eql.rb +34 -0
  261. data/vendor/bundle/ruby/3.2.0/gems/rspec-expectations-3.12.3/lib/rspec/matchers/built_in/equal.rb +81 -0
  262. data/vendor/bundle/ruby/3.2.0/gems/rspec-expectations-3.12.3/lib/rspec/matchers/built_in/exist.rb +90 -0
  263. data/vendor/bundle/ruby/3.2.0/gems/rspec-expectations-3.12.3/lib/rspec/matchers/built_in/has.rb +167 -0
  264. data/vendor/bundle/ruby/3.2.0/gems/rspec-expectations-3.12.3/lib/rspec/matchers/built_in/have_attributes.rb +114 -0
  265. data/vendor/bundle/ruby/3.2.0/gems/rspec-expectations-3.12.3/lib/rspec/matchers/built_in/include.rb +213 -0
  266. data/vendor/bundle/ruby/3.2.0/gems/rspec-expectations-3.12.3/lib/rspec/matchers/built_in/match.rb +106 -0
  267. data/vendor/bundle/ruby/3.2.0/gems/rspec-expectations-3.12.3/lib/rspec/matchers/built_in/operators.rb +128 -0
  268. data/vendor/bundle/ruby/3.2.0/gems/rspec-expectations-3.12.3/lib/rspec/matchers/built_in/output.rb +207 -0
  269. data/vendor/bundle/ruby/3.2.0/gems/rspec-expectations-3.12.3/lib/rspec/matchers/built_in/raise_error.rb +271 -0
  270. data/vendor/bundle/ruby/3.2.0/gems/rspec-expectations-3.12.3/lib/rspec/matchers/built_in/respond_to.rb +200 -0
  271. data/vendor/bundle/ruby/3.2.0/gems/rspec-expectations-3.12.3/lib/rspec/matchers/built_in/satisfy.rb +60 -0
  272. data/vendor/bundle/ruby/3.2.0/gems/rspec-expectations-3.12.3/lib/rspec/matchers/built_in/start_or_end_with.rb +94 -0
  273. data/vendor/bundle/ruby/3.2.0/gems/rspec-expectations-3.12.3/lib/rspec/matchers/built_in/throw_symbol.rb +138 -0
  274. data/vendor/bundle/ruby/3.2.0/gems/rspec-expectations-3.12.3/lib/rspec/matchers/built_in/yield.rb +375 -0
  275. data/vendor/bundle/ruby/3.2.0/gems/rspec-expectations-3.12.3/lib/rspec/matchers/built_in.rb +53 -0
  276. data/vendor/bundle/ruby/3.2.0/gems/rspec-expectations-3.12.3/lib/rspec/matchers/composable.rb +171 -0
  277. data/vendor/bundle/ruby/3.2.0/gems/rspec-expectations-3.12.3/lib/rspec/matchers/dsl.rb +545 -0
  278. data/vendor/bundle/ruby/3.2.0/gems/rspec-expectations-3.12.3/lib/rspec/matchers/english_phrasing.rb +58 -0
  279. data/vendor/bundle/ruby/3.2.0/gems/rspec-expectations-3.12.3/lib/rspec/matchers/expecteds_for_multiple_diffs.rb +82 -0
  280. data/vendor/bundle/ruby/3.2.0/gems/rspec-expectations-3.12.3/lib/rspec/matchers/fail_matchers.rb +42 -0
  281. data/vendor/bundle/ruby/3.2.0/gems/rspec-expectations-3.12.3/lib/rspec/matchers/generated_descriptions.rb +41 -0
  282. data/vendor/bundle/ruby/3.2.0/gems/rspec-expectations-3.12.3/lib/rspec/matchers/matcher_delegator.rb +35 -0
  283. data/vendor/bundle/ruby/3.2.0/gems/rspec-expectations-3.12.3/lib/rspec/matchers/matcher_protocol.rb +105 -0
  284. data/vendor/bundle/ruby/3.2.0/gems/rspec-expectations-3.12.3/lib/rspec/matchers.rb +1044 -0
  285. data/vendor/bundle/ruby/3.2.0/gems/rspec-mocks-3.12.6/.document +5 -0
  286. data/vendor/bundle/ruby/3.2.0/gems/rspec-mocks-3.12.6/.yardopts +6 -0
  287. data/vendor/bundle/ruby/3.2.0/gems/rspec-mocks-3.12.6/Changelog.md +1270 -0
  288. data/vendor/bundle/ruby/3.2.0/gems/rspec-mocks-3.12.6/LICENSE.md +25 -0
  289. data/vendor/bundle/ruby/3.2.0/gems/rspec-mocks-3.12.6/README.md +463 -0
  290. data/vendor/bundle/ruby/3.2.0/gems/rspec-mocks-3.12.6/lib/rspec/mocks/any_instance/chain.rb +111 -0
  291. data/vendor/bundle/ruby/3.2.0/gems/rspec-mocks-3.12.6/lib/rspec/mocks/any_instance/error_generator.rb +31 -0
  292. data/vendor/bundle/ruby/3.2.0/gems/rspec-mocks-3.12.6/lib/rspec/mocks/any_instance/expect_chain_chain.rb +31 -0
  293. data/vendor/bundle/ruby/3.2.0/gems/rspec-mocks-3.12.6/lib/rspec/mocks/any_instance/expectation_chain.rb +50 -0
  294. data/vendor/bundle/ruby/3.2.0/gems/rspec-mocks-3.12.6/lib/rspec/mocks/any_instance/message_chains.rb +83 -0
  295. data/vendor/bundle/ruby/3.2.0/gems/rspec-mocks-3.12.6/lib/rspec/mocks/any_instance/proxy.rb +125 -0
  296. data/vendor/bundle/ruby/3.2.0/gems/rspec-mocks-3.12.6/lib/rspec/mocks/any_instance/recorder.rb +295 -0
  297. data/vendor/bundle/ruby/3.2.0/gems/rspec-mocks-3.12.6/lib/rspec/mocks/any_instance/stub_chain.rb +51 -0
  298. data/vendor/bundle/ruby/3.2.0/gems/rspec-mocks-3.12.6/lib/rspec/mocks/any_instance/stub_chain_chain.rb +23 -0
  299. data/vendor/bundle/ruby/3.2.0/gems/rspec-mocks-3.12.6/lib/rspec/mocks/any_instance.rb +11 -0
  300. data/vendor/bundle/ruby/3.2.0/gems/rspec-mocks-3.12.6/lib/rspec/mocks/argument_list_matcher.rb +117 -0
  301. data/vendor/bundle/ruby/3.2.0/gems/rspec-mocks-3.12.6/lib/rspec/mocks/argument_matchers.rb +322 -0
  302. data/vendor/bundle/ruby/3.2.0/gems/rspec-mocks-3.12.6/lib/rspec/mocks/configuration.rb +212 -0
  303. data/vendor/bundle/ruby/3.2.0/gems/rspec-mocks-3.12.6/lib/rspec/mocks/error_generator.rb +390 -0
  304. data/vendor/bundle/ruby/3.2.0/gems/rspec-mocks-3.12.6/lib/rspec/mocks/example_methods.rb +434 -0
  305. data/vendor/bundle/ruby/3.2.0/gems/rspec-mocks-3.12.6/lib/rspec/mocks/instance_method_stasher.rb +146 -0
  306. data/vendor/bundle/ruby/3.2.0/gems/rspec-mocks-3.12.6/lib/rspec/mocks/marshal_extension.rb +41 -0
  307. data/vendor/bundle/ruby/3.2.0/gems/rspec-mocks-3.12.6/lib/rspec/mocks/matchers/expectation_customization.rb +20 -0
  308. data/vendor/bundle/ruby/3.2.0/gems/rspec-mocks-3.12.6/lib/rspec/mocks/matchers/have_received.rb +134 -0
  309. data/vendor/bundle/ruby/3.2.0/gems/rspec-mocks-3.12.6/lib/rspec/mocks/matchers/receive.rb +134 -0
  310. data/vendor/bundle/ruby/3.2.0/gems/rspec-mocks-3.12.6/lib/rspec/mocks/matchers/receive_message_chain.rb +82 -0
  311. data/vendor/bundle/ruby/3.2.0/gems/rspec-mocks-3.12.6/lib/rspec/mocks/matchers/receive_messages.rb +77 -0
  312. data/vendor/bundle/ruby/3.2.0/gems/rspec-mocks-3.12.6/lib/rspec/mocks/message_chain.rb +87 -0
  313. data/vendor/bundle/ruby/3.2.0/gems/rspec-mocks-3.12.6/lib/rspec/mocks/message_expectation.rb +820 -0
  314. data/vendor/bundle/ruby/3.2.0/gems/rspec-mocks-3.12.6/lib/rspec/mocks/method_double.rb +316 -0
  315. data/vendor/bundle/ruby/3.2.0/gems/rspec-mocks-3.12.6/lib/rspec/mocks/method_reference.rb +214 -0
  316. data/vendor/bundle/ruby/3.2.0/gems/rspec-mocks-3.12.6/lib/rspec/mocks/minitest_integration.rb +68 -0
  317. data/vendor/bundle/ruby/3.2.0/gems/rspec-mocks-3.12.6/lib/rspec/mocks/mutate_const.rb +339 -0
  318. data/vendor/bundle/ruby/3.2.0/gems/rspec-mocks-3.12.6/lib/rspec/mocks/object_reference.rb +149 -0
  319. data/vendor/bundle/ruby/3.2.0/gems/rspec-mocks-3.12.6/lib/rspec/mocks/order_group.rb +81 -0
  320. data/vendor/bundle/ruby/3.2.0/gems/rspec-mocks-3.12.6/lib/rspec/mocks/proxy.rb +520 -0
  321. data/vendor/bundle/ruby/3.2.0/gems/rspec-mocks-3.12.6/lib/rspec/mocks/space.rb +238 -0
  322. data/vendor/bundle/ruby/3.2.0/gems/rspec-mocks-3.12.6/lib/rspec/mocks/standalone.rb +3 -0
  323. data/vendor/bundle/ruby/3.2.0/gems/rspec-mocks-3.12.6/lib/rspec/mocks/syntax.rb +325 -0
  324. data/vendor/bundle/ruby/3.2.0/gems/rspec-mocks-3.12.6/lib/rspec/mocks/targets.rb +124 -0
  325. data/vendor/bundle/ruby/3.2.0/gems/rspec-mocks-3.12.6/lib/rspec/mocks/test_double.rb +171 -0
  326. data/vendor/bundle/ruby/3.2.0/gems/rspec-mocks-3.12.6/lib/rspec/mocks/verifying_double.rb +123 -0
  327. data/vendor/bundle/ruby/3.2.0/gems/rspec-mocks-3.12.6/lib/rspec/mocks/verifying_message_expectation.rb +55 -0
  328. data/vendor/bundle/ruby/3.2.0/gems/rspec-mocks-3.12.6/lib/rspec/mocks/verifying_proxy.rb +221 -0
  329. data/vendor/bundle/ruby/3.2.0/gems/rspec-mocks-3.12.6/lib/rspec/mocks/version.rb +9 -0
  330. data/vendor/bundle/ruby/3.2.0/gems/rspec-mocks-3.12.6/lib/rspec/mocks.rb +133 -0
  331. data/vendor/bundle/ruby/3.2.0/gems/rspec-support-3.12.1/Changelog.md +372 -0
  332. data/vendor/bundle/ruby/3.2.0/gems/rspec-support-3.12.1/LICENSE.md +23 -0
  333. data/vendor/bundle/ruby/3.2.0/gems/rspec-support-3.12.1/README.md +40 -0
  334. data/vendor/bundle/ruby/3.2.0/gems/rspec-support-3.12.1/lib/rspec/support/caller_filter.rb +83 -0
  335. data/vendor/bundle/ruby/3.2.0/gems/rspec-support-3.12.1/lib/rspec/support/comparable_version.rb +46 -0
  336. data/vendor/bundle/ruby/3.2.0/gems/rspec-support-3.12.1/lib/rspec/support/differ.rb +215 -0
  337. data/vendor/bundle/ruby/3.2.0/gems/rspec-support-3.12.1/lib/rspec/support/directory_maker.rb +63 -0
  338. data/vendor/bundle/ruby/3.2.0/gems/rspec-support-3.12.1/lib/rspec/support/encoded_string.rb +161 -0
  339. data/vendor/bundle/ruby/3.2.0/gems/rspec-support-3.12.1/lib/rspec/support/fuzzy_matcher.rb +48 -0
  340. data/vendor/bundle/ruby/3.2.0/gems/rspec-support-3.12.1/lib/rspec/support/hunk_generator.rb +47 -0
  341. data/vendor/bundle/ruby/3.2.0/gems/rspec-support-3.12.1/lib/rspec/support/matcher_definition.rb +42 -0
  342. data/vendor/bundle/ruby/3.2.0/gems/rspec-support-3.12.1/lib/rspec/support/method_signature_verifier.rb +438 -0
  343. data/vendor/bundle/ruby/3.2.0/gems/rspec-support-3.12.1/lib/rspec/support/mutex.rb +73 -0
  344. data/vendor/bundle/ruby/3.2.0/gems/rspec-support-3.12.1/lib/rspec/support/object_formatter.rb +275 -0
  345. data/vendor/bundle/ruby/3.2.0/gems/rspec-support-3.12.1/lib/rspec/support/recursive_const_methods.rb +76 -0
  346. data/vendor/bundle/ruby/3.2.0/gems/rspec-support-3.12.1/lib/rspec/support/reentrant_mutex.rb +78 -0
  347. data/vendor/bundle/ruby/3.2.0/gems/rspec-support-3.12.1/lib/rspec/support/ruby_features.rb +198 -0
  348. data/vendor/bundle/ruby/3.2.0/gems/rspec-support-3.12.1/lib/rspec/support/source/location.rb +21 -0
  349. data/vendor/bundle/ruby/3.2.0/gems/rspec-support-3.12.1/lib/rspec/support/source/node.rb +110 -0
  350. data/vendor/bundle/ruby/3.2.0/gems/rspec-support-3.12.1/lib/rspec/support/source/token.rb +94 -0
  351. data/vendor/bundle/ruby/3.2.0/gems/rspec-support-3.12.1/lib/rspec/support/source.rb +85 -0
  352. data/vendor/bundle/ruby/3.2.0/gems/rspec-support-3.12.1/lib/rspec/support/spec/deprecation_helpers.rb +48 -0
  353. data/vendor/bundle/ruby/3.2.0/gems/rspec-support-3.12.1/lib/rspec/support/spec/diff_helpers.rb +31 -0
  354. data/vendor/bundle/ruby/3.2.0/gems/rspec-support-3.12.1/lib/rspec/support/spec/formatting_support.rb +9 -0
  355. data/vendor/bundle/ruby/3.2.0/gems/rspec-support-3.12.1/lib/rspec/support/spec/in_sub_process.rb +67 -0
  356. data/vendor/bundle/ruby/3.2.0/gems/rspec-support-3.12.1/lib/rspec/support/spec/library_wide_checks.rb +150 -0
  357. data/vendor/bundle/ruby/3.2.0/gems/rspec-support-3.12.1/lib/rspec/support/spec/shell_out.rb +108 -0
  358. data/vendor/bundle/ruby/3.2.0/gems/rspec-support-3.12.1/lib/rspec/support/spec/stderr_splitter.rb +75 -0
  359. data/vendor/bundle/ruby/3.2.0/gems/rspec-support-3.12.1/lib/rspec/support/spec/string_matcher.rb +45 -0
  360. data/vendor/bundle/ruby/3.2.0/gems/rspec-support-3.12.1/lib/rspec/support/spec/with_isolated_directory.rb +13 -0
  361. data/vendor/bundle/ruby/3.2.0/gems/rspec-support-3.12.1/lib/rspec/support/spec/with_isolated_stderr.rb +13 -0
  362. data/vendor/bundle/ruby/3.2.0/gems/rspec-support-3.12.1/lib/rspec/support/spec.rb +82 -0
  363. data/vendor/bundle/ruby/3.2.0/gems/rspec-support-3.12.1/lib/rspec/support/version.rb +7 -0
  364. data/vendor/bundle/ruby/3.2.0/gems/rspec-support-3.12.1/lib/rspec/support/warnings.rb +39 -0
  365. data/vendor/bundle/ruby/3.2.0/gems/rspec-support-3.12.1/lib/rspec/support/with_keywords_when_needed.rb +33 -0
  366. data/vendor/bundle/ruby/3.2.0/gems/rspec-support-3.12.1/lib/rspec/support.rb +160 -0
  367. data/vendor/bundle/ruby/3.2.0/specifications/diff-lcs-1.5.0.gemspec +37 -0
  368. data/vendor/bundle/ruby/3.2.0/specifications/rake-13.0.6.gemspec +26 -0
  369. data/vendor/bundle/ruby/3.2.0/specifications/rspec-3.12.0.gemspec +31 -0
  370. data/vendor/bundle/ruby/3.2.0/specifications/rspec-core-3.12.2.gemspec +39 -0
  371. data/vendor/bundle/ruby/3.2.0/specifications/rspec-expectations-3.12.3.gemspec +33 -0
  372. data/vendor/bundle/ruby/3.2.0/specifications/rspec-mocks-3.12.6.gemspec +33 -0
  373. data/vendor/bundle/ruby/3.2.0/specifications/rspec-support-3.12.1.gemspec +29 -0
  374. metadata +420 -0
@@ -0,0 +1,133 @@
1
+ require 'rspec/support'
2
+ RSpec::Support.require_rspec_support 'caller_filter'
3
+ RSpec::Support.require_rspec_support 'warnings'
4
+ RSpec::Support.require_rspec_support 'ruby_features'
5
+
6
+ RSpec::Support.define_optimized_require_for_rspec(:mocks) { |f| require_relative f }
7
+
8
+ %w[
9
+ instance_method_stasher
10
+ method_double
11
+ argument_matchers
12
+ example_methods
13
+ proxy
14
+ test_double
15
+ argument_list_matcher
16
+ message_expectation
17
+ order_group
18
+ error_generator
19
+ space
20
+ mutate_const
21
+ targets
22
+ syntax
23
+ configuration
24
+ verifying_double
25
+ version
26
+ ].each { |name| RSpec::Support.require_rspec_mocks name }
27
+
28
+ # Share the top-level RSpec namespace, because we are a core supported
29
+ # extension.
30
+ module RSpec
31
+ # Contains top-level utility methods. While this contains a few
32
+ # public methods, these are not generally meant to be called from
33
+ # a test or example. They exist primarily for integration with
34
+ # test frameworks (such as rspec-core).
35
+ module Mocks
36
+ # Performs per-test/example setup. This should be called before
37
+ # an test or example begins.
38
+ def self.setup
39
+ @space_stack << (@space = space.new_scope)
40
+ end
41
+
42
+ # Verifies any message expectations that were set during the
43
+ # test or example. This should be called at the end of an example.
44
+ def self.verify
45
+ space.verify_all
46
+ end
47
+
48
+ # Cleans up all test double state (including any methods that were
49
+ # redefined on partial doubles). This _must_ be called after
50
+ # each example, even if an error was raised during the example.
51
+ def self.teardown
52
+ space.reset_all
53
+ @space_stack.pop
54
+ @space = @space_stack.last || @root_space
55
+ end
56
+
57
+ # Adds an allowance (stub) on `subject`
58
+ #
59
+ # @param subject the subject to which the message will be added
60
+ # @param message a symbol, representing the message that will be
61
+ # added.
62
+ # @param opts a hash of options, :expected_from is used to set the
63
+ # original call site
64
+ # @yield an optional implementation for the allowance
65
+ #
66
+ # @example Defines the implementation of `foo` on `bar`, using the passed block
67
+ # x = 0
68
+ # RSpec::Mocks.allow_message(bar, :foo) { x += 1 }
69
+ def self.allow_message(subject, message, opts={}, &block)
70
+ space.proxy_for(subject).add_stub(message, opts, &block)
71
+ end
72
+
73
+ # Sets a message expectation on `subject`.
74
+ # @param subject the subject on which the message will be expected
75
+ # @param message a symbol, representing the message that will be
76
+ # expected.
77
+ # @param opts a hash of options, :expected_from is used to set the
78
+ # original call site
79
+ # @yield an optional implementation for the expectation
80
+ #
81
+ # @example Expect the message `foo` to receive `bar`, then call it
82
+ # RSpec::Mocks.expect_message(bar, :foo)
83
+ # bar.foo
84
+ def self.expect_message(subject, message, opts={}, &block)
85
+ space.proxy_for(subject).add_message_expectation(message, opts, &block)
86
+ end
87
+
88
+ # Call the passed block and verify mocks after it has executed. This allows
89
+ # mock usage in arbitrary places, such as a `before(:all)` hook.
90
+ #
91
+ # @return [Object] the return value from the block
92
+ def self.with_temporary_scope
93
+ setup
94
+
95
+ begin
96
+ result = yield
97
+ verify
98
+ result
99
+ ensure
100
+ teardown
101
+ end
102
+ end
103
+
104
+ class << self
105
+ # @private
106
+ attr_reader :space
107
+ end
108
+ @space_stack = []
109
+ @root_space = @space = RSpec::Mocks::RootSpace.new
110
+
111
+ # @private
112
+ IGNORED_BACKTRACE_LINE = 'this backtrace line is ignored'
113
+
114
+ # To speed up boot time a bit, delay loading optional or rarely
115
+ # used features until their first use.
116
+ autoload :AnyInstance, "rspec/mocks/any_instance"
117
+ autoload :ExpectChain, "rspec/mocks/message_chain"
118
+ autoload :StubChain, "rspec/mocks/message_chain"
119
+ autoload :MarshalExtension, "rspec/mocks/marshal_extension"
120
+
121
+ # Namespace for mock-related matchers.
122
+ module Matchers
123
+ # @private
124
+ # just a "tag" for rspec-mock matchers detection
125
+ module Matcher; end
126
+
127
+ autoload :HaveReceived, "rspec/mocks/matchers/have_received"
128
+ autoload :Receive, "rspec/mocks/matchers/receive"
129
+ autoload :ReceiveMessageChain, "rspec/mocks/matchers/receive_message_chain"
130
+ autoload :ReceiveMessages, "rspec/mocks/matchers/receive_messages"
131
+ end
132
+ end
133
+ end
@@ -0,0 +1,372 @@
1
+ ### Development
2
+ [Full Changelog](http://github.com/rspec/rspec-support/compare/v3.12.1...3-12-maintenance)
3
+
4
+ ### 3.12.1 / 2023-06-26
5
+ [Full Changelog](http://github.com/rspec/rspec-support/compare/v3.12.0...v3.12.1)
6
+
7
+ Bug Fixes:
8
+
9
+ * Fix `RSpec::Support.thread_local_data` to be Thread local but not Fiber local.
10
+ (Jon Rowe, #581)
11
+
12
+ ### 3.12.0 / 2022-10-26
13
+ [Full Changelog](http://github.com/rspec/rspec-support/compare/v3.11.1...v3.12.0)
14
+ Enhancements:
15
+
16
+ * Add `RSpec::Support::RubyFeatures.distincts_kw_args_from_positional_hash?`
17
+ (Jean byroot Boussier, #535)
18
+
19
+ ### 3.11.1 / 2022-09-12
20
+ [Full Changelog](http://github.com/rspec/rspec-support/compare/v3.11.0...v3.11.1)
21
+
22
+ Bug Fixes:
23
+
24
+ * Fix ripper detection on TruffleRuby. (Brandon Fish, #541)
25
+
26
+ ### 3.11.0 / 2022-02-09
27
+ [Full Changelog](http://github.com/rspec/rspec-support/compare/v3.10.3...v3.11.0)
28
+
29
+ No changes. Released to support other RSpec releases.
30
+
31
+ ### 3.10.3 / 2021-11-03
32
+ [Full Changelog](http://github.com/rspec/rspec-support/compare/v3.10.2...v3.10.3)
33
+
34
+ Bug Fixes:
35
+
36
+ * Use `Mutex#owned?` to allow `RSpec::Support::ReentrantMutex` to work in
37
+ nested Fibers on Ruby 3.0 and later. (Benoit Daloze, #503, #504)
38
+ * Support `end`-less methods in `RSpec::Support::Source::Token`
39
+ so that RSpec won't hang when an `end`-less method raises an error. (Yuji Nakayama, #505)
40
+
41
+ ### 3.10.2 / 2021-01-28
42
+ [Full Changelog](http://github.com/rspec/rspec-support/compare/v3.10.1...v3.10.2)
43
+
44
+ Bug Fixes:
45
+
46
+ * Fix issue with `RSpec::Support.define_optimized_require_for_rspec` on JRuby
47
+ 9.1.17.0 (Jon Rowe, #492)
48
+
49
+ ### 3.10.1 / 2020-12-27
50
+ [Full Changelog](http://github.com/rspec/rspec-support/compare/v3.10.0...v3.10.1)
51
+
52
+ Bug Fixes:
53
+
54
+ * Fix deprecation expectations to fail correctly when
55
+ asserting on messages. (Phil Pirozhkov, #453)
56
+
57
+ ### 3.10.0 / 2020-10-30
58
+ [Full Changelog](http://github.com/rspec/rspec-support/compare/v3.9.4...v3.10.0)
59
+
60
+ No changes. Released to support other RSpec releases.
61
+
62
+ ### 3.9.4 / 2020-10-23
63
+ [Full Changelog](http://github.com/rspec/rspec-support/compare/v3.9.3...v3.9.4)
64
+
65
+ Bug Fixes:
66
+
67
+ * Flag ripper as supported on Truffle Ruby. (Brandon Fish, #427)
68
+ * Prevent stubbing `File.read` from breaking source extraction.
69
+ (Jon Rowe, #431)
70
+
71
+ ### 3.9.3 / 2020-05-02
72
+ [Full Changelog](http://github.com/rspec/rspec-support/compare/v3.9.2...v3.9.3)
73
+
74
+ Bug Fixes:
75
+
76
+ * Mark ripper as unsupported on Truffle Ruby. (Brandon Fish, #395)
77
+ * Mark ripper as unsupported on JRuby 9.2.0.0. (Brian Hawley, #400)
78
+ * Capture `Mutex.new` for our `RSpec::Support:Mutex` in order to
79
+ allow stubbing `Mutex.new`. (Jon Rowe, #411)
80
+
81
+ ### 3.9.2 / 2019-12-30
82
+ [Full Changelog](http://github.com/rspec/rspec-support/compare/v3.9.1...v3.9.2)
83
+
84
+ Bug Fixes:
85
+
86
+ * Remove unneeded eval. (Matijs van Zuijlen, #394)
87
+
88
+ ### 3.9.1 / 2019-12-28
89
+ [Full Changelog](http://github.com/rspec/rspec-support/compare/v3.9.0...v3.9.1)
90
+
91
+ Bug Fixes:
92
+
93
+ * Remove warning caused by keyword arguments on Ruby 2.7.0.
94
+ (Jon Rowe, #392)
95
+
96
+ ### 3.9.0 / 2019-10-07
97
+ [Full Changelog](http://github.com/rspec/rspec-support/compare/v3.8.3...v3.9.0)
98
+
99
+ *NO CHANGES*
100
+
101
+ Version 3.9.0 was released to allow other RSpec gems to release 3.9.0.
102
+
103
+ ### 3.8.3 / 2019-10-02
104
+ [Full Changelog](http://github.com/rspec/rspec-support/compare/v3.8.2...v3.8.3)
105
+
106
+ Bug Fixes:
107
+
108
+ * Escape \r when outputting strings inside arrays.
109
+ (Tomita Masahiro, Jon Rowe, #378)
110
+ * Ensure that optional hash arguments are recognised correctly vs keyword
111
+ arguments. (Evgeni Dzhelyov, #366)
112
+
113
+ ### 3.8.2 / 2019-06-10
114
+ [Full Changelog](http://github.com/rspec/rspec-support/compare/v3.8.1...v3.8.2)
115
+
116
+ Bug Fixes:
117
+
118
+ * Ensure that an empty hash is recognised as empty keyword arguments when
119
+ applicable. (Thomas Walpole, #375)
120
+ * Ensure that diffing truthy values produce diffs consistently.
121
+ (Lucas Nestor, #377)
122
+
123
+ ### 3.8.1 / 2019-03-03
124
+ [Full Changelog](http://github.com/rspec/rspec-support/compare/v3.8.0...v3.8.1)
125
+
126
+ Bug Fixes:
127
+
128
+ * Ensure that inspecting a `SimpleDelegator` based object works regardless of
129
+ visibilty of the `__getobj__` method. (Jon Rowe, #369)
130
+
131
+ ### 3.8.0 / 2018-08-04
132
+ [Full Changelog](http://github.com/rspec/rspec-support/compare/v3.7.1...v3.8.0)
133
+
134
+ Bug Fixes:
135
+
136
+ * Order hash keys before diffing to improve diff accuracy when using mocked calls.
137
+ (James Crisp, #334)
138
+
139
+ ### 3.7.1 / 2018-01-29
140
+ [Full Changelog](http://github.com/rspec/rspec-support/compare/v3.7.0...v3.7.1)
141
+
142
+ Bug Fixes:
143
+
144
+ * Fix source extraction logic so that it does not trigger a `SystemStackError`
145
+ when processing deeply nested example groups. (Craig Bass, #343)
146
+
147
+ ### 3.7.0 / 2017-10-17
148
+ [Full Changelog](http://github.com/rspec/rspec-support/compare/v3.6.0...v3.7.0)
149
+
150
+ Enhancements:
151
+
152
+ * Improve compatibility with `--enable-frozen-string-literal` option
153
+ on Ruby 2.3+. (Pat Allan, #320)
154
+ * Add `Support.class_of` for extracting class of any object.
155
+ (Yuji Nakayama, #325)
156
+
157
+ Bug Fixes:
158
+
159
+ * Fix recursive const support to not blow up when given buggy classes
160
+ that raise odd errors from `#to_str`. (Myron Marston, #317)
161
+
162
+ ### 3.6.0 / 2017-05-04
163
+ [Full Changelog](http://github.com/rspec/rspec-support/compare/v3.6.0.beta2...3.6.0)
164
+
165
+ Enhancements:
166
+
167
+ * Import `Source` classes from rspec-core. (Yuji Nakayama, #315)
168
+
169
+ ### 3.6.0.beta2 / 2016-12-12
170
+ [Full Changelog](http://github.com/rspec/rspec-support/compare/v3.6.0.beta1...v3.6.0.beta2)
171
+
172
+ No user-facing changes.
173
+
174
+ ### 3.6.0.beta1 / 2016-10-09
175
+ [Full Changelog](http://github.com/rspec/rspec-support/compare/v3.5.0...v3.6.0.beta1)
176
+
177
+ Bug Fixes:
178
+
179
+ * Prevent truncated formatted object output from mangling console codes. (#294, Anson Kelly)
180
+
181
+ ### 3.5.0 / 2016-07-01
182
+ [Full Changelog](http://github.com/rspec/rspec-support/compare/v3.5.0.beta4...v3.5.0)
183
+
184
+ **No user facing changes since beta4**
185
+
186
+ ### 3.5.0.beta4 / 2016-06-05
187
+ [Full Changelog](http://github.com/rspec/rspec-support/compare/v3.5.0.beta3...v3.5.0.beta4)
188
+
189
+ Enhancements:
190
+ * Improve `MethodSignature` to better support keyword arguments. (#250, Rob Smith).
191
+
192
+ ### 3.5.0.beta3 / 2016-04-02
193
+ [Full Changelog](http://github.com/rspec/rspec-support/compare/v3.5.0.beta2...v3.5.0.beta3)
194
+
195
+ Bug Fixes:
196
+
197
+ * Fix `EncodedString` to properly handle the behavior of `String#split`
198
+ on JRuby when the string contains invalid bytes. (Jon Rowe, #268)
199
+ * Fix `ObjectFormatter` so that formatting objects that don't respond to
200
+ `#inspect` (such as `BasicObject`) does not cause `NoMethodError`.
201
+ (Yuji Nakayama, #269)
202
+ * Fix `ObjectFormatter` so that formatting recursive array or hash does not
203
+ cause `SystemStackError`. (Yuji Nakayama, #270, #272)
204
+
205
+ ### 3.5.0.beta2 / 2016-03-10
206
+ [Full Changelog](http://github.com/rspec/rspec-support/compare/v3.5.0.beta1...v3.5.0.beta2)
207
+
208
+ No user-facing changes.
209
+
210
+ ### 3.5.0.beta1 / 2016-02-06
211
+ [Full Changelog](http://github.com/rspec/rspec-support/compare/v3.4.1...v3.5.0.beta1)
212
+
213
+ Enhancements:
214
+
215
+ * Improve formatting of objects by allowing truncation to a pre-configured length.
216
+ (Liam M, #256)
217
+
218
+ ### 3.4.1 / 2015-11-20
219
+ [Full Changelog](http://github.com/rspec/rspec-support/compare/v3.4.0...v3.4.1)
220
+
221
+ Bug Fixes:
222
+
223
+ * Fix `RSpec::Support::RubyFeature.ripper_supported?` so it returns
224
+ `false` on Rubinius since the Rubinius team has no plans to support
225
+ it. This prevents rspec-core from trying to load and use ripper to
226
+ extract failure snippets. (Aaron Stone, #251)
227
+
228
+ Changes:
229
+
230
+ * Remove `VersionChecker` in favor of `ComparableVersion`. (Yuji Nakayama, #266)
231
+
232
+ ### 3.4.0 / 2015-11-11
233
+ [Full Changelog](http://github.com/rspec/rspec-support/compare/v3.3.0...v3.4.0)
234
+
235
+ Enhancements:
236
+
237
+ * Improve formatting of `Delegator` based objects (e.g. `SimpleDelgator`) in
238
+ failure messages and diffs. (Andrew Horner, #215)
239
+ * Add `ComparableVersion`. (Yuji Nakayama, #245)
240
+ * Add `Ripper` support detection. (Yuji Nakayama, #245)
241
+
242
+ Bug Fixes:
243
+
244
+ * Work around bug in JRuby that reports that `attr_writer` methods
245
+ have no parameters, causing RSpec's verifying doubles to wrongly
246
+ fail when mocking or stubbing a writer method on JRuby. (Myron Marston, #225)
247
+
248
+ ### 3.3.0 / 2015-06-12
249
+ [Full Changelog](http://github.com/rspec/rspec-support/compare/v3.2.2...v3.3.0)
250
+
251
+ Enhancements:
252
+
253
+ * Improve formatting of arrays and hashes in failure messages so they
254
+ use our custom formatting of matchers, time objects, etc.
255
+ (Myron Marston, Nicholas Chmielewski, #205)
256
+ * Use improved formatting for diffs as well. (Nicholas Chmielewski, #205)
257
+
258
+ Bug Fixes:
259
+
260
+ * Fix `FuzzyMatcher` so that it checks `expected == actual` rather than
261
+ `actual == expected`, which avoids errors in situations where the
262
+ `actual` object's `==` is improperly implemented to assume that only
263
+ objects of the same type will be given. This allows rspec-mocks'
264
+ `anything` to match against objects with buggy `==` definitions.
265
+ (Myron Marston, #193)
266
+
267
+ ### 3.2.2 / 2015-02-23
268
+ [Full Changelog](http://github.com/rspec/rspec-support/compare/v3.2.1...v3.2.2)
269
+
270
+ Bug Fixes:
271
+
272
+ * Fix an encoding issue with `EncodedString#split` when encountering an
273
+ invalid byte string. (Benjamin Fleischer, #1760)
274
+
275
+ ### 3.2.1 / 2015-02-04
276
+ [Full Changelog](http://github.com/rspec/rspec-support/compare/v3.2.0...v3.2.1)
277
+
278
+ Bug Fixes:
279
+
280
+ * Fix `RSpec::CallerFilter` to work on Rubinius 2.2.
281
+ (Myron Marston, #169)
282
+
283
+ ### 3.2.0 / 2015-02-03
284
+ [Full Changelog](http://github.com/rspec/rspec-support/compare/v3.1.2...v3.2.0)
285
+
286
+ Enhancements:
287
+
288
+ * Add extra Ruby type detection. (Jon Rowe, #133)
289
+ * Make differ instance re-usable. (Alexey Fedorov, #160)
290
+
291
+ Bug Fixes:
292
+
293
+ * Do not consider `[]` and `{}` to match when performing fuzzy matching.
294
+ (Myron Marston, #157)
295
+
296
+ ### 3.1.2 / 2014-10-08
297
+ [Full Changelog](http://github.com/rspec/rspec-support/compare/v3.1.1...v3.1.2)
298
+
299
+ Bug Fixes:
300
+
301
+ * Fix method signature to not blow up with a `NoMethodError` on 1.8.7 when
302
+ verifying against an RSpec matcher. (Myron Marston, #116)
303
+
304
+ ### 3.1.1 / 2014-09-26
305
+ [Full Changelog](http://github.com/rspec/rspec-support/compare/v3.1.0...v3.1.1)
306
+
307
+ Bug Fixes:
308
+
309
+ * Fix `RSpec::Support::DirectoryMaker` (used by `rspec --init` and
310
+ `rails generate rspec:install`) so that it detects absolute paths
311
+ on Windows properly. (Scott Archer, #107, #108, #109) (Jon Rowe, #110)
312
+
313
+ ### 3.1.0 / 2014-09-04
314
+ [Full Changelog](http://github.com/rspec/rspec-support/compare/v3.0.4...v3.1.0)
315
+
316
+ Bug Fixes:
317
+
318
+ * Fix `FuzzyMatcher` so that it does not wrongly match a struct against
319
+ an array. (Myron Marston, #97)
320
+ * Prevent infinitely recursing `#flatten` methods from causing the differ
321
+ to hang. (Jon Rowe, #101)
322
+
323
+ ### 3.0.4 / 2014-08-14
324
+ [Full Changelog](http://github.com/rspec/rspec-support/compare/v3.0.3...v3.0.4)
325
+
326
+ Bug Fixes:
327
+
328
+ * Fix `FuzzyMatcher` so that it does not silence `ArgumentError` raised
329
+ from broken implementations of `==`. (Myron Marston, #94)
330
+
331
+ ### 3.0.3 / 2014-07-21
332
+ [Full Changelog](http://github.com/rspec/rspec-support/compare/v3.0.2...v3.0.3)
333
+
334
+ Bug Fixes:
335
+
336
+ * Fix regression in `Support#method_handle_for` where proxy objects
337
+ with method delegated would wrongly not return a method handle.
338
+ (Jon Rowe, #90)
339
+ * Properly detect Module#prepend support in Ruby 2.1+ (Ben Langfeld, #91)
340
+ * Fix `rspec/support/warnings.rb` so it can be loaded and used in
341
+ isolation. (Myron Marston, #93)
342
+
343
+ ### 3.0.2 / 2014-06-20
344
+ [Full Changelog](http://github.com/rspec/rspec-support/compare/v3.0.1...v3.0.2)
345
+
346
+ * Revert `BlockSignature` change from 3.0.1 because of a ruby bug that
347
+ caused it to change the block's behavior (https://bugs.ruby-lang.org/issues/9967).
348
+ (Myron Marston, rspec-mocks#721)
349
+
350
+ ### 3.0.1 / 2014-06-19
351
+ [Full Changelog](http://github.com/rspec/rspec-support/compare/v3.0.0...v3.0.1)
352
+
353
+ * Fix `BlockSignature` so that it correctly differentiates between
354
+ required and optional block args. (Myron Marston, rspec-mocks#714)
355
+
356
+ ### 3.0.0 / 2014-06-01
357
+ [Full Changelog](http://github.com/rspec/rspec-support/compare/v3.0.0.rc1...v3.0.0)
358
+
359
+ ### 3.0.0.rc1 / 2014-05-18
360
+ [Full Changelog](http://github.com/rspec/rspec-support/compare/v3.0.0.beta2...v3.0.0.rc1)
361
+
362
+ ### 3.0.0.beta2 / 2014-02-17
363
+ [Full Changelog](http://github.com/rspec/rspec-support/compare/v3.0.0.beta1...v3.0.0.beta2)
364
+
365
+ Bug Fixes:
366
+
367
+ * Issue message when :replacement is passed to `RSpec.warn_with`. (Jon Rowe)
368
+
369
+ ### 3.0.0.beta1 / 2013-11-07
370
+ [Full Changelog](https://github.com/rspec/rspec-support/compare/0dc12d1bdbbacc757a9989f8c09cd08ef3a4837e...v3.0.0.beta1)
371
+
372
+ Initial release.
@@ -0,0 +1,23 @@
1
+ The MIT License (MIT)
2
+ ====================
3
+
4
+ * Copyright © 2013 David Chelimsky, Myron Marston, Jon Rowe, Sam Phippen, Xavier Shay, Bradley Schaefer
5
+
6
+ Permission is hereby granted, free of charge, to any person obtaining
7
+ a copy of this software and associated documentation files (the
8
+ "Software"), to deal in the Software without restriction, including
9
+ without limitation the rights to use, copy, modify, merge, publish,
10
+ distribute, sublicense, and/or sell copies of the Software, and to
11
+ permit persons to whom the Software is furnished to do so, subject to
12
+ the following conditions:
13
+
14
+ The above copyright notice and this permission notice shall be
15
+ included in all copies or substantial portions of the Software.
16
+
17
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
18
+ EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
19
+ MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
20
+ NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
21
+ LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
22
+ OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
23
+ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
@@ -0,0 +1,40 @@
1
+ # RSpec::Support [![Build Status](https://github.com/rspec/rspec-support/workflows/RSpec%20CI/badge.svg)](https://github.com/rspec/rspec-support/actions)
2
+
3
+ `RSpec::Support` provides common functionality to `RSpec::Core`,
4
+ `RSpec::Expectations` and `RSpec::Mocks`. It is considered
5
+ suitable for internal use only at this time.
6
+
7
+ ## Installation / Usage
8
+
9
+ Install one or more of the `RSpec` gems.
10
+
11
+ Want to run against the `main` branch? You'll need to include the dependent
12
+ RSpec repos as well. Add the following to your `Gemfile`:
13
+
14
+ ```ruby
15
+ %w[rspec-core rspec-expectations rspec-mocks rspec-support].each do |lib|
16
+ gem lib, :git => "https://github.com/rspec/#{lib}.git", :branch => 'main'
17
+ end
18
+ ```
19
+
20
+ ## Contributing
21
+
22
+ Once you've set up the environment, you'll need to cd into the working
23
+ directory of whichever repo you want to work in. From there you can run the
24
+ specs and cucumber features, and make patches.
25
+
26
+ NOTE: You do not need to use rspec-dev to work on a specific RSpec repo. You
27
+ can treat each RSpec repo as an independent project.
28
+
29
+ - [Build details](BUILD_DETAIL.md)
30
+ - [Code of Conduct](CODE_OF_CONDUCT.md)
31
+ - [Detailed contributing guide](CONTRIBUTING.md)
32
+ - [Development setup guide](DEVELOPMENT.md)
33
+
34
+ ## Patches
35
+
36
+ Please submit a pull request or a github issue. If you submit an issue, please
37
+ include a link to either of:
38
+
39
+ * a gist (or equivalent) of the patch
40
+ * a branch or commit in your github fork of the repo
@@ -0,0 +1,83 @@
1
+ RSpec::Support.require_rspec_support "ruby_features"
2
+
3
+ module RSpec
4
+ # Consistent implementation for "cleaning" the caller method to strip out
5
+ # non-rspec lines. This enables errors to be reported at the call site in
6
+ # the code using the library, which is far more useful than the particular
7
+ # internal method that raised an error.
8
+ class CallerFilter
9
+ RSPEC_LIBS = %w[
10
+ core
11
+ mocks
12
+ expectations
13
+ support
14
+ matchers
15
+ rails
16
+ ]
17
+
18
+ ADDITIONAL_TOP_LEVEL_FILES = %w[ autorun ]
19
+
20
+ LIB_REGEX = %r{/lib/rspec/(#{(RSPEC_LIBS + ADDITIONAL_TOP_LEVEL_FILES).join('|')})(\.rb|/)}
21
+
22
+ # rubygems/core_ext/kernel_require.rb isn't actually part of rspec (obviously) but we want
23
+ # it ignored when we are looking for the first meaningful line of the backtrace outside
24
+ # of RSpec. It can show up in the backtrace as the immediate first caller
25
+ # when `CallerFilter.first_non_rspec_line` is called from the top level of a required
26
+ # file, but it depends on if rubygems is loaded or not. We don't want to have to deal
27
+ # with this complexity in our `RSpec.deprecate` calls, so we ignore it here.
28
+ IGNORE_REGEX = Regexp.union(LIB_REGEX, "rubygems/core_ext/kernel_require.rb", "<internal:")
29
+
30
+ if RSpec::Support::RubyFeatures.caller_locations_supported?
31
+ # This supports args because it's more efficient when the caller specifies
32
+ # these. It allows us to skip frames the caller knows are part of RSpec,
33
+ # and to decrease the increment size if the caller is confident the line will
34
+ # be found in a small number of stack frames from `skip_frames`.
35
+ #
36
+ # Note that there is a risk to passing a `skip_frames` value that is too high:
37
+ # If it skipped the first non-rspec line, then this method would return the
38
+ # 2nd or 3rd (or whatever) non-rspec line. Thus, you generally shouldn't pass
39
+ # values for these parameters, particularly since most places that use this are
40
+ # not hot spots (generally it gets used for deprecation warnings). However,
41
+ # if you do have a hot spot that calls this, passing `skip_frames` can make
42
+ # a significant difference. Just make sure that that particular use is tested
43
+ # so that if the provided `skip_frames` changes to no longer be accurate in
44
+ # such a way that would return the wrong stack frame, a test will fail to tell you.
45
+ #
46
+ # See benchmarks/skip_frames_for_caller_filter.rb for measurements.
47
+ def self.first_non_rspec_line(skip_frames=3, increment=5)
48
+ # Why a default `skip_frames` of 3?
49
+ # By the time `caller_locations` is called below, the first 3 frames are:
50
+ # lib/rspec/support/caller_filter.rb:63:in `block in first_non_rspec_line'
51
+ # lib/rspec/support/caller_filter.rb:62:in `loop'
52
+ # lib/rspec/support/caller_filter.rb:62:in `first_non_rspec_line'
53
+
54
+ # `caller` is an expensive method that scales linearly with the size of
55
+ # the stack. The performance hit for fetching it in chunks is small,
56
+ # and since the target line is probably near the top of the stack, the
57
+ # overall improvement of a chunked search like this is significant.
58
+ #
59
+ # See benchmarks/caller.rb for measurements.
60
+
61
+ # The default increment of 5 for this method are mostly arbitrary, but
62
+ # is chosen to give good performance on the common case of creating a double.
63
+
64
+ loop do
65
+ stack = caller_locations(skip_frames, increment)
66
+ raise "No non-lib lines in stack" unless stack
67
+
68
+ line = stack.find { |l| l.path !~ IGNORE_REGEX }
69
+ return line.to_s if line
70
+
71
+ skip_frames += increment
72
+ increment *= 2 # The choice of two here is arbitrary.
73
+ end
74
+ end
75
+ else
76
+ # Earlier rubies do not support the two argument form of `caller`. This
77
+ # fallback is logically the same, but slower.
78
+ def self.first_non_rspec_line(*)
79
+ caller.find { |line| line !~ IGNORE_REGEX }
80
+ end
81
+ end
82
+ end
83
+ end
@@ -0,0 +1,46 @@
1
+ module RSpec
2
+ module Support
3
+ # @private
4
+ class ComparableVersion
5
+ include Comparable
6
+
7
+ attr_reader :string
8
+
9
+ def initialize(string)
10
+ @string = string
11
+ end
12
+
13
+ def <=>(other)
14
+ other = self.class.new(other) unless other.is_a?(self.class)
15
+
16
+ return 0 if string == other.string
17
+
18
+ longer_segment_count = [self, other].map { |version| version.segments.count }.max
19
+
20
+ longer_segment_count.times do |index|
21
+ self_segment = segments[index] || 0
22
+ other_segment = other.segments[index] || 0
23
+
24
+ if self_segment.class == other_segment.class
25
+ result = self_segment <=> other_segment
26
+ return result unless result == 0
27
+ else
28
+ return self_segment.is_a?(String) ? -1 : 1
29
+ end
30
+ end
31
+
32
+ 0
33
+ end
34
+
35
+ def segments
36
+ @segments ||= string.scan(/[a-z]+|\d+/i).map do |segment|
37
+ if segment =~ /\A\d+\z/
38
+ segment.to_i
39
+ else
40
+ segment
41
+ end
42
+ end
43
+ end
44
+ end
45
+ end
46
+ end