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,520 @@
1
+ module RSpec
2
+ module Mocks
3
+ # @private
4
+ class Proxy
5
+ # @private
6
+ SpecificMessage = Struct.new(:object, :message, :args) do
7
+ def ==(expectation)
8
+ expectation.orig_object == object && expectation.matches?(message, *args)
9
+ end
10
+ end
11
+
12
+ unless defined?(Mutex)
13
+ Support.require_rspec_support 'mutex'
14
+ Mutex = Support::Mutex
15
+ end
16
+
17
+ # @private
18
+ def ensure_implemented(*_args)
19
+ # noop for basic proxies, see VerifyingProxy for behaviour.
20
+ end
21
+
22
+ # @private
23
+ def initialize(object, order_group, options={})
24
+ ensure_can_be_proxied!(object)
25
+
26
+ @object = object
27
+ @order_group = order_group
28
+ @error_generator = ErrorGenerator.new(object)
29
+ @messages_received = []
30
+ @messages_received_mutex = Mutex.new
31
+ @options = options
32
+ @null_object = false
33
+ @method_doubles = Hash.new { |h, k| h[k] = MethodDouble.new(@object, k, self) }
34
+ end
35
+
36
+ # @private
37
+ def ensure_can_be_proxied!(object)
38
+ return unless object.is_a?(Symbol)
39
+
40
+ msg = "Cannot proxy frozen objects. Symbols such as #{object} cannot be mocked or stubbed."
41
+ raise ArgumentError, msg
42
+ end
43
+
44
+ # @private
45
+ attr_reader :object
46
+
47
+ # @private
48
+ def null_object?
49
+ @null_object
50
+ end
51
+
52
+ # @private
53
+ # Tells the object to ignore any messages that aren't explicitly set as
54
+ # stubs or message expectations.
55
+ def as_null_object
56
+ @null_object = true
57
+ @object
58
+ end
59
+
60
+ # @private
61
+ def original_method_handle_for(_message)
62
+ nil
63
+ end
64
+
65
+ DEFAULT_MESSAGE_EXPECTATION_OPTS = {}.freeze
66
+
67
+ # @private
68
+ def add_message_expectation(method_name, opts=DEFAULT_MESSAGE_EXPECTATION_OPTS, &block)
69
+ location = opts.fetch(:expected_from) { CallerFilter.first_non_rspec_line }
70
+ meth_double = method_double_for(method_name)
71
+
72
+ if null_object? && !block
73
+ meth_double.add_default_stub(@error_generator, @order_group, location, opts) do
74
+ @object
75
+ end
76
+ end
77
+
78
+ meth_double.add_expectation @error_generator, @order_group, location, opts, &block
79
+ end
80
+
81
+ # @private
82
+ def add_simple_expectation(method_name, response, location)
83
+ method_double_for(method_name).add_simple_expectation method_name, response, @error_generator, location
84
+ end
85
+
86
+ # @private
87
+ def build_expectation(method_name)
88
+ meth_double = method_double_for(method_name)
89
+
90
+ meth_double.build_expectation(
91
+ @error_generator,
92
+ @order_group
93
+ )
94
+ end
95
+
96
+ # @private
97
+ def replay_received_message_on(expectation, &block)
98
+ expected_method_name = expectation.message
99
+ meth_double = method_double_for(expected_method_name)
100
+
101
+ if meth_double.expectations.any?
102
+ @error_generator.raise_expectation_on_mocked_method(expected_method_name)
103
+ end
104
+
105
+ unless null_object? || meth_double.stubs.any?
106
+ @error_generator.raise_expectation_on_unstubbed_method(expected_method_name)
107
+ end
108
+
109
+ @messages_received_mutex.synchronize do
110
+ @messages_received.each do |(actual_method_name, args, received_block)|
111
+ next unless expectation.matches?(actual_method_name, *args)
112
+
113
+ expectation.safe_invoke(nil)
114
+ block.call(*args, &received_block) if block
115
+ end
116
+ end
117
+ end
118
+
119
+ # @private
120
+ def check_for_unexpected_arguments(expectation)
121
+ @messages_received_mutex.synchronize do
122
+ return if @messages_received.empty?
123
+
124
+ return if @messages_received.any? { |method_name, args, _| expectation.matches?(method_name, *args) }
125
+
126
+ name_but_not_args, others = @messages_received.partition do |(method_name, args, _)|
127
+ expectation.matches_name_but_not_args(method_name, *args)
128
+ end
129
+
130
+ return if name_but_not_args.empty? && !others.empty?
131
+
132
+ expectation.raise_unexpected_message_args_error(name_but_not_args.map { |args| args[1] })
133
+ end
134
+ end
135
+
136
+ # @private
137
+ def add_stub(method_name, opts={}, &implementation)
138
+ location = opts.fetch(:expected_from) { CallerFilter.first_non_rspec_line }
139
+ method_double_for(method_name).add_stub @error_generator, @order_group, location, opts, &implementation
140
+ end
141
+
142
+ # @private
143
+ def add_simple_stub(method_name, response)
144
+ method_double_for(method_name).add_simple_stub method_name, response
145
+ end
146
+
147
+ # @private
148
+ def remove_stub(method_name)
149
+ method_double_for(method_name).remove_stub
150
+ end
151
+
152
+ # @private
153
+ def remove_stub_if_present(method_name)
154
+ method_double_for(method_name).remove_stub_if_present
155
+ end
156
+
157
+ # @private
158
+ def verify
159
+ @method_doubles.each_value { |d| d.verify }
160
+ end
161
+
162
+ # @private
163
+ def reset
164
+ @messages_received_mutex.synchronize do
165
+ @messages_received.clear
166
+ end
167
+ end
168
+
169
+ # @private
170
+ def received_message?(method_name, *args, &block)
171
+ @messages_received_mutex.synchronize do
172
+ @messages_received.any? { |array| array == [method_name, args, block] }
173
+ end
174
+ end
175
+
176
+ # @private
177
+ def messages_arg_list
178
+ @messages_received_mutex.synchronize do
179
+ @messages_received.map { |_, args, _| args }
180
+ end
181
+ end
182
+
183
+ # @private
184
+ def has_negative_expectation?(message)
185
+ method_double_for(message).expectations.find { |expectation| expectation.negative_expectation_for?(message) }
186
+ end
187
+
188
+ # @private
189
+ def record_message_received(message, *args, &block)
190
+ @order_group.invoked SpecificMessage.new(object, message, args)
191
+ @messages_received_mutex.synchronize do
192
+ @messages_received << [message, args, block]
193
+ end
194
+ end
195
+ ruby2_keywords :record_message_received if respond_to?(:ruby2_keywords, true)
196
+
197
+ # @private
198
+ def message_received(message, *args, &block)
199
+ record_message_received message, *args, &block
200
+
201
+ expectation = find_matching_expectation(message, *args)
202
+ stub = find_matching_method_stub(message, *args)
203
+
204
+ if (stub && expectation && expectation.called_max_times?) || (stub && !expectation)
205
+ expectation.increase_actual_received_count! if expectation && expectation.actual_received_count_matters?
206
+ if (expectation = find_almost_matching_expectation(message, *args))
207
+ expectation.advise(*args) unless expectation.expected_messages_received?
208
+ end
209
+ stub.invoke(nil, *args, &block)
210
+ elsif expectation
211
+ expectation.unadvise(messages_arg_list)
212
+ expectation.invoke(stub, *args, &block)
213
+ elsif (expectation = find_almost_matching_expectation(message, *args))
214
+ expectation.advise(*args) if null_object? unless expectation.expected_messages_received?
215
+
216
+ if null_object? || !has_negative_expectation?(message)
217
+ expectation.raise_unexpected_message_args_error([args])
218
+ end
219
+ elsif (stub = find_almost_matching_stub(message, *args))
220
+ stub.advise(*args)
221
+ raise_missing_default_stub_error(stub, [args])
222
+ elsif Class === @object
223
+ @object.superclass.__send__(message, *args, &block)
224
+ else
225
+ @object.__send__(:method_missing, message, *args, &block)
226
+ end
227
+ end
228
+ ruby2_keywords :message_received if respond_to?(:ruby2_keywords, true)
229
+
230
+ # @private
231
+ def raise_unexpected_message_error(method_name, args)
232
+ @error_generator.raise_unexpected_message_error method_name, args
233
+ end
234
+
235
+ # @private
236
+ def raise_missing_default_stub_error(expectation, args_for_multiple_calls)
237
+ @error_generator.raise_missing_default_stub_error(expectation, args_for_multiple_calls)
238
+ end
239
+
240
+ # @private
241
+ def visibility_for(_method_name)
242
+ # This is the default (for test doubles). Subclasses override this.
243
+ :public
244
+ end
245
+
246
+ if Support::RubyFeatures.module_prepends_supported?
247
+ def self.prepended_modules_of(klass)
248
+ ancestors = klass.ancestors
249
+
250
+ # `|| 0` is necessary for Ruby 2.0, where the singleton class
251
+ # is only in the ancestor list when there are prepended modules.
252
+ singleton_index = ancestors.index(klass) || 0
253
+
254
+ ancestors[0, singleton_index]
255
+ end
256
+
257
+ def prepended_modules_of_singleton_class
258
+ @prepended_modules_of_singleton_class ||= RSpec::Mocks::Proxy.prepended_modules_of(@object.singleton_class)
259
+ end
260
+ end
261
+
262
+ # @private
263
+ def method_double_if_exists_for_message(message)
264
+ method_double_for(message) if @method_doubles.key?(message.to_sym)
265
+ end
266
+
267
+ private
268
+
269
+ def method_double_for(message)
270
+ @method_doubles[message.to_sym]
271
+ end
272
+
273
+ def find_matching_expectation(method_name, *args)
274
+ find_best_matching_expectation_for(method_name) do |expectation|
275
+ expectation.matches?(method_name, *args)
276
+ end
277
+ end
278
+ ruby2_keywords :find_matching_expectation if respond_to?(:ruby2_keywords, true)
279
+
280
+ def find_almost_matching_expectation(method_name, *args)
281
+ find_best_matching_expectation_for(method_name) do |expectation|
282
+ expectation.matches_name_but_not_args(method_name, *args)
283
+ end
284
+ end
285
+ ruby2_keywords :find_almost_matching_expectation if respond_to?(:ruby2_keywords, true)
286
+
287
+ def find_best_matching_expectation_for(method_name)
288
+ first_match = nil
289
+
290
+ method_double_for(method_name).expectations.each do |expectation|
291
+ next unless yield expectation
292
+ return expectation unless expectation.called_max_times?
293
+ first_match ||= expectation
294
+ end
295
+
296
+ first_match
297
+ end
298
+
299
+ def find_matching_method_stub(method_name, *args)
300
+ method_double_for(method_name).stubs.find { |stub| stub.matches?(method_name, *args) }
301
+ end
302
+ ruby2_keywords :find_matching_method_stub if respond_to?(:ruby2_keywords, true)
303
+
304
+ def find_almost_matching_stub(method_name, *args)
305
+ method_double_for(method_name).stubs.find { |stub| stub.matches_name_but_not_args(method_name, *args) }
306
+ end
307
+ ruby2_keywords :find_almost_matching_stub if respond_to?(:ruby2_keywords, true)
308
+ end
309
+
310
+ # @private
311
+ class TestDoubleProxy < Proxy
312
+ def reset
313
+ @method_doubles.clear
314
+ object.__disallow_further_usage!
315
+ super
316
+ end
317
+ end
318
+
319
+ # @private
320
+ class PartialDoubleProxy < Proxy
321
+ def original_method_handle_for(message)
322
+ if any_instance_class_recorder_observing_method?(@object.class, message)
323
+ message = ::RSpec::Mocks.space.
324
+ any_instance_recorder_for(@object.class).
325
+ build_alias_method_name(message)
326
+ end
327
+
328
+ ::RSpec::Support.method_handle_for(@object, message)
329
+ rescue NameError
330
+ nil
331
+ end
332
+
333
+ # @private
334
+ def add_simple_expectation(method_name, response, location)
335
+ method_double_for(method_name).configure_method
336
+ super
337
+ end
338
+
339
+ # @private
340
+ def add_simple_stub(method_name, response)
341
+ method_double_for(method_name).configure_method
342
+ super
343
+ end
344
+
345
+ # @private
346
+ def visibility_for(method_name)
347
+ # We fall back to :public because by default we allow undefined methods
348
+ # to be stubbed, and when we do so, we make them public.
349
+ MethodReference.method_visibility_for(@object, method_name) || :public
350
+ end
351
+
352
+ def reset
353
+ @method_doubles.each_value { |d| d.reset }
354
+ super
355
+ end
356
+
357
+ def message_received(message, *args, &block)
358
+ RSpec::Mocks.space.any_instance_recorders_from_ancestry_of(object).each do |subscriber|
359
+ subscriber.notify_received_message(object, message, args, block)
360
+ end
361
+ super
362
+ end
363
+ ruby2_keywords :message_received if respond_to?(:ruby2_keywords, true)
364
+
365
+ private
366
+
367
+ def any_instance_class_recorder_observing_method?(klass, method_name)
368
+ only_return_existing = true
369
+ recorder = ::RSpec::Mocks.space.any_instance_recorder_for(klass, only_return_existing)
370
+ return true if recorder && recorder.already_observing?(method_name)
371
+
372
+ superklass = klass.superclass
373
+ return false if superklass.nil?
374
+ any_instance_class_recorder_observing_method?(superklass, method_name)
375
+ end
376
+ end
377
+
378
+ # @private
379
+ # When we mock or stub a method on a class, we have to treat it a bit different,
380
+ # because normally singleton method definitions only affect the object on which
381
+ # they are defined, but on classes they affect subclasses, too. As a result,
382
+ # we need some special handling to get the original method.
383
+ module PartialClassDoubleProxyMethods
384
+ def initialize(source_space, *args)
385
+ @source_space = source_space
386
+ super(*args)
387
+ end
388
+
389
+ # Consider this situation:
390
+ #
391
+ # class A; end
392
+ # class B < A; end
393
+ #
394
+ # allow(A).to receive(:new)
395
+ # expect(B).to receive(:new).and_call_original
396
+ #
397
+ # When getting the original definition for `B.new`, we cannot rely purely on
398
+ # using `B.method(:new)` before our redefinition is defined on `B`, because
399
+ # `B.method(:new)` will return a method that will execute the stubbed version
400
+ # of the method on `A` since singleton methods on classes are in the lookup
401
+ # hierarchy.
402
+ #
403
+ # To do it properly, we need to find the original definition of `new` from `A`
404
+ # from _before_ `A` was stubbed, and we need to rebind it to `B` so that it will
405
+ # run with the proper `self`.
406
+ #
407
+ # That's what this method (together with `original_unbound_method_handle_from_ancestor_for`)
408
+ # does.
409
+ def original_method_handle_for(message)
410
+ unbound_method = superclass_proxy &&
411
+ superclass_proxy.original_unbound_method_handle_from_ancestor_for(message.to_sym)
412
+
413
+ return super unless unbound_method
414
+ unbound_method.bind(object)
415
+ # :nocov:
416
+ rescue TypeError
417
+ if RUBY_VERSION == '1.8.7'
418
+ # In MRI 1.8.7, a singleton method on a class cannot be rebound to its subclass
419
+ if unbound_method && unbound_method.owner.ancestors.first != unbound_method.owner
420
+ # This is a singleton method; we can't do anything with it
421
+ # But we can work around this using a different implementation
422
+ double = method_double_from_ancestor_for(message)
423
+ return object.method(double.method_stasher.stashed_method_name)
424
+ end
425
+ end
426
+ raise
427
+ # :nocov:
428
+ end
429
+
430
+ protected
431
+
432
+ def original_unbound_method_handle_from_ancestor_for(message)
433
+ double = method_double_from_ancestor_for(message)
434
+ double && double.original_method.unbind
435
+ end
436
+
437
+ def method_double_from_ancestor_for(message)
438
+ @method_doubles.fetch(message) do
439
+ # The fact that there is no method double for this message indicates
440
+ # that it has not been redefined by rspec-mocks. We need to continue
441
+ # looking up the ancestor chain.
442
+ return superclass_proxy &&
443
+ superclass_proxy.method_double_from_ancestor_for(message)
444
+ end
445
+ end
446
+
447
+ def superclass_proxy
448
+ return @superclass_proxy if defined?(@superclass_proxy)
449
+
450
+ if (superclass = object.superclass)
451
+ @superclass_proxy = @source_space.superclass_proxy_for(superclass)
452
+ else
453
+ @superclass_proxy = nil
454
+ end
455
+ end
456
+ end
457
+
458
+ # @private
459
+ class PartialClassDoubleProxy < PartialDoubleProxy
460
+ include PartialClassDoubleProxyMethods
461
+ end
462
+
463
+ # @private
464
+ class ProxyForNil < PartialDoubleProxy
465
+ def initialize(order_group)
466
+ set_expectation_behavior
467
+ super(nil, order_group)
468
+ end
469
+
470
+ attr_accessor :disallow_expectations
471
+ attr_accessor :warn_about_expectations
472
+
473
+ def add_message_expectation(method_name, opts={}, &block)
474
+ warn_or_raise!(method_name)
475
+ super
476
+ end
477
+
478
+ def add_stub(method_name, opts={}, &implementation)
479
+ warn_or_raise!(method_name)
480
+ super
481
+ end
482
+
483
+ private
484
+
485
+ def set_expectation_behavior
486
+ case RSpec::Mocks.configuration.allow_message_expectations_on_nil
487
+ when false
488
+ @warn_about_expectations = false
489
+ @disallow_expectations = true
490
+ when true
491
+ @warn_about_expectations = false
492
+ @disallow_expectations = false
493
+ else
494
+ @warn_about_expectations = true
495
+ @disallow_expectations = false
496
+ end
497
+ end
498
+
499
+ def warn_or_raise!(method_name)
500
+ # This method intentionally swallows the message when
501
+ # neither disallow_expectations nor warn_about_expectations
502
+ # are set to true.
503
+ if disallow_expectations
504
+ raise_error(method_name)
505
+ elsif warn_about_expectations
506
+ warn(method_name)
507
+ end
508
+ end
509
+
510
+ def warn(method_name)
511
+ warning_msg = @error_generator.expectation_on_nil_message(method_name)
512
+ RSpec.warning(warning_msg)
513
+ end
514
+
515
+ def raise_error(method_name)
516
+ @error_generator.raise_expectation_on_nil_error(method_name)
517
+ end
518
+ end
519
+ end
520
+ end