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,1270 @@
1
+ ### Development
2
+ [Full Changelog](http://github.com/rspec/rspec-mocks/compare/v3.12.6...3-12-maintenance)
3
+
4
+ ### 3.12.6 / 2023-07-11
5
+ [Full Changelog](http://github.com/rspec/rspec-mocks/compare/v3.12.5...v3.12.6)
6
+
7
+ Bug Fixes:
8
+
9
+ * Fix an issue with `and_call_original` when using the `method_missing` fallback
10
+ with keyword arguments. (Igor Drozdov, #1552)
11
+
12
+ ### 3.12.5 / 2023-03-30
13
+ [Full Changelog](http://github.com/rspec/rspec-mocks/compare/v3.12.4...v3.12.5)
14
+
15
+ Bug Fixes:
16
+
17
+ * Fix compatibility issue with Rails where active_support monkey patches `with`
18
+ when using any instance. (Lachlan Sylvester, #1540)
19
+
20
+ ### 3.12.4 / 2023-03-12
21
+ [Full Changelog](http://github.com/rspec/rspec-mocks/compare/v3.12.3...v3.12.4)
22
+
23
+ Bug Fixes:
24
+
25
+ * Fix an issue with asserting that Array#reverse is never called. (Brad Trick, #1533)
26
+ * Fix compatibility issue with Rails where active_support monkey patches `with`.
27
+ (Jean Boussier, #1531, #1534)
28
+
29
+ ### 3.12.3 / 2023-01-17
30
+ [Full Changelog](http://github.com/rspec/rspec-mocks/compare/v3.12.2...v3.12.3)
31
+
32
+ Bug Fixes:
33
+
34
+ * Fix keyword delegation in `send` for verifying doubles on Ruby 3.
35
+ (Charlie Honig, #1485)
36
+
37
+ ### 3.12.2 / 2023-01-07
38
+ [Full Changelog](http://github.com/rspec/rspec-mocks/compare/v3.12.1...v3.12.2)
39
+
40
+ Bug Fixes:
41
+
42
+ * Fix implementation blocks for mocks using keyword arguments on Ruby 3.2.0.
43
+ (Adam Steel, #1508)
44
+ * Fix keyword argument assertions when mocking using `with` on Ruby 3.2.0.
45
+ (Slava Kardakov, Benoit Tigeot, Phil Pirozhkov, Benoit Daloze, #1514)
46
+
47
+ ### 3.12.1 / 2022-12-10
48
+ [Full Changelog](http://github.com/rspec/rspec-mocks/compare/v3.12.0...v3.12.1)
49
+
50
+ Bug Fixes:
51
+
52
+ * Remove empty diff marker when a diff only contains console codes. (Jon Rowe, #1506)
53
+ * Show keyword vs hash diff marker when arguments are not `==` (Jon Rowe, #1506)
54
+ * Change check to detect frozen objects to rescue errors rather than
55
+ pre-empting by checking `frozen?` due to some objects mis-behaving.
56
+ (Keegan Roth, #1401)
57
+ * Prevent unfulfilled expectations using `expect_any_instance_of` across a class
58
+ inheritance boundary from raising rather than failing. (Jon Rowe, #1496)
59
+ * Prevent a misleading error message when using `allow(...).not_to` with
60
+ unsupported matchers. (Phil Pirozhkov, #1503)
61
+
62
+ ### 3.12.0 / 2022-10-26
63
+ [Full Changelog](http://github.com/rspec/rspec-mocks/compare/v3.11.2...v3.12.0)
64
+
65
+ Enhancements:
66
+
67
+ * Improve diff output when diffing keyword arguments against hashes.
68
+ (Jean Boussier, #1461)
69
+
70
+ ### 3.11.2 / 2022-10-25
71
+ [Full Changelog](http://github.com/rspec/rspec-mocks/compare/v3.11.1...v3.11.2)
72
+
73
+ Bug Fixes:
74
+
75
+ * Use the original implementation of `Class.new` to detect overridden definitions
76
+ of `new` rather than the owner, fixing detection of "double aliased" methods
77
+ in Ruby 3 and above. (Benoit Daloze, #1470, #1476)
78
+ * Support keyword argument semantics when constraining argument expectations using
79
+ `with` on Ruby 3.0+ with `instance_double` (Andrii Malyshko, #1473)
80
+
81
+ ### 3.11.1 / 2022-03-31
82
+ [Full Changelog](http://github.com/rspec/rspec-mocks/compare/v3.11.0...v3.11.1)
83
+
84
+ Bug Fixes:
85
+
86
+ * Add extra `ruby2_keywords` calls to properly designate methods using
87
+ `*args` to pass keyword around, fixes an issue with TruffleRuby.
88
+ (Benoit Daloze, #1464)
89
+
90
+ ### 3.11.0 / 2022-02-09
91
+ [Full Changelog](http://github.com/rspec/rspec-mocks/compare/v3.10.3...v3.11.0)
92
+
93
+ Enhancements:
94
+
95
+ * Add `and_invoke` implementation for configuring responses to `receive`
96
+ (and `receive_messages`) with multiple callable objects. (Kyle Smith, #1411)
97
+
98
+ ### 3.10.3 / 2022-01-28
99
+ [Full Changelog](http://github.com/rspec/rspec-mocks/compare/v3.10.2...v3.10.3)
100
+
101
+ Bug Fixes:
102
+
103
+ * Suppress warning by setting `$VERBOSE` to nil. (Nobuyoshi Nakada, #1414)
104
+ * Support keyword argument semantics when constraining argument expectations using
105
+ `with` on Ruby 3.0+ (Yusuke Endoh, #1394)
106
+
107
+ ### 3.10.2 / 2021-01-27
108
+ [Full Changelog](http://github.com/rspec/rspec-mocks/compare/v3.10.1...v3.10.2)
109
+
110
+ Bug Fixes:
111
+
112
+ * Support keyword arguments with `and_call_original` on Ruby 3.0.
113
+ (Bryan Powell, #1385)
114
+ * `RSpec::Mocks::Constant#previously_defined?` is now always a boolean.
115
+ (Phil Pirozhkov, #1397)
116
+ * Support keyword arguments on Ruby 3.0 when used with `expect_any_instance_of`
117
+ or `allow_any_instance_of` with `and_call_original`.
118
+ (Jess Hottenstein, #1407)
119
+
120
+ ### 3.10.1 / 2020-12-27
121
+ [Full Changelog](http://github.com/rspec/rspec-mocks/compare/v3.10.0...v3.10.1)
122
+
123
+ Bug Fixes:
124
+
125
+ * Issue `ArgumentError` rather than `TypeError` when unsupported methods on
126
+ unsupported objects are attempted to be stubbed. (@zhisme, #1357)
127
+
128
+ ### 3.10.0 / 2020-10-30
129
+ [Full Changelog](http://github.com/rspec/rspec-mocks/compare/v3.9.1...v3.10.0)
130
+
131
+ Enhancements:
132
+ * Add the ability to set a custom error generator in `MessageExpectation`.
133
+ This will allow rspec-expectations to inject a custom failure message.
134
+ (Benoit Tigeot and Nicolas Zermati, #1312)
135
+ * Return the result of the block passed to `RSpec::Mocks.with_temporary_scope`
136
+ when block run. (@expeehaa, #1329)
137
+
138
+ ### 3.9.1 / 2019-12-31
139
+ [Full Changelog](http://github.com/rspec/rspec-mocks/compare/v3.9.0...v3.9.1)
140
+
141
+ Bug Fixes:
142
+
143
+ * Trigger `RSpec::Mocks.configuration.verifying_double_callbacks` when using
144
+ `allow_any_instance_of` or `expect_any_instance_of` (Daniel Orner, #1309)
145
+
146
+ ### 3.9.0 / 2019-10-07
147
+ [Full Changelog](http://github.com/rspec/rspec-mocks/compare/v3.8.2...v3.9.0)
148
+
149
+ Enhancements:
150
+
151
+ * Improve thread safety of message expectations by using Mutex to prevent
152
+ deadlocking errors. (Ry Biesemeyer, #1236)
153
+ * Add the ability to use `time` as an alias for `times`. For example:
154
+ `expect(Class).to receive(:method).exactly(1).time`.
155
+ (Pistos, Benoit Tigeot, #1271)
156
+
157
+ ### 3.8.2 / 2019-10-02
158
+ [Full Changelog](http://github.com/rspec/rspec-mocks/compare/v3.8.1...v3.8.2)
159
+
160
+ * Allow `array_including` argument matchers to be nested.
161
+ (Emmanuel Delmas, #1291)
162
+
163
+ ### 3.8.1 / 2019-06-13
164
+ [Full Changelog](http://github.com/rspec/rspec-mocks/compare/v3.8.0...v3.8.1)
165
+
166
+ Bug Fixes:
167
+
168
+ * Ensure stubbing methods does not change their visibility.
169
+ (Kevin Boschert, #1277)
170
+
171
+ ### 3.8.0 / 2018-08-04
172
+ [Full Changelog](http://github.com/rspec/rspec-mocks/compare/v3.7.0...v3.8.0)
173
+
174
+ Bug Fixes:
175
+
176
+ * Issue error when encountering invalid "counted" negative message expectations.
177
+ (Sergiy Yarinovskiy, #1212)
178
+ * Ensure `allow_any_instance_of` and `expect_any_instance_of` can be temporarily
179
+ supressed. (Jon Rowe, #1228)
180
+ * Ensure `expect_any_instance_of(double).to_not have_received(:some_method)`
181
+ fails gracefully (as its not supported) rather than issuing a `NoMethodError`.
182
+ (Maxim Krizhanovsky, #1231)
183
+
184
+ ### 3.7.0 / 2017-10-17
185
+ [Full Changelog](http://github.com/rspec/rspec-mocks/compare/v3.6.0...v3.7.0)
186
+
187
+ Enhancements:
188
+
189
+ * Improve compatibility with `--enable-frozen-string-literal` option
190
+ on Ruby 2.3+. (Pat Allan, #1165)
191
+
192
+ Bug Fixes:
193
+
194
+ * Fix `hash_including` and `hash_excluding` so that they work against
195
+ subclasses of `Hash`. (Aaron Rosenberg, #1167)
196
+
197
+ ### 3.6.0 / 2017-05-04
198
+ [Full Changelog](http://github.com/rspec/rspec-mocks/compare/v3.6.0.beta2...v3.6.0)
199
+
200
+ Bug Fixes:
201
+
202
+ * Fix "instance variable @color not initialized" warning when using
203
+ rspec-mocks without rspec-core. (Myron Marston, #1142)
204
+ * Restore aliased module methods properly when stubbing on 1.8.7.
205
+ (Samuel Giddins, #1144)
206
+ * Allow a message chain expectation to be constrained by argument(s).
207
+ (Jon Rowe, #1156)
208
+
209
+ ### 3.6.0.beta2 / 2016-12-12
210
+ [Full Changelog](http://github.com/rspec/rspec-mocks/compare/v3.6.0.beta1...v3.6.0.beta2)
211
+
212
+ Enhancements:
213
+
214
+ * Add new `without_partial_double_verification { }` API that lets you
215
+ temporarily turn off partial double verification for an example.
216
+ (Jon Rowe, #1104)
217
+
218
+ ### 3.6.0.beta1 / 2016-10-09
219
+ [Full Changelog](http://github.com/rspec/rspec-mocks/compare/v3.5.0...v3.6.0.beta1)
220
+
221
+ Bug Fixes:
222
+
223
+ * Return the test double instance form `#freeze` (Alessandro Berardi, #1109)
224
+ * Allow the special logic for stubbing `new` to work when `<Class>.method` has
225
+ been redefined. (Proby, #1119)
226
+
227
+ ### 3.5.0 / 2016-07-01
228
+ [Full Changelog](http://github.com/rspec/rspec-mocks/compare/v3.5.0.beta4...v3.5.0)
229
+
230
+ Enhancements:
231
+
232
+ * Provides a nice string representation of
233
+ `RSpec::Mocks::MessageExpectation` (Myron Marston, #1095)
234
+
235
+ ### 3.5.0.beta4 / 2016-06-05
236
+ [Full Changelog](http://github.com/rspec/rspec-mocks/compare/v3.5.0.beta3...v3.5.0.beta4)
237
+
238
+ Enhancements:
239
+
240
+ * Add `and_throw` to any instance handling. (Tobias Bühlmann, #1068)
241
+
242
+ ### 3.5.0.beta3 / 2016-04-02
243
+ [Full Changelog](http://github.com/rspec/rspec-mocks/compare/v3.5.0.beta2...v3.5.0.beta3)
244
+
245
+ Enhancements:
246
+
247
+ * Issue warning when attempting to use unsupported
248
+ `allow(...).to receive(...).ordered`. (Jon Rowe, #1000)
249
+ * Add `rspec/mocks/minitest_integration`, to properly integrate rspec-mocks
250
+ with minitest. (Myron Marston, #1065)
251
+
252
+ ### 3.5.0.beta2 / 2016-03-10
253
+ [Full Changelog](http://github.com/rspec/rspec-mocks/compare/v3.5.0.beta1...v3.5.0.beta2)
254
+
255
+ Enhancements:
256
+
257
+ * Improve error message displayed when using `and_wrap_original` on pure test
258
+ doubles. (betesh, #1063)
259
+
260
+ Bug Fixes:
261
+
262
+ * Fix issue that prevented `receive_message_chain(...).with(...)` working
263
+ correctly on "any instance" mocks. (Jon Rowe, #1061)
264
+
265
+ ### 3.5.0.beta1 / 2016-02-06
266
+ [Full Changelog](http://github.com/rspec/rspec-mocks/compare/v3.4.1...v3.5.0.beta1)
267
+
268
+ Bug Fixes:
269
+
270
+ * Allow `any_instance_of(...).to receive(...)` to use `and_yield` multiple
271
+ times. (Kilian Cirera Sant, #1054)
272
+ * Allow matchers which inherit from `rspec-mocks` matchers to be used for
273
+ `allow`. (Andrew Kozin, #1056)
274
+ * Prevent stubbing `respond_to?` on partial doubles from causing infinite
275
+ recursion. (Jon Rowe, #1013)
276
+ * Prevent aliased methods from disapearing after being mocked with
277
+ `any_instance` (regression from #1043). (Joe Rafaniello, #1060)
278
+
279
+ ### 3.4.1 / 2016-01-10
280
+ [Full Changelog](http://github.com/rspec/rspec-mocks/compare/v3.4.0...v3.4.1)
281
+
282
+ Bug Fixes:
283
+
284
+ * Fix `any_instance` to work properly on Ruby 2.3. (Joe Rafaniello, #1043)
285
+
286
+ ### 3.4.0 / 2015-11-11
287
+ [Full Changelog](http://github.com/rspec/rspec-mocks/compare/v3.3.2...v3.4.0)
288
+
289
+ Enhancements:
290
+
291
+ * Make `expect(...).to have_received` work without relying upon
292
+ rspec-expectations. (Myron Marston, #978)
293
+ * Add option for failing tests when expectations are set on `nil`.
294
+ (Liz Rush, #983)
295
+
296
+ Bug Fixes:
297
+
298
+ * Fix `have_received { ... }` so that any block passed when the message
299
+ was received is forwarded to the `have_received` block. (Myron Marston, #1006)
300
+ * Fix infinite loop in error generator when stubbing `respond_to?`.
301
+ (Alex Dowad, #1022)
302
+ * Fix issue with using `receive` on subclasses (at a class level) with 1.8.7.
303
+ (Alex Dowad, #1026)
304
+
305
+ ### 3.3.2 / 2015-07-15
306
+ [Full Changelog](http://github.com/rspec/rspec-mocks/compare/v3.3.1...v3.3.2)
307
+
308
+ Bug Fixes:
309
+
310
+ * Prevent thread deadlock errors during proxy creation (e.g. when using
311
+ `before_verifying_doubles` callbacks). (Jon Rowe, #980, #979)
312
+
313
+ ### 3.3.1 / 2015-06-19
314
+ [Full Changelog](http://github.com/rspec/rspec-mocks/compare/v3.3.0...v3.3.1)
315
+
316
+ Bug Fixes:
317
+
318
+ * Fix bug in `before_verifying_double` callback logic that caused it to be called
319
+ once for each class in the ancestor list when mocking or stubbing a class. Now
320
+ it is only called for the mocked or stubbed class, as you would expect. (Sam
321
+ Phippen, #974)
322
+
323
+ ### 3.3.0 / 2015-06-12
324
+ [Full Changelog](http://github.com/rspec/rspec-mocks/compare/v3.2.1...v3.3.0)
325
+
326
+ Enhancements:
327
+
328
+ * When stubbing `new` on `MyClass` or `class_double(MyClass)`, use the
329
+ method signature from `MyClass#initialize` to verify arguments.
330
+ (Myron Marston, #886)
331
+ * Use matcher descriptions when generating description of received arguments
332
+ for mock expectation failures. (Tim Wade, #891)
333
+ * Avoid loading `stringio` unnecessarily. (Myron Marston, #894)
334
+ * Verifying doubles failure messages now distinguish between class and instance
335
+ level methods. (Tim Wade, #896, #908)
336
+ * Improve mock expectation failure messages so that it combines both
337
+ number of times and the received arguments in the output. (John Ceh, #918)
338
+ * Improve how test doubles are represented in failure messages.
339
+ (Siva Gollapalli, Myron Marston, #932)
340
+ * Rename `RSpec::Mocks::Configuration#when_declaring_verifying_double` to
341
+ `RSpec::Mocks::Configuration#before_verifying_doubles` and utilise when
342
+ verifying partial doubles. (Jon Rowe, #940)
343
+ * Use rspec-support's `ObjectFormatter` for improved formatting of
344
+ arguments in failure messages so that, for example, full time
345
+ precisions is displayed for time objects. (Gavin Miller, Myron Marston, #955)
346
+
347
+ Bug Fixes:
348
+
349
+ * Ensure expectations that raise eagerly also raise during RSpec verification.
350
+ This means that if exceptions are caught inside test execution the test will
351
+ still fail. (Sam Phippen, #884)
352
+ * Fix `have_received(msg).with(args).exactly(n).times` and
353
+ `receive(msg).with(args).exactly(n).times` failure messages
354
+ for when the message was received the wrong number of times with
355
+ the specified args, and also received additional times with other
356
+ arguments. Previously it confusingly listed the arguments as being
357
+ mis-matched (even when the double was allowed to receive with any
358
+ args) rather than listing the count. (John Ceh, #918)
359
+ * Fix `any_args`/`anything` support so that we avoid calling `obj == anything`
360
+ on user objects that may have improperly implemented `==` in a way that
361
+ raises errors. (Myron Marston, #924)
362
+ * Fix edge case involving stubbing the same method on a class and a subclass
363
+ which previously hit a `NoMethodError` internally in RSpec. (Myron Marston #954)
364
+ * Fix edge case where the message received count would be incremented multiple
365
+ times for one failure. (Myron Marston, #957)
366
+ * Fix failure messages for when spies received the expected message with
367
+ different arguments and also received another message. (Maurício Linhares, #960)
368
+ * Silence whitespace-only diffs. (Myron Marston, #969)
369
+
370
+ ### 3.2.1 / 2015-02-23
371
+ [Full Changelog](http://github.com/rspec/rspec-mocks/compare/v3.2.0...v3.2.1)
372
+
373
+ Bug Fixes:
374
+
375
+ * Add missing `rspec/support/differ` require so that rspec-mocks can be
376
+ used w/o rspec-expectations (which also loads the differ and hided the
377
+ fact we forgot to require it). (Myron Marston, #893)
378
+ * Revert tracking of received arg mutation (added in 3.2.0 to provide an
379
+ error in a situation we can't support) as our implementation has side
380
+ effects on non-standard objects and there's no solution we could come
381
+ up with that always works. (Myron Marston, #900)
382
+
383
+ ### 3.2.0 / 2015-02-03
384
+ [Full Changelog](http://github.com/rspec/rspec-mocks/compare/v3.1.3...v3.2.0)
385
+
386
+ Enhancements:
387
+
388
+ * Treat `any_args` as an arg splat, allowing it to match an arbitrary
389
+ number of args at any point in an arg list. (Myron Marston, #786)
390
+ * Print diffs when arguments in mock expectations are mismatched.
391
+ (Sam Phippen, #751)
392
+ * Support names for verified doubles (`instance_double`, `instance_spy`,
393
+ `class_double`, `class_spy`, `object_double`, `object_spy`). (Cezary
394
+ Baginski, #826)
395
+ * Make `array_including` and `hash_including` argument matchers composable.
396
+ (Sam Phippen, #819)
397
+ * Make `allow_any_instance_of(...).to receive(...).and_wrap_original`
398
+ work. (Ryan Fitzgerald, #869)
399
+
400
+ Bug Fixes:
401
+
402
+ * Provide a clear error when users wrongly combine `no_args` with
403
+ additional arguments (e.g. `expect().to receive().with(no_args, 1)`).
404
+ (Myron Marston, #786)
405
+ * Provide a clear error when users wrongly use `any_args` multiple times in the
406
+ same argument list (e.g. `expect().to receive().with(any_args, 1, any_args)`.
407
+ (Myron Marston, #786)
408
+ * Prevent the error generator from using user object #description methods.
409
+ See [#685](https://github.com/rspec/rspec-mocks/issues/685).
410
+ (Sam Phippen, #751)
411
+ * Make verified doubles declared as `(instance|class)_double(SomeConst)`
412
+ work properly when `SomeConst` has previously been stubbed.
413
+ `(instance|class)_double("SomeClass")` already worked properly.
414
+ (Myron Marston, #824)
415
+ * Add a matcher description for `receive`, `receive_messages` and
416
+ `receive_message_chain`. (Myron Marston, #828)
417
+ * Validate invocation args for null object verified doubles.
418
+ (Myron Marston, #829)
419
+ * Fix `RSpec::Mocks::Constant.original` when called with an invalid
420
+ constant to return an object indicating the constant name is invalid,
421
+ rather than blowing up. (Myron Marston, #833)
422
+ * Make `extend RSpec::Mocks::ExampleMethods` on any object work properly
423
+ to add the rspec-mocks API to that object. Previously, `expect` would
424
+ be undefined. (Myron Marston, #846)
425
+ * Fix `require 'rspec/mocks/standalone'` so that it only affects `main`
426
+ and not every object. It's really only intended to be used in a REPL
427
+ like IRB, but some gems have loaded it, thinking it needs to be loaded
428
+ when using rspec-mocks outside the context of rspec-core.
429
+ (Myron Marston, #846)
430
+ * Prevent message expectations from being modified by customization methods
431
+ (e.g. `with`) after they have been invoked. (Sam Phippen and Melanie Gilman, #837)
432
+ * Handle cases where a method stub cannot be removed due to something
433
+ external to RSpec monkeying with the method definition. This can
434
+ happen, for example, when you `file.reopen(io)` after previously
435
+ stubbing a method on the `file` object. (Myron Marston, #853)
436
+ * Provide a clear error when received message args are mutated before
437
+ a `have_received(...).with(...)` expectation. (Myron Marston, #868)
438
+
439
+ ### 3.1.3 / 2014-10-08
440
+ [Full Changelog](http://github.com/rspec/rspec-mocks/compare/v3.1.2...v3.1.3)
441
+
442
+ Bug Fixes:
443
+
444
+ * Correct received messages count when used with `have_received` matcher.
445
+ (Jon Rowe, #793)
446
+ * Provide a clear error message when you use `allow_any_instance_of(...)` or
447
+ `expect_any_instance_of(...)` with the `have_received` matcher (they are
448
+ not intended to be used together and previously caused an odd internal
449
+ failure in rspec-mocks). (Jon Rowe, #799).
450
+ * Fix verified double `with` verification so that it applies to method
451
+ stubs. (Myron Marston, #790)
452
+
453
+ ### 3.1.2 / 2014-09-26
454
+ [Full Changelog](http://github.com/rspec/rspec-mocks/compare/v3.1.1...v3.1.2)
455
+
456
+ Bug Fixes:
457
+
458
+ * Provide a clear error message when you use `allow(...)` with the
459
+ `have_received` matcher (they are not intended to be used together
460
+ and previously caused an odd internal failure in rspec-mocks). (Jon Rowe, #788).
461
+
462
+ ### 3.1.1 / 2014-09-18
463
+ [Full Changelog](http://github.com/rspec/rspec-mocks/compare/v3.1.0...v3.1.1)
464
+
465
+ Bug Fixes:
466
+
467
+ * Prevent included modules being detected as prepended modules on Ruby 2.0
468
+ when using `any_instance_of(...)`. (Tony Novak, #781)
469
+
470
+ ### 3.1.0 / 2014-09-04
471
+ [Full Changelog](http://github.com/rspec/rspec-mocks/compare/v3.0.4...v3.1.0)
472
+
473
+ Enhancements:
474
+
475
+ * Add spying methods (`spy`, `ìnstance_spy`, `class_spy` and `object_spy`)
476
+ which create doubles as null objects for use with spying in testing. (Sam
477
+ Phippen, #671)
478
+ * `have_received` matcher will raise "does not implement" errors correctly when
479
+ used with verifying doubles and partial doubles. (Xavier Shay, #722)
480
+ * Allow matchers to be used in place of keyword arguments in `with`
481
+ expectations. (Xavier Shay, #726)
482
+ * Add `thrice` modifier to message expectation interface as a synonym
483
+ for `exactly(3).times`. (Dennis Taylor, #753)
484
+ * Add more `thrice` synonyms e.g. `.at_least(:thrice)`, `.at_most(:thrice)`,
485
+ `receive(...).thrice` and `have_received(...).thrice`. (Jon Rowe, #754)
486
+ * Add `and_wrap_original` modifier for partial doubles to mutate the
487
+ response from a method. (Jon Rowe, #762)
488
+
489
+ Bug Fixes:
490
+
491
+ * Remove `any_number_of_times` from `any_instance` recorders that were
492
+ erroneously causing mention of the method in documentation. (Jon Rowe, #760)
493
+ * Prevent included modules being detected as prepended modules on Ruby 2.0.
494
+ (Eugene Kenny, #771)
495
+
496
+ ### 3.0.4 / 2014-08-14
497
+ [Full Changelog](http://github.com/rspec/rspec-mocks/compare/v3.0.3...v3.0.4)
498
+
499
+ Bug Fixes:
500
+
501
+ * Restore `kind_of(x)` to match using `arg.kind_of?(x)` (like RSpec 2)
502
+ rather than `x === arg`. (Jon Rowe, #750)
503
+
504
+ ### 3.0.3 / 2014-07-21
505
+ [Full Changelog](http://github.com/rspec/rspec-mocks/compare/v3.0.2...v3.0.3)
506
+
507
+ Bug Fixes:
508
+
509
+ * `have_received` matcher will raise "does not implement" errors correctly when
510
+ used with verifying doubles and partial doubles. (Xavier Shay, #722)
511
+ * Make `double.as_null_object.dup` and `double.as_null_object.clone`
512
+ make the copies be null objects. (Myron Marston, #732)
513
+ * Don't inadvertently define `BasicObject` in 1.8.7. (Chris Griego, #739)
514
+
515
+ ### 3.0.2 / 2014-06-19
516
+ [Full Changelog](http://github.com/rspec/rspec-mocks/compare/v3.0.1...v3.0.2)
517
+
518
+ Bug Fixes:
519
+
520
+ * Fix edge case that triggered "can't add a new key into hash during
521
+ iteration" during mock verification. (Sam Phippen, Myron Marston, #711)
522
+ * Fix verifying doubles so that when they accidentally leak into another
523
+ example, they provide the same clear error message that normal doubles
524
+ do. (Myron Marston, #718)
525
+ * Make `ordered` work with exact receive counts. (Sam Phippen, #713)
526
+
527
+ ### 3.0.1 / 2014-06-07
528
+ [Full Changelog](http://github.com/rspec/rspec-mocks/compare/v3.0.0...v3.0.1)
529
+
530
+ Bug Fixes:
531
+
532
+ * Fix `receive_message_chain(...)` so that it supports `with` just like
533
+ `stub_chain` did. (Jon Rowe, #697)
534
+ * Fix regression in `expect_any_instance_of` so that it expects the
535
+ message on _any_ instance rather than on _every_ instance.
536
+ (Myron Marston, #699)
537
+
538
+ ### 3.0.0 / 2014-06-01
539
+ [Full Changelog](http://github.com/rspec/rspec-mocks/compare/v3.0.0.rc1...v3.0.0)
540
+
541
+ Bug Fixes:
542
+
543
+ * Fix module prepend detection to work properly on ruby 2.0 for a case
544
+ where a module is extended onto itself. (Myron Marston)
545
+ * Fix `transfer_nested_constants` option so that transferred constants
546
+ get properly reset at the end of the example. (Myron Marston)
547
+ * Fix `config.transfer_nested_constants = true` so that you don't
548
+ erroneously get errors when stubbing a constant that is not a module
549
+ or a class. (Myron Marston)
550
+ * Fix regression that caused `double(:class => SomeClass)` to later
551
+ trigger infinite recursion. (Myron Marston)
552
+ * Fix bug in `have_received(...).with(...).ordered` where it was not
553
+ taking the args into account when checking the order. (Myron Marston)
554
+ * Fix bug in `have_received(...).ordered` where it was wrongly
555
+ considering stubs when checking the order. (Myron Marston)
556
+ * Message expectation matchers now show descriptions from argument
557
+ matchers when their expectations aren't met. (Jon Rowe)
558
+ * Display warning when encountering `TypeError` during instance method
559
+ staging on 2.0.0-p195, suffers from https://bugs.ruby-lang.org/issues/8686
560
+ too. (Cezar Halmagean).
561
+
562
+ ### 3.0.0.rc1 / 2014-05-18
563
+ [Full Changelog](http://github.com/rspec/rspec-mocks/compare/v3.0.0.beta2...v3.0.0.rc1)
564
+
565
+ Breaking Changes for 3.0.0:
566
+
567
+ * Remove `RSpec::Mocks::TestDouble.extend_onto`. (Myron Marston)
568
+ * Remove `RSpec::Mocks::ConstantStubber`. (Jon Rowe)
569
+ * Make monkey-patch of Marshal to support dumping of stubbed objects opt-in.
570
+ (Xavier Shay)
571
+
572
+ Enhancements:
573
+
574
+ * Instead of crashing when cleaning up stub methods on a frozen object, it now
575
+ issues a warning explaining that it's impossible to clean up the stubs.
576
+ (Justin Coyne and Sam Phippen)
577
+ * Add meaningful descriptions to `anything`, `duck_type` and `instance_of` argument
578
+ matchers. (Jon Rowe)
579
+
580
+ Bug Fixes:
581
+
582
+ * Fix regression introduced in 3.0.0.beta2 that caused
583
+ `double.as_null_object.to_str` to return the double rather
584
+ than a string. (Myron Marston)
585
+ * Fix bug in `expect(dbl).to receive_message_chain(:foo, :bar)` where it was
586
+ not setting an expectation for the last message in the chain.
587
+ (Jonathan del Strother)
588
+ * Allow verifying partial doubles to have private methods stubbed. (Xavier Shay)
589
+ * Fix bug with allowing/expecting messages on Class objects which have had
590
+ their singleton class prepended to. (Jon Rowe)
591
+ * Fix an issue with 1.8.7 not running implementation blocks on partial doubles.
592
+ (Maurício Linhares)
593
+ * Prevent `StackLevelTooDeep` errors when stubbing an `any_instance` method that's
594
+ accessed in `inspect` by providing our own inspect output. (Jon Rowe)
595
+ * Fix bug in `any_instance` logic that did not allow you to mock or stub
596
+ private methods if `verify_partial_doubles` was configured. (Oren Dobzinski)
597
+ * Include useful error message when trying to observe an unimplemented method
598
+ on an any instance. (Xavier Shay)
599
+ * Fix `and_call_original` to work properly when multiple classes in an
600
+ inheritance hierarchy have been stubbed with the same method. (Myron Marston)
601
+ * Fix `any_instance` so that it updates existing instances that have
602
+ already been stubbed. (Myron Marston)
603
+ * Fix verified doubles so that their class name is included in failure
604
+ messages. (Myron Marston)
605
+ * Fix `expect_any_instance_of` so that when the message is received
606
+ on an individual instance that has been directly stubbed, it still
607
+ satisfies the expectation. (Sam Phippen, Myron Marston)
608
+ * Explicitly disallow using `any_instance` to mock or stub a method
609
+ that is defined on a module prepended onto the class. This triggered
610
+ `SystemStackError` before and is very hard to support so we are not
611
+ supporting it at this time. (Myron Marston)
612
+
613
+ ### 3.0.0.beta2 / 2014-02-17
614
+ [Full Changelog](http://github.com/rspec/rspec-mocks/compare/v3.0.0.beta1...v3.0.0.beta2)
615
+
616
+ Breaking Changes for 3.0.0:
617
+
618
+ * Rename `RSpec::Mocks::Mock` to `RSpec::Mocks::Double`. (Myron Marston)
619
+ * Change how to integrate rspec-mocks in other test frameworks. You now
620
+ need to include `RSpec::Mocks::ExampleMethods` in your test context.
621
+ (Myron Marston)
622
+ * Prevent RSpec mocks' doubles and partial doubles from being used outside of
623
+ the per-test lifecycle (e.g. from a `before(:all)` hook). (Sam Phippen)
624
+ * Remove the `host` argument of `RSpec::Mocks.setup`. Instead
625
+ `RSpec::Mocks::ExampleMethods` should be included directly in the scope where
626
+ RSpec's mocking capabilities are used. (Sam Phippen)
627
+ * Make test doubles raise errors if you attempt to use them after they
628
+ get reset, to help surface issues when you accidentally retain
629
+ references to test doubles and attempt to reuse them in another
630
+ example. (Myron Marston)
631
+ * Remove support for `and_return { value }` and `and_return` without arguments. (Yuji Nakayama)
632
+
633
+ Enhancements:
634
+
635
+ * Add `receive_message_chain` which provides the functionality of the old
636
+ `stub_chain` for the new allow/expect syntax. Use it like so: `allow(...).to
637
+ receive_message_chain(:foo, :bar, :bazz)`. (Sam Phippen).
638
+ * Change argument matchers to use `===` as their primary matching
639
+ protocol, since their semantics mirror that of a case or rescue statement
640
+ (which uses `===` for matching). (Myron Marston)
641
+ * Add `RSpec::Mocks.with_temporary_scope`, which allows you to create
642
+ temporary rspec-mocks scopes in arbitrary places (such as a
643
+ `before(:all)` hook). (Myron Marston)
644
+ * Support keyword arguments when checking arity with verifying doubles.
645
+ (Xavier Shay)
646
+
647
+ Bug Fixes:
648
+
649
+ * Fix regression in 3.0.0.beta1 that caused `double("string_name" => :value)`
650
+ to stop working. (Xavier Shay)
651
+ * Fix the way rspec-mocks and rspec-core interact so that if users
652
+ define a `let` with the same name as one of the methods
653
+ from `RSpec::Mocks::ArgumentMatchers`, the user's `let` takes
654
+ precedence. (Michi Huber, Myron Marston)
655
+ * Fix verified doubles so that their methods match the visibility
656
+ (public, protected or private) of the interface they verify
657
+ against. (Myron Marston)
658
+ * Fix verified null object doubles so that they do not wrongly
659
+ report that they respond to anything. They only respond to methods
660
+ available on the interface they verify against. (Myron Marston)
661
+ * Fix deprecation warning for use of old `:should` syntax w/o explicit
662
+ config so that it no longer is silenced by an extension gem such
663
+ as rspec-rails when it calls `config.add_stub_and_should_receive_to`.
664
+ (Sam Phippen)
665
+ * Fix `expect` syntax so that it does not wrongly emit a "You're
666
+ overriding a previous implementation for this stub" warning when
667
+ you are not actually doing that. (Myron Marston)
668
+ * Fix `any_instance.unstub` when used on sub classes for whom the super
669
+ class has had `any_instance.stub` invoked on. (Jon Rowe)
670
+ * Fix regression in `stub_chain`/`receive_message_chain` that caused
671
+ it to raise an `ArgumentError` when passing args to the stubbed
672
+ methods. (Sam Phippen)
673
+ * Correct stub of undefined parent modules all the way down when stubbing a
674
+ nested constant. (Xavier Shay)
675
+ * Raise `VerifyingDoubleNotDefinedError` when a constant is not defined for
676
+ a verifying class double. (Maurício Linhares)
677
+ * Remove `Double#to_str`, which caused confusing `raise some_double`
678
+ behavior. (Maurício Linhares)
679
+
680
+ ### 3.0.0.beta1 / 2013-11-07
681
+ [Full Changelog](http://github.com/rspec/rspec-mocks/compare/v2.99.4...v3.0.0.beta1)
682
+
683
+ Breaking Changes for 3.0.0:
684
+
685
+ * Raise an explicit error if `should_not_receive(...).and_return` is used. (Sam
686
+ Phippen)
687
+ * Remove 1.8.6 workarounds. (Jon Rowe)
688
+ * Remove `stub!` and `unstub!`. (Sam Phippen)
689
+ * Remove `mock(name, methods)` and `stub(name, methods)`, leaving
690
+ `double(name, methods)` for creating test doubles. (Sam Phippen, Michi Huber)
691
+ * Remove `any_number_of_times` since `should_receive(:msg).any_number_of_times`
692
+ is really a stub in a mock's clothing. (Sam Phippen)
693
+ * Remove support for re-using the same null-object test double in multiple
694
+ examples. Test doubles are designed to only live for one example.
695
+ (Myron Marston)
696
+ * Make `at_least(0)` raise an error. (Sam Phippen)
697
+ * Remove support for `require 'spec/mocks'` which had been kept
698
+ in place for backwards compatibility with RSpec 1. (Myron Marston)
699
+ * Blocks provided to `with` are always used as implementation. (Xavier Shay)
700
+ * The config option (added in 2.99) to yield the receiver to
701
+ `any_instance` implementation blocks now defaults to "on". (Sam Phippen)
702
+
703
+ Enhancements:
704
+
705
+ * Allow the `have_received` matcher to use a block to set further expectations
706
+ on arguments. (Tim Cowlishaw)
707
+ * Provide `instance_double` and `class_double` to create verifying doubles,
708
+ ported from `rspec-fire`. (Xavier Shay)
709
+ * `as_null_object` on a verifying double only responds to defined methods.
710
+ (Xavier Shay)
711
+ * Provide `object_double` to create verified doubles of specific object
712
+ instances. (Xavier Shay)
713
+ * Provide `verify_partial_doubles` configuration that provides `object_double`
714
+ like verification behaviour on partial doubles. (Xavier Shay)
715
+ * Improved performance of double creation, particularly those with many
716
+ attributes. (Xavier Shay)
717
+ * Default value of `transfer_nested_constants` option for constant stubbing can
718
+ be configured. (Xavier Shay)
719
+ * Messages can be allowed or expected on in bulk via
720
+ `receive_messages(:message => :value)`. (Jon Rowe)
721
+ * `allow(Klass.any_instance)` and `expect(Klass.any_instance)` now print a
722
+ warning. This is usually a mistake, and users usually want
723
+ `allow_any_instance_of` or `expect_any_instance_of` instead. (Sam Phippen)
724
+ * `instance_double` and `class_double` raise `ArgumentError` if the underlying
725
+ module is loaded and the arity of the method being invoked does not match the
726
+ arity of the method as it is actually implemented. (Andy Lindeman)
727
+ * Spies can now check their invocation ordering is correct. (Jon Rowe)
728
+
729
+ Deprecations:
730
+
731
+ * Using the old `:should` syntax without explicitly configuring it
732
+ is deprecated. It will continue to work but will emit a deprecation
733
+ warning in RSpec 3 if you do not explicitly enable it. (Sam Phippen)
734
+
735
+ Bug Fixes:
736
+
737
+ * Fix `and_call_original` to handle a complex edge case involving
738
+ singleton class ancestors. (Marc-André Lafortune, Myron Marston)
739
+ * When generating an error message for unexpected arguments,
740
+ use `#inspect` rather than `#description` if `#description`
741
+ returns `nil` or `''` so that you still get a useful message.
742
+ (Nick DeLuca)
743
+
744
+ ### 2.99.4 / 2015-06-19
745
+ [Full Changelog](http://github.com/rspec/rspec-mocks/compare/v2.99.3...v2.99.4)
746
+
747
+ Bug Fixes:
748
+
749
+ * Add missing deprecation for using `with` with no arguments e.g. `with()`. (Yousuke, #970)
750
+
751
+ ### 2.99.3 / 2015-01-09
752
+ [Full Changelog](http://github.com/rspec/rspec-mocks/compare/v2.99.2...v2.99.3)
753
+
754
+ Bug Fixes:
755
+
756
+ * Fix regression that caused an error when a test double was deserialized from YAML. (Yuji Nakayama, #777)
757
+
758
+ ### 2.99.2 / 2014-07-21
759
+ [Full Changelog](http://github.com/rspec/rspec-mocks/compare/v2.99.1...v2.99.2)
760
+
761
+ Enhancements:
762
+
763
+ * Warn about upcoming change to `#===` matching and `DateTime#===` behaviour.
764
+ (Jon Rowe, #735)
765
+
766
+ ### 2.99.1 / 2014-06-12
767
+ [Full Changelog](http://github.com/rspec/rspec-mocks/compare/v2.99.0...v2.99.1)
768
+
769
+ Bug Fixes:
770
+
771
+ * Fix bug that caused errors at the end of each example
772
+ when a `double.as_null_object` had been frozen. (Yuji Nakayama, #698)
773
+
774
+ Deprecations:
775
+
776
+ * Deprecate freezing a test double. (Yuji Nakayama, #698)
777
+
778
+ ### 2.99.0 / 2014-06-01
779
+ [Full Changelog](http://github.com/rspec/rspec-mocks/compare/v2.99.0.rc1...v2.99.0)
780
+
781
+ No changes. Just taking it out of pre-release.
782
+
783
+ ### 2.99.0.rc1 / 2014-05-18
784
+ [Full Changelog](http://github.com/rspec/rspec-mocks/compare/v2.99.0.beta2...v2.99.0.rc1)
785
+
786
+ Deprecations:
787
+
788
+ * Deprecate `RSpec::Mocks::TestDouble.extend_onto`. (Myron Marston)
789
+ * Deprecate `RSpec::Mocks::ConstantStubber`. (Jon Rowe)
790
+ * Deprecate `Marshal.dump` monkey-patch without opt-in. (Xavier Shay)
791
+
792
+ ### 2.99.0.beta2 / 2014-02-17
793
+ [Full Changelog](http://github.com/rspec/rspec-mocks/compare/v2.99.0.beta1...v2.99.0.beta2)
794
+
795
+ Deprecations:
796
+
797
+ * Deprecate `RSpec::Mocks::Mock` in favor of `RSpec::Mocks::Double`.
798
+ (Myron Marston)
799
+ * Deprecate the `host` argument of `RSpec::Mocks.setup`. Instead
800
+ `RSpec::Mocks::ExampleMethods` should be included directly in the scope where
801
+ RSpec's mocking capabilities are used. (Sam Phippen)
802
+ * Deprecate using any of rspec-mocks' features outside the per-test
803
+ lifecycle (e.g. from a `before(:all)` hook). (Myron Marston)
804
+ * Deprecate re-using a test double in another example. (Myron Marston)
805
+ * Deprecate `and_return { value }` and `and_return` without arguments. (Yuji Nakayama)
806
+
807
+ ### 2.99.0.beta1 / 2013-11-07
808
+ [Full Changelog](http://github.com/rspec/rspec-mocks/compare/v2.14.4...v2.99.0.beta1)
809
+
810
+ Deprecations
811
+
812
+ * Expecting to use lambdas or other strong arity implementations for stub
813
+ methods with mis-matched arity is deprecated and support for them will be
814
+ removed in 3.0. Either provide the right amount of arguments or use a weak
815
+ arity implementation (methods with splats or procs). (Jon Rowe)
816
+ * Using the same test double instance in multiple examples is deprecated. Test
817
+ doubles are only meant to live for one example. The mocks and stubs have
818
+ always been reset between examples; however, in 2.x the `as_null_object`
819
+ state was not reset and some users relied on this to have a null object
820
+ double that is used for many examples. This behavior will be removed in 3.0.
821
+ (Myron Marston)
822
+ * Print a detailed warning when an `any_instance` implementation block is used
823
+ when the new `yield_receiver_to_any_instance_implementation_blocks` config
824
+ option is not explicitly set, as RSpec 3.0 will default to enabling this new
825
+ feature. (Sam Phippen)
826
+
827
+ Enhancements:
828
+
829
+ * Add a config option to yield the receiver to `any_instance` implementation
830
+ blocks. (Sam Phippen)
831
+
832
+ ### 2.14.6 / 2014-02-20
833
+ [Full Changelog](http://github.com/rspec/rspec-mocks/compare/v2.14.5...v2.14.6)
834
+
835
+ Bug Fixes:
836
+
837
+ * Ensure `any_instance` method stubs and expectations are torn down regardless of
838
+ expectation failures. (Sam Phippen)
839
+
840
+ ### 2.14.5 / 2014-02-01
841
+ [Full Changelog](http://github.com/rspec/rspec-mocks/compare/v2.14.4...v2.14.5)
842
+
843
+ Bug Fixes:
844
+
845
+ * Fix regression that caused block implementations to not receive all
846
+ args on 1.8.7 if the block also receives a block, due to Proc#arity
847
+ reporting `1` no matter how many args the block receives if it
848
+ receives a block, too. (Myron Marston)
849
+
850
+ ### 2.14.4 / 2013-10-15
851
+ [Full Changelog](http://github.com/rspec/rspec-mocks/compare/v2.14.3...v2.14.4)
852
+
853
+ Bug Fixes:
854
+
855
+ * Fix issue where unstubing methods on "any instances" would not
856
+ remove stubs on existing instances (Jon Rowe)
857
+ * Fix issue with receive(:message) do ... end precedence preventing
858
+ the usage of modifications (`and_return` etc) (Jon Rowe)
859
+
860
+ ### 2.14.3 / 2013-08-08
861
+ [Full Changelog](http://github.com/rspec/rspec-mocks/compare/v2.14.2...v2.14.3)
862
+
863
+ Bug Fixes:
864
+
865
+ * Fix stubbing some instance methods for classes whose hierarchy includes
866
+ a prepended Module (Bradley Schaefer)
867
+
868
+ ### 2.14.2 / 2013-07-30
869
+ [Full Changelog](http://github.com/rspec/rspec-mocks/compare/v2.14.1...v2.14.2)
870
+
871
+ Bug Fixes:
872
+
873
+ * Fix `as_null_object` doubles so that they return `nil` from `to_ary`
874
+ (Jon Rowe).
875
+ * Fix regression in 2.14 that made `stub!` (with an implicit receiver)
876
+ return a test double rather than stub a method (Myron Marston).
877
+
878
+ ### 2.14.1 / 2013-07-07
879
+ [Full Changelog](http://github.com/rspec/rspec-mocks/compare/v2.14.0...v2.14.1)
880
+
881
+ Bug Fixes:
882
+
883
+ * Restore `double.as_null_object` behavior from 2.13 and earlier: a
884
+ double's nullness persisted between examples in earlier examples.
885
+ While this is not an intended use case (test doubles are meant to live
886
+ for only one example), we don't want to break behavior users rely
887
+ on in a minor relase. This will be deprecated in 2.99 and removed
888
+ in 3.0. (Myron Marston)
889
+
890
+ ### 2.14.0 / 2013-07-06
891
+ [Full Changelog](http://github.com/rspec/rspec-mocks/compare/v2.14.0.rc1...v2.14.0)
892
+
893
+ Enhancements:
894
+
895
+ * Document test spies in the readme. (Adarsh Pandit)
896
+ * Add an `array_including` matcher. (Sam Phippen)
897
+ * Add a syntax-agnostic API for mocking or stubbing a method. This is
898
+ intended for use by libraries such as rspec-rails that need to mock
899
+ or stub a method, and work regardless of the syntax the user has
900
+ configured (Paul Annesley, Myron Marston and Sam Phippen).
901
+
902
+ Bug Fixes:
903
+
904
+ * Fix `double` so that it sets up passed stubs correctly regardless of
905
+ the configured syntax (Paul Annesley).
906
+ * Allow a block implementation to be used in combination with
907
+ `and_yield`, `and_raise`, `and_return` or `and_throw`. This got fixed
908
+ in 2.13.1 but failed to get merged into master for the 2.14.0.rc1
909
+ release (Myron Marston).
910
+ * `Marshal.dump` does not unnecessarily duplicate objects when rspec-mocks has
911
+ not been fully initialized. This could cause errors when using `spork` or
912
+ similar preloading gems (Andy Lindeman).
913
+
914
+ ### 2.14.0.rc1 / 2013-05-27
915
+ [Full Changelog](http://github.com/rspec/rspec-mocks/compare/v2.13.0...v2.14.0.rc1)
916
+
917
+ Enhancements:
918
+
919
+ * Refactor internals so that the mock proxy methods and state are held
920
+ outside of the mocked object rather than inside it. This paves the way
921
+ for future syntax enhancements and removes the need for some hacky
922
+ work arounds for `any_instance` dup'ing and `YAML` serialization,
923
+ among other things. Note that the code now relies upon `__id__`
924
+ returning a unique, consistent value for any object you want to
925
+ mock or stub (Myron Marston).
926
+ * Add support for test spies. This allows you to verify a message
927
+ was received afterwards using the `have_received` matcher.
928
+ Note that you must first stub the method or use a null double.
929
+ (Joe Ferris and Joël Quenneville)
930
+ * Make `at_least` and `at_most` style receive expectations print that they were
931
+ expecting at least or at most some number of calls, rather than just the
932
+ number of calls given in the expectation (Sam Phippen)
933
+ * Make `with` style receive expectations print the args they were expecting, and
934
+ the args that they got (Sam Phippen)
935
+ * Fix some warnings seen under ruby 2.0.0p0 (Sam Phippen).
936
+ * Add a new `:expect` syntax for message expectations
937
+ (Myron Marston and Sam Phippen).
938
+
939
+ Bug fixes
940
+
941
+ * Fix `any_instance` so that a frozen object can be `dup`'d when methods
942
+ have been stubbed on that type using `any_instance` (Jon Rowe).
943
+ * Fix `and_call_original` so that it properly raises an `ArgumentError`
944
+ when the wrong number of args are passed (Jon Rowe).
945
+ * Fix `double` on 1.9.2 so you can wrap them in an Array
946
+ using `Array(my_double)` (Jon Rowe).
947
+ * Fix `stub_const` and `hide_const` to handle constants that redefine `send`
948
+ (Sam Phippen).
949
+ * Fix `Marshal.dump` extension so that it correctly handles nil.
950
+ (Luke Imhoff, Jon Rowe)
951
+ * Fix isolation of `allow_message_expectations_on_nil` (Jon Rowe)
952
+ * Use inspect to format actual arguments on expectations in failure messages (#280, Ben Langfeld)
953
+ * Protect against improperly initialised test doubles (#293) (Joseph Shraibman and Jon Rowe)
954
+
955
+ Deprecations
956
+
957
+ * Deprecate `stub` and `mock` as aliases for `double`. `double` is the
958
+ best term for creating a test double, and it reduces confusion to
959
+ have only one term (Michi Huber).
960
+ * Deprecate `stub!` and `unstub!` in favor of `stub` and `unstub`
961
+ (Jon Rowe).
962
+ * Deprecate `at_least(0).times` and `any_number_of_times` (Michi Huber).
963
+
964
+ ### 2.13.1 / 2013-04-06
965
+ [Full Changelog](http://github.com/rspec/rspec-mocks/compare/v2.13.0...v2.13.1)
966
+
967
+ Bug fixes
968
+
969
+ * Allow a block implementation to be used in combination with
970
+ `and_yield`, `and_raise`, `and_return` or `and_throw` (Myron Marston).
971
+
972
+ ### 2.13.0 / 2013-02-23
973
+ [Full Changelog](http://github.com/rspec/rspec-mocks/compare/v2.12.2...v2.13.0)
974
+
975
+ Bug fixes
976
+
977
+ * Fix bug that caused weird behavior when a method that had
978
+ previously been stubbed with multiple return values (e.g.
979
+ `obj.stub(:foo).and_return(1, 2)`) was later mocked with a
980
+ single return value (e.g. `obj.should_receive(:foo).once.and_return(1)`).
981
+ (Myron Marston)
982
+ * Fix bug related to a mock expectation for a method that already had
983
+ multiple stubs with different `with` constraints. Previously, the
984
+ first stub was used, even though it may not have matched the passed
985
+ args. The fix defers this decision until the message is received so
986
+ that the proper stub response can be chosen based on the passed
987
+ arguments (Myron Marston).
988
+ * Do not call `nil?` extra times on a mocked object, in case `nil?`
989
+ itself is expected a set number of times (Myron Marston).
990
+ * Fix `missing_default_stub_error` message so array args are handled
991
+ properly (Myron Marston).
992
+ * Explicitly disallow `any_instance.unstub!` (Ryan Jones).
993
+ * Fix `any_instance` stubbing so that it works with `Delegator`
994
+ subclasses (Myron Marston).
995
+ * Fix `and_call_original` so that it works with `Delegator` subclasses
996
+ (Myron Marston).
997
+ * Fix `any_instance.should_not_receive` when `any_instance.should_receive`
998
+ is used on the same class in the same example. Previously it would
999
+ wrongly report a failure even when the message was not received
1000
+ (Myron Marston).
1001
+
1002
+ ### 2.12.2 / 2013-01-27
1003
+ [Full Changelog](http://github.com/rspec/rspec-mocks/compare/v2.12.1...v.2.12.2)
1004
+
1005
+ Bug fixes
1006
+
1007
+ * Fix `and_call_original` to work properly for methods defined
1008
+ on a module extended onto an object instance (Myron Marston).
1009
+ * Fix `stub_const` with an undefined constnat name to work properly
1010
+ with constant strings that are prefixed with `::` -- and edge case
1011
+ I missed in the bug fix in the 2.12.1 release (Myron Marston).
1012
+ * Ensure method visibility on a partial mock is restored after reseting
1013
+ method stubs, even on a singleton module (created via `extend self`)
1014
+ when the method visibility differs between the instance and singleton
1015
+ versions (Andy Lindeman).
1016
+
1017
+ ### 2.12.1 / 2012-12-21
1018
+ [Full Changelog](http://github.com/rspec/rspec-mocks/compare/v2.12.0...v2.12.1)
1019
+
1020
+ Bug fixes
1021
+
1022
+ * Fix `any_instance` to support `and_call_original`.
1023
+ (Myron Marston)
1024
+ * Properly restore stubbed aliased methods on rubies
1025
+ that report the incorrect owner (Myron Marston and Andy Lindeman).
1026
+ * Fix `hide_const` and `stub_const` with a defined constnat name to
1027
+ work properly with constant strings that are prefixed with `::` (Myron Marston).
1028
+
1029
+ ### 2.12.0 / 2012-11-12
1030
+ [Full Changelog](http://github.com/rspec/rspec-mocks/compare/v2.11.3...v2.12.0)
1031
+
1032
+ Enhancements
1033
+
1034
+ * `and_raise` can accept an exception class and message, more closely
1035
+ matching `Kernel#raise` (e.g., `foo.stub(:bar).and_raise(RuntimeError, "message")`)
1036
+ (Bas Vodde)
1037
+ * Add `and_call_original`, which will delegate the message to the
1038
+ original method (Myron Marston).
1039
+
1040
+ Deprecations:
1041
+
1042
+ * Add deprecation warning when using `and_return` with `should_not_receive`
1043
+ (Neha Kumari)
1044
+
1045
+ ### 2.11.3 / 2012-09-19
1046
+ [Full Changelog](http://github.com/rspec/rspec-mocks/compare/v2.11.2...v2.11.3)
1047
+
1048
+ Bug fixes
1049
+
1050
+ * Fix `:transfer_nested_constants` option of `stub_const` so that it
1051
+ doesn't blow up when there are inherited constants. (Myron Marston)
1052
+ * `any_instance` stubs can be used on classes that override `Object#method`.
1053
+ (Andy Lindeman)
1054
+ * Methods stubbed with `any_instance` are unstubbed after the test finishes.
1055
+ (Andy Lindeman)
1056
+ * Fix confusing error message when calling a mocked class method an
1057
+ extra time with the wrong arguments (Myron Marston).
1058
+
1059
+ ### 2.11.2 / 2012-08-11
1060
+ [Full Changelog](http://github.com/rspec/rspec-mocks/compare/v2.11.1...v2.11.2)
1061
+
1062
+ Bug fixes
1063
+
1064
+ * Don't modify `dup` on classes that don't support `dup` (David Chelimsky)
1065
+ * Fix `any_instance` so that it works properly with methods defined on
1066
+ a superclass. (Daniel Eguzkiza)
1067
+ * Fix `stub_const` so that it works properly for nested constants that
1068
+ share a name with a top-level constant (e.g. "MyGem::Hash"). (Myron
1069
+ Marston)
1070
+
1071
+ ### 2.11.1 / 2012-07-09
1072
+ [Full Changelog](http://github.com/rspec/rspec-mocks/compare/v2.11.0...v2.11.1)
1073
+
1074
+ Bug fixes
1075
+
1076
+ * Fix `should_receive` so that when it is called on an `as_null_object`
1077
+ double with no implementation, and there is a previous explicit stub
1078
+ for the same method, the explicit stub remains (rather than being
1079
+ overridden with the null object implementation--`return self`). (Myron
1080
+ Marston)
1081
+
1082
+ ### 2.11.0 / 2012-07-07
1083
+ [Full Changelog](http://github.com/rspec/rspec-mocks/compare/v2.10.1...v2.11.0)
1084
+
1085
+ Enhancements
1086
+
1087
+ * Expose ArgumentListMatcher as a formal API
1088
+ * supports use by 3rd party mock frameworks like Surrogate
1089
+ * Add `stub_const` API to stub constants for the duration of an
1090
+ example (Myron Marston).
1091
+
1092
+ Bug fixes
1093
+
1094
+ * Fix regression of edge case behavior. `double.should_receive(:foo) { a }`
1095
+ was causing a NoMethodError when `double.stub(:foo).and_return(a, b)`
1096
+ had been setup before (Myron Marston).
1097
+ * Infinite loop generated by using `any_instance` and `dup`. (Sidu Ponnappa @kaiwren)
1098
+ * `double.should_receive(:foo).at_least(:once).and_return(a)` always returns a
1099
+ even if `:foo` is already stubbed.
1100
+ * Prevent infinite loop when interpolating a null double into a string
1101
+ as an integer (`"%i" % double.as_null_object`). (Myron Marston)
1102
+ * Fix `should_receive` so that null object behavior (e.g. returning
1103
+ self) is preserved if no implementation is given (Myron Marston).
1104
+ * Fix `and_raise` so that it raises `RuntimeError` rather than
1105
+ `Exception` by default, just like ruby does. (Andrew Marshall)
1106
+
1107
+ ### 2.10.1 / 2012-05-05
1108
+ [Full Changelog](http://github.com/rspec/rspec-mocks/compare/v2.10.0...v2.10.1)
1109
+
1110
+ Bug fixes
1111
+
1112
+ * fix regression of edge case behavior
1113
+ (https://github.com/rspec/rspec-mocks/issues/132)
1114
+ * fixed failure of `object.should_receive(:message).at_least(0).times.and_return value`
1115
+ * fixed failure of `object.should_not_receive(:message).and_return value`
1116
+
1117
+ ### 2.10.0 / 2012-05-03
1118
+ [Full Changelog](http://github.com/rspec/rspec-mocks/compare/v2.9.0...v2.10.0)
1119
+
1120
+ Bug fixes
1121
+
1122
+ * fail fast when an `exactly` or `at_most` expectation is exceeded
1123
+
1124
+ ### 2.9.0 / 2012-03-17
1125
+ [Full Changelog](http://github.com/rspec/rspec-mocks/compare/v2.8.0...v2.9.0)
1126
+
1127
+ Enhancements
1128
+
1129
+ * Support order constraints across objects (preethiramdev)
1130
+
1131
+ Bug fixes
1132
+
1133
+ * Allow a `as_null_object` to be passed to `with`
1134
+ * Pass proc to block passed to stub (Aubrey Rhodes)
1135
+ * Initialize child message expectation args to match any args (#109 -
1136
+ preethiramdev)
1137
+
1138
+ ### 2.8.0 / 2012-01-04
1139
+
1140
+ [Full Changelog](http://github.com/rspec/rspec-mocks/compare/v2.8.0.rc2...v2.8.0)
1141
+
1142
+ No changes for this release. Just releasing with the other rspec gems.
1143
+
1144
+ ### 2.8.0.rc2 / 2011-12-19
1145
+
1146
+ [Full Changelog](http://github.com/rspec/rspec-mocks/compare/v2.8.0.rc1...v2.8.0.rc2)
1147
+
1148
+ No changes for this release. Just releasing with the other rspec gems.
1149
+
1150
+ ### 2.8.0.rc1 / 2011-11-06
1151
+
1152
+ [Full Changelog](http://github.com/rspec/rspec-mocks/compare/v2.7.0...v2.8.0.rc1)
1153
+
1154
+ Enhancements
1155
+
1156
+ * Eliminate Ruby warnings (Matijs van Zuijlen)
1157
+
1158
+ ### 2.7.0 / 2011-10-16
1159
+
1160
+ [Full Changelog](http://github.com/rspec/rspec-mocks/compare/v2.6.0...v2.7.0)
1161
+
1162
+ Enhancements
1163
+
1164
+ * Use `__send__` rather than `send` (alextk)
1165
+ * Add support for `any_instance.stub_chain` (Sidu Ponnappa)
1166
+ * Add support for `any_instance` argument matching based on `with` (Sidu
1167
+ Ponnappa and Andy Lindeman)
1168
+
1169
+ Changes
1170
+
1171
+ * Check for `failure_message_for_should` or `failure_message` instead of
1172
+ `description` to detect a matcher (Tibor Claassen)
1173
+
1174
+ Bug fixes
1175
+
1176
+ * pass a hash to `any_instance.stub`. (Justin Ko)
1177
+ * allow `to_ary` to be called without raising `NoMethodError` (Mikhail
1178
+ Dieterle)
1179
+ * `any_instance` properly restores private methods (Sidu Ponnappa)
1180
+
1181
+ ### 2.6.0 / 2011-05-12
1182
+
1183
+ [Full Changelog](http://github.com/rspec/rspec-mocks/compare/v2.5.0...v2.6.0)
1184
+
1185
+ Enhancements
1186
+
1187
+ * Add support for `any_instance.stub` and `any_instance.should_receive` (Sidu
1188
+ Ponnappa and Andy Lindeman)
1189
+
1190
+ Bug fixes
1191
+
1192
+ * fix bug in which multiple chains with shared messages ending in hashes failed
1193
+ to return the correct value
1194
+
1195
+ ### 2.5.0 / 2011-02-05
1196
+
1197
+ [Full Changelog](http://github.com/rspec/rspec-mocks/compare/v2.4.0...v2.5.0)
1198
+
1199
+ Bug fixes
1200
+
1201
+ * message expectation counts now work in combination with a stub (Damian
1202
+ Nurzynski)
1203
+ * fix failure message when message received with incorrect args (Josep M.
1204
+ Bach)
1205
+
1206
+ ### 2.4.0 / 2011-01-02
1207
+
1208
+ [Full Changelog](http://github.com/rspec/rspec-mocks/compare/v2.3.0...v2.4.0)
1209
+
1210
+ No functional changes in this release, which was made to align with the
1211
+ rspec-core-2.4.0 release.
1212
+
1213
+ ### 2.3.0 / 2010-12-12
1214
+
1215
+ [Full Changelog](http://github.com/rspec/rspec-mocks/compare/v2.2.0...v2.3.0)
1216
+
1217
+ Bug fixes
1218
+
1219
+ * Fix our Marshal extension so that it does not interfere with objects that
1220
+ have their own `@mock_proxy` instance variable. (Myron Marston)
1221
+
1222
+ ### 2.2.0 / 2010-11-28
1223
+
1224
+ [Full Changelog](http://github.com/rspec/rspec-mocks/compare/v2.1.0...v2.2.0)
1225
+
1226
+ Enhancements
1227
+
1228
+ * Added "rspec/mocks/standalone" for exploring the rspec-mocks in irb.
1229
+
1230
+ Bug fix
1231
+
1232
+ * Eliminate warning on splat args without parens (Gioele Barabucci)
1233
+ * Fix bug where `obj.should_receive(:foo).with(stub.as_null_object)` would pass
1234
+ with a false positive.
1235
+
1236
+ ### 2.1.0 / 2010-11-07
1237
+
1238
+ [Full Changelog](http://github.com/rspec/rspec-mocks/compare/v2.0.1...v2.1.0)
1239
+
1240
+ Bug fixes
1241
+
1242
+ * Fix serialization of stubbed object (Josep M Bach)
1243
+
1244
+ ### 2.0.0 / 2010-10-10
1245
+
1246
+ [Full Changelog](http://github.com/rspec/rspec-mocks/compare/v2.0.0.beta.22...v2.0.0)
1247
+
1248
+ ### 2.0.0.rc / 2010-10-05
1249
+
1250
+ [Full Changelog](http://github.com/rspec/rspec-mocks/compare/v2.0.0.beta.22...v2.0.0.rc)
1251
+
1252
+ Enhancements
1253
+
1254
+ * support passing a block to an expectation block (Nicolas Braem)
1255
+ * `obj.should_receive(:msg) {|&block| ... }`
1256
+
1257
+ Bug fixes
1258
+
1259
+ * Fix YAML serialization of stub (Myron Marston)
1260
+ * Fix rdoc rake task (Hans de Graaff)
1261
+
1262
+ ### 2.0.0.beta.22 / 2010-09-12
1263
+
1264
+ [Full Changelog](http://github.com/rspec/rspec-mocks/compare/v2.0.0.beta.20...v2.0.0.beta.22)
1265
+
1266
+ Bug fixes
1267
+
1268
+ * fixed regression that broke `obj.stub_chain(:a, :b => :c)`
1269
+ * fixed regression that broke `obj.stub_chain(:a, :b) { :c }`
1270
+ * `respond_to?` always returns true when using `as_null_object`