guesswhat 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (446) hide show
  1. checksums.yaml +7 -0
  2. data/.gitignore +9 -0
  3. data/CODE_OF_CONDUCT.md +49 -0
  4. data/Gemfile +4 -0
  5. data/README.md +36 -0
  6. data/Rakefile +4 -0
  7. data/bin/console +14 -0
  8. data/bin/setup +8 -0
  9. data/guesswhat.gemspec +25 -0
  10. data/lib/guesswhat/version.rb +3 -0
  11. data/lib/guesswhat.rb +5 -0
  12. data/tasks/rspec.rake +3 -0
  13. data/vendor/bundle/bin/console +23 -0
  14. data/vendor/bundle/bin/htmldiff +25 -0
  15. data/vendor/bundle/bin/ldiff +25 -0
  16. data/vendor/bundle/bin/rake +23 -0
  17. data/vendor/bundle/bin/rspec +23 -0
  18. data/vendor/bundle/bin/setup +23 -0
  19. data/vendor/bundle/cache/diff-lcs-1.2.5.gem +0 -0
  20. data/vendor/bundle/cache/rake-10.5.0.gem +0 -0
  21. data/vendor/bundle/cache/rspec-3.4.0.gem +0 -0
  22. data/vendor/bundle/cache/rspec-core-3.4.4.gem +0 -0
  23. data/vendor/bundle/cache/rspec-expectations-3.4.0.gem +0 -0
  24. data/vendor/bundle/cache/rspec-mocks-3.4.1.gem +0 -0
  25. data/vendor/bundle/cache/rspec-support-3.4.1.gem +0 -0
  26. data/vendor/bundle/gems/diff-lcs-1.2.5/.autotest +3 -0
  27. data/vendor/bundle/gems/diff-lcs-1.2.5/.gemtest +0 -0
  28. data/vendor/bundle/gems/diff-lcs-1.2.5/.hoerc +2 -0
  29. data/vendor/bundle/gems/diff-lcs-1.2.5/.rspec +2 -0
  30. data/vendor/bundle/gems/diff-lcs-1.2.5/.travis.yml +22 -0
  31. data/vendor/bundle/gems/diff-lcs-1.2.5/Contributing.rdoc +64 -0
  32. data/vendor/bundle/gems/diff-lcs-1.2.5/Gemfile +20 -0
  33. data/vendor/bundle/gems/diff-lcs-1.2.5/History.rdoc +152 -0
  34. data/vendor/bundle/gems/diff-lcs-1.2.5/License.rdoc +39 -0
  35. data/vendor/bundle/gems/diff-lcs-1.2.5/Manifest.txt +38 -0
  36. data/vendor/bundle/gems/diff-lcs-1.2.5/README.rdoc +85 -0
  37. data/vendor/bundle/gems/diff-lcs-1.2.5/Rakefile +41 -0
  38. data/vendor/bundle/gems/diff-lcs-1.2.5/autotest/discover.rb +1 -0
  39. data/vendor/bundle/gems/diff-lcs-1.2.5/bin/htmldiff +32 -0
  40. data/vendor/bundle/gems/diff-lcs-1.2.5/bin/ldiff +6 -0
  41. data/vendor/bundle/gems/diff-lcs-1.2.5/docs/COPYING.txt +339 -0
  42. data/vendor/bundle/gems/diff-lcs-1.2.5/docs/artistic.txt +127 -0
  43. data/vendor/bundle/gems/diff-lcs-1.2.5/lib/diff/lcs/array.rb +7 -0
  44. data/vendor/bundle/gems/diff-lcs-1.2.5/lib/diff/lcs/block.rb +37 -0
  45. data/vendor/bundle/gems/diff-lcs-1.2.5/lib/diff/lcs/callbacks.rb +322 -0
  46. data/vendor/bundle/gems/diff-lcs-1.2.5/lib/diff/lcs/change.rb +177 -0
  47. data/vendor/bundle/gems/diff-lcs-1.2.5/lib/diff/lcs/htmldiff.rb +149 -0
  48. data/vendor/bundle/gems/diff-lcs-1.2.5/lib/diff/lcs/hunk.rb +276 -0
  49. data/vendor/bundle/gems/diff-lcs-1.2.5/lib/diff/lcs/internals.rb +301 -0
  50. data/vendor/bundle/gems/diff-lcs-1.2.5/lib/diff/lcs/ldiff.rb +195 -0
  51. data/vendor/bundle/gems/diff-lcs-1.2.5/lib/diff/lcs/string.rb +5 -0
  52. data/vendor/bundle/gems/diff-lcs-1.2.5/lib/diff/lcs.rb +805 -0
  53. data/vendor/bundle/gems/diff-lcs-1.2.5/lib/diff-lcs.rb +3 -0
  54. data/vendor/bundle/gems/diff-lcs-1.2.5/spec/change_spec.rb +65 -0
  55. data/vendor/bundle/gems/diff-lcs-1.2.5/spec/diff_spec.rb +47 -0
  56. data/vendor/bundle/gems/diff-lcs-1.2.5/spec/hunk_spec.rb +72 -0
  57. data/vendor/bundle/gems/diff-lcs-1.2.5/spec/issues_spec.rb +24 -0
  58. data/vendor/bundle/gems/diff-lcs-1.2.5/spec/lcs_spec.rb +54 -0
  59. data/vendor/bundle/gems/diff-lcs-1.2.5/spec/patch_spec.rb +414 -0
  60. data/vendor/bundle/gems/diff-lcs-1.2.5/spec/sdiff_spec.rb +214 -0
  61. data/vendor/bundle/gems/diff-lcs-1.2.5/spec/spec_helper.rb +290 -0
  62. data/vendor/bundle/gems/diff-lcs-1.2.5/spec/traverse_balanced_spec.rb +310 -0
  63. data/vendor/bundle/gems/diff-lcs-1.2.5/spec/traverse_sequences_spec.rb +139 -0
  64. data/vendor/bundle/gems/rake-10.5.0/.autotest +7 -0
  65. data/vendor/bundle/gems/rake-10.5.0/.rubocop.yml +27 -0
  66. data/vendor/bundle/gems/rake-10.5.0/.togglerc +7 -0
  67. data/vendor/bundle/gems/rake-10.5.0/CONTRIBUTING.rdoc +38 -0
  68. data/vendor/bundle/gems/rake-10.5.0/History.rdoc +659 -0
  69. data/vendor/bundle/gems/rake-10.5.0/MIT-LICENSE +21 -0
  70. data/vendor/bundle/gems/rake-10.5.0/Manifest.txt +166 -0
  71. data/vendor/bundle/gems/rake-10.5.0/README.rdoc +139 -0
  72. data/vendor/bundle/gems/rake-10.5.0/Rakefile +81 -0
  73. data/vendor/bundle/gems/rake-10.5.0/bin/rake +33 -0
  74. data/vendor/bundle/gems/rake-10.5.0/doc/command_line_usage.rdoc +158 -0
  75. data/vendor/bundle/gems/rake-10.5.0/doc/example/Rakefile1 +38 -0
  76. data/vendor/bundle/gems/rake-10.5.0/doc/example/Rakefile2 +35 -0
  77. data/vendor/bundle/gems/rake-10.5.0/doc/example/a.c +6 -0
  78. data/vendor/bundle/gems/rake-10.5.0/doc/example/b.c +6 -0
  79. data/vendor/bundle/gems/rake-10.5.0/doc/example/main.c +11 -0
  80. data/vendor/bundle/gems/rake-10.5.0/doc/glossary.rdoc +42 -0
  81. data/vendor/bundle/gems/rake-10.5.0/doc/jamis.rb +591 -0
  82. data/vendor/bundle/gems/rake-10.5.0/doc/proto_rake.rdoc +127 -0
  83. data/vendor/bundle/gems/rake-10.5.0/doc/rake.1 +141 -0
  84. data/vendor/bundle/gems/rake-10.5.0/doc/rakefile.rdoc +624 -0
  85. data/vendor/bundle/gems/rake-10.5.0/doc/rational.rdoc +151 -0
  86. data/vendor/bundle/gems/rake-10.5.0/doc/release_notes/rake-0.4.14.rdoc +23 -0
  87. data/vendor/bundle/gems/rake-10.5.0/doc/release_notes/rake-0.4.15.rdoc +35 -0
  88. data/vendor/bundle/gems/rake-10.5.0/doc/release_notes/rake-0.5.0.rdoc +53 -0
  89. data/vendor/bundle/gems/rake-10.5.0/doc/release_notes/rake-0.5.3.rdoc +78 -0
  90. data/vendor/bundle/gems/rake-10.5.0/doc/release_notes/rake-0.5.4.rdoc +46 -0
  91. data/vendor/bundle/gems/rake-10.5.0/doc/release_notes/rake-0.6.0.rdoc +141 -0
  92. data/vendor/bundle/gems/rake-10.5.0/doc/release_notes/rake-0.7.0.rdoc +119 -0
  93. data/vendor/bundle/gems/rake-10.5.0/doc/release_notes/rake-0.7.1.rdoc +59 -0
  94. data/vendor/bundle/gems/rake-10.5.0/doc/release_notes/rake-0.7.2.rdoc +121 -0
  95. data/vendor/bundle/gems/rake-10.5.0/doc/release_notes/rake-0.7.3.rdoc +47 -0
  96. data/vendor/bundle/gems/rake-10.5.0/doc/release_notes/rake-0.8.0.rdoc +114 -0
  97. data/vendor/bundle/gems/rake-10.5.0/doc/release_notes/rake-0.8.2.rdoc +165 -0
  98. data/vendor/bundle/gems/rake-10.5.0/doc/release_notes/rake-0.8.3.rdoc +112 -0
  99. data/vendor/bundle/gems/rake-10.5.0/doc/release_notes/rake-0.8.4.rdoc +147 -0
  100. data/vendor/bundle/gems/rake-10.5.0/doc/release_notes/rake-0.8.5.rdoc +53 -0
  101. data/vendor/bundle/gems/rake-10.5.0/doc/release_notes/rake-0.8.6.rdoc +37 -0
  102. data/vendor/bundle/gems/rake-10.5.0/doc/release_notes/rake-0.8.7.rdoc +55 -0
  103. data/vendor/bundle/gems/rake-10.5.0/doc/release_notes/rake-0.9.0.rdoc +112 -0
  104. data/vendor/bundle/gems/rake-10.5.0/doc/release_notes/rake-0.9.1.rdoc +52 -0
  105. data/vendor/bundle/gems/rake-10.5.0/doc/release_notes/rake-0.9.2.2.rdoc +55 -0
  106. data/vendor/bundle/gems/rake-10.5.0/doc/release_notes/rake-0.9.2.rdoc +49 -0
  107. data/vendor/bundle/gems/rake-10.5.0/doc/release_notes/rake-0.9.3.rdoc +102 -0
  108. data/vendor/bundle/gems/rake-10.5.0/doc/release_notes/rake-0.9.4.rdoc +60 -0
  109. data/vendor/bundle/gems/rake-10.5.0/doc/release_notes/rake-0.9.5.rdoc +55 -0
  110. data/vendor/bundle/gems/rake-10.5.0/doc/release_notes/rake-0.9.6.rdoc +64 -0
  111. data/vendor/bundle/gems/rake-10.5.0/doc/release_notes/rake-10.0.0.rdoc +178 -0
  112. data/vendor/bundle/gems/rake-10.5.0/doc/release_notes/rake-10.0.1.rdoc +58 -0
  113. data/vendor/bundle/gems/rake-10.5.0/doc/release_notes/rake-10.0.2.rdoc +53 -0
  114. data/vendor/bundle/gems/rake-10.5.0/doc/release_notes/rake-10.0.3.rdoc +191 -0
  115. data/vendor/bundle/gems/rake-10.5.0/doc/release_notes/rake-10.1.0.rdoc +61 -0
  116. data/vendor/bundle/gems/rake-10.5.0/lib/rake/alt_system.rb +110 -0
  117. data/vendor/bundle/gems/rake-10.5.0/lib/rake/application.rb +790 -0
  118. data/vendor/bundle/gems/rake-10.5.0/lib/rake/backtrace.rb +23 -0
  119. data/vendor/bundle/gems/rake-10.5.0/lib/rake/clean.rb +76 -0
  120. data/vendor/bundle/gems/rake-10.5.0/lib/rake/cloneable.rb +16 -0
  121. data/vendor/bundle/gems/rake-10.5.0/lib/rake/contrib/.document +1 -0
  122. data/vendor/bundle/gems/rake-10.5.0/lib/rake/contrib/compositepublisher.rb +21 -0
  123. data/vendor/bundle/gems/rake-10.5.0/lib/rake/contrib/ftptools.rb +137 -0
  124. data/vendor/bundle/gems/rake-10.5.0/lib/rake/contrib/publisher.rb +81 -0
  125. data/vendor/bundle/gems/rake-10.5.0/lib/rake/contrib/rubyforgepublisher.rb +18 -0
  126. data/vendor/bundle/gems/rake-10.5.0/lib/rake/contrib/sshpublisher.rb +61 -0
  127. data/vendor/bundle/gems/rake-10.5.0/lib/rake/contrib/sys.rb +4 -0
  128. data/vendor/bundle/gems/rake-10.5.0/lib/rake/cpu_counter.rb +125 -0
  129. data/vendor/bundle/gems/rake-10.5.0/lib/rake/default_loader.rb +14 -0
  130. data/vendor/bundle/gems/rake-10.5.0/lib/rake/dsl_definition.rb +201 -0
  131. data/vendor/bundle/gems/rake-10.5.0/lib/rake/early_time.rb +21 -0
  132. data/vendor/bundle/gems/rake-10.5.0/lib/rake/ext/core.rb +25 -0
  133. data/vendor/bundle/gems/rake-10.5.0/lib/rake/ext/module.rb +2 -0
  134. data/vendor/bundle/gems/rake-10.5.0/lib/rake/ext/pathname.rb +25 -0
  135. data/vendor/bundle/gems/rake-10.5.0/lib/rake/ext/string.rb +175 -0
  136. data/vendor/bundle/gems/rake-10.5.0/lib/rake/ext/time.rb +18 -0
  137. data/vendor/bundle/gems/rake-10.5.0/lib/rake/file_creation_task.rb +24 -0
  138. data/vendor/bundle/gems/rake-10.5.0/lib/rake/file_list.rb +428 -0
  139. data/vendor/bundle/gems/rake-10.5.0/lib/rake/file_task.rb +46 -0
  140. data/vendor/bundle/gems/rake-10.5.0/lib/rake/file_utils.rb +128 -0
  141. data/vendor/bundle/gems/rake-10.5.0/lib/rake/file_utils_ext.rb +144 -0
  142. data/vendor/bundle/gems/rake-10.5.0/lib/rake/gempackagetask.rb +4 -0
  143. data/vendor/bundle/gems/rake-10.5.0/lib/rake/invocation_chain.rb +56 -0
  144. data/vendor/bundle/gems/rake-10.5.0/lib/rake/invocation_exception_mixin.rb +16 -0
  145. data/vendor/bundle/gems/rake-10.5.0/lib/rake/late_time.rb +17 -0
  146. data/vendor/bundle/gems/rake-10.5.0/lib/rake/linked_list.rb +103 -0
  147. data/vendor/bundle/gems/rake-10.5.0/lib/rake/loaders/makefile.rb +53 -0
  148. data/vendor/bundle/gems/rake-10.5.0/lib/rake/multi_task.rb +13 -0
  149. data/vendor/bundle/gems/rake-10.5.0/lib/rake/name_space.rb +38 -0
  150. data/vendor/bundle/gems/rake-10.5.0/lib/rake/packagetask.rb +199 -0
  151. data/vendor/bundle/gems/rake-10.5.0/lib/rake/pathmap.rb +3 -0
  152. data/vendor/bundle/gems/rake-10.5.0/lib/rake/phony.rb +15 -0
  153. data/vendor/bundle/gems/rake-10.5.0/lib/rake/private_reader.rb +20 -0
  154. data/vendor/bundle/gems/rake-10.5.0/lib/rake/promise.rb +99 -0
  155. data/vendor/bundle/gems/rake-10.5.0/lib/rake/pseudo_status.rb +29 -0
  156. data/vendor/bundle/gems/rake-10.5.0/lib/rake/rake_module.rb +38 -0
  157. data/vendor/bundle/gems/rake-10.5.0/lib/rake/rake_test_loader.rb +22 -0
  158. data/vendor/bundle/gems/rake-10.5.0/lib/rake/rdoctask.rb +4 -0
  159. data/vendor/bundle/gems/rake-10.5.0/lib/rake/ruby182_test_unit_fix.rb +29 -0
  160. data/vendor/bundle/gems/rake-10.5.0/lib/rake/rule_recursion_overflow_error.rb +20 -0
  161. data/vendor/bundle/gems/rake-10.5.0/lib/rake/runtest.rb +27 -0
  162. data/vendor/bundle/gems/rake-10.5.0/lib/rake/scope.rb +42 -0
  163. data/vendor/bundle/gems/rake-10.5.0/lib/rake/task.rb +383 -0
  164. data/vendor/bundle/gems/rake-10.5.0/lib/rake/task_argument_error.rb +7 -0
  165. data/vendor/bundle/gems/rake-10.5.0/lib/rake/task_arguments.rb +98 -0
  166. data/vendor/bundle/gems/rake-10.5.0/lib/rake/task_manager.rb +307 -0
  167. data/vendor/bundle/gems/rake-10.5.0/lib/rake/tasklib.rb +24 -0
  168. data/vendor/bundle/gems/rake-10.5.0/lib/rake/testtask.rb +213 -0
  169. data/vendor/bundle/gems/rake-10.5.0/lib/rake/thread_history_display.rb +48 -0
  170. data/vendor/bundle/gems/rake-10.5.0/lib/rake/thread_pool.rb +164 -0
  171. data/vendor/bundle/gems/rake-10.5.0/lib/rake/trace_output.rb +22 -0
  172. data/vendor/bundle/gems/rake-10.5.0/lib/rake/version.rb +7 -0
  173. data/vendor/bundle/gems/rake-10.5.0/lib/rake/win32.rb +56 -0
  174. data/vendor/bundle/gems/rake-10.5.0/lib/rake.rb +79 -0
  175. data/vendor/bundle/gems/rake-10.5.0/rakelib/publish.rake +20 -0
  176. data/vendor/bundle/gems/rake-10.5.0/rakelib/test_times.rake +25 -0
  177. data/vendor/bundle/gems/rake-10.5.0/test/file_creation.rb +34 -0
  178. data/vendor/bundle/gems/rake-10.5.0/test/helper.rb +129 -0
  179. data/vendor/bundle/gems/rake-10.5.0/test/support/rakefile_definitions.rb +478 -0
  180. data/vendor/bundle/gems/rake-10.5.0/test/support/ruby_runner.rb +34 -0
  181. data/vendor/bundle/gems/rake-10.5.0/test/test_private_reader.rb +42 -0
  182. data/vendor/bundle/gems/rake-10.5.0/test/test_rake.rb +40 -0
  183. data/vendor/bundle/gems/rake-10.5.0/test/test_rake_application.rb +643 -0
  184. data/vendor/bundle/gems/rake-10.5.0/test/test_rake_application_options.rb +468 -0
  185. data/vendor/bundle/gems/rake-10.5.0/test/test_rake_backtrace.rb +119 -0
  186. data/vendor/bundle/gems/rake-10.5.0/test/test_rake_clean.rb +61 -0
  187. data/vendor/bundle/gems/rake-10.5.0/test/test_rake_cpu_counter.rb +68 -0
  188. data/vendor/bundle/gems/rake-10.5.0/test/test_rake_definitions.rb +84 -0
  189. data/vendor/bundle/gems/rake-10.5.0/test/test_rake_directory_task.rb +76 -0
  190. data/vendor/bundle/gems/rake-10.5.0/test/test_rake_dsl.rb +40 -0
  191. data/vendor/bundle/gems/rake-10.5.0/test/test_rake_early_time.rb +31 -0
  192. data/vendor/bundle/gems/rake-10.5.0/test/test_rake_extension.rb +59 -0
  193. data/vendor/bundle/gems/rake-10.5.0/test/test_rake_file_creation_task.rb +56 -0
  194. data/vendor/bundle/gems/rake-10.5.0/test/test_rake_file_list.rb +670 -0
  195. data/vendor/bundle/gems/rake-10.5.0/test/test_rake_file_list_path_map.rb +8 -0
  196. data/vendor/bundle/gems/rake-10.5.0/test/test_rake_file_task.rb +197 -0
  197. data/vendor/bundle/gems/rake-10.5.0/test/test_rake_file_utils.rb +314 -0
  198. data/vendor/bundle/gems/rake-10.5.0/test/test_rake_ftp_file.rb +74 -0
  199. data/vendor/bundle/gems/rake-10.5.0/test/test_rake_functional.rb +482 -0
  200. data/vendor/bundle/gems/rake-10.5.0/test/test_rake_invocation_chain.rb +64 -0
  201. data/vendor/bundle/gems/rake-10.5.0/test/test_rake_late_time.rb +18 -0
  202. data/vendor/bundle/gems/rake-10.5.0/test/test_rake_linked_list.rb +84 -0
  203. data/vendor/bundle/gems/rake-10.5.0/test/test_rake_makefile_loader.rb +46 -0
  204. data/vendor/bundle/gems/rake-10.5.0/test/test_rake_multi_task.rb +64 -0
  205. data/vendor/bundle/gems/rake-10.5.0/test/test_rake_name_space.rb +57 -0
  206. data/vendor/bundle/gems/rake-10.5.0/test/test_rake_package_task.rb +79 -0
  207. data/vendor/bundle/gems/rake-10.5.0/test/test_rake_path_map.rb +168 -0
  208. data/vendor/bundle/gems/rake-10.5.0/test/test_rake_path_map_explode.rb +34 -0
  209. data/vendor/bundle/gems/rake-10.5.0/test/test_rake_path_map_partial.rb +18 -0
  210. data/vendor/bundle/gems/rake-10.5.0/test/test_rake_pathname_extensions.rb +15 -0
  211. data/vendor/bundle/gems/rake-10.5.0/test/test_rake_pseudo_status.rb +21 -0
  212. data/vendor/bundle/gems/rake-10.5.0/test/test_rake_rake_test_loader.rb +20 -0
  213. data/vendor/bundle/gems/rake-10.5.0/test/test_rake_reduce_compat.rb +26 -0
  214. data/vendor/bundle/gems/rake-10.5.0/test/test_rake_require.rb +40 -0
  215. data/vendor/bundle/gems/rake-10.5.0/test/test_rake_rules.rb +388 -0
  216. data/vendor/bundle/gems/rake-10.5.0/test/test_rake_scope.rb +44 -0
  217. data/vendor/bundle/gems/rake-10.5.0/test/test_rake_task.rb +393 -0
  218. data/vendor/bundle/gems/rake-10.5.0/test/test_rake_task_argument_parsing.rb +119 -0
  219. data/vendor/bundle/gems/rake-10.5.0/test/test_rake_task_arguments.rb +127 -0
  220. data/vendor/bundle/gems/rake-10.5.0/test/test_rake_task_lib.rb +9 -0
  221. data/vendor/bundle/gems/rake-10.5.0/test/test_rake_task_manager.rb +178 -0
  222. data/vendor/bundle/gems/rake-10.5.0/test/test_rake_task_manager_argument_resolution.rb +19 -0
  223. data/vendor/bundle/gems/rake-10.5.0/test/test_rake_task_with_arguments.rb +172 -0
  224. data/vendor/bundle/gems/rake-10.5.0/test/test_rake_test_task.rb +146 -0
  225. data/vendor/bundle/gems/rake-10.5.0/test/test_rake_thread_pool.rb +145 -0
  226. data/vendor/bundle/gems/rake-10.5.0/test/test_rake_top_level_functions.rb +71 -0
  227. data/vendor/bundle/gems/rake-10.5.0/test/test_rake_win32.rb +72 -0
  228. data/vendor/bundle/gems/rake-10.5.0/test/test_thread_history_display.rb +101 -0
  229. data/vendor/bundle/gems/rake-10.5.0/test/test_trace_output.rb +52 -0
  230. data/vendor/bundle/gems/rspec-3.4.0/LICENSE.md +27 -0
  231. data/vendor/bundle/gems/rspec-3.4.0/README.md +39 -0
  232. data/vendor/bundle/gems/rspec-3.4.0/lib/rspec/version.rb +5 -0
  233. data/vendor/bundle/gems/rspec-3.4.0/lib/rspec.rb +3 -0
  234. data/vendor/bundle/gems/rspec-core-3.4.4/.document +5 -0
  235. data/vendor/bundle/gems/rspec-core-3.4.4/.yardopts +8 -0
  236. data/vendor/bundle/gems/rspec-core-3.4.4/Changelog.md +1972 -0
  237. data/vendor/bundle/gems/rspec-core-3.4.4/LICENSE.md +26 -0
  238. data/vendor/bundle/gems/rspec-core-3.4.4/README.md +384 -0
  239. data/vendor/bundle/gems/rspec-core-3.4.4/exe/rspec +4 -0
  240. data/vendor/bundle/gems/rspec-core-3.4.4/lib/rspec/autorun.rb +3 -0
  241. data/vendor/bundle/gems/rspec-core-3.4.4/lib/rspec/core/backtrace_formatter.rb +65 -0
  242. data/vendor/bundle/gems/rspec-core-3.4.4/lib/rspec/core/bisect/coordinator.rb +66 -0
  243. data/vendor/bundle/gems/rspec-core-3.4.4/lib/rspec/core/bisect/example_minimizer.rb +169 -0
  244. data/vendor/bundle/gems/rspec-core-3.4.4/lib/rspec/core/bisect/runner.rb +139 -0
  245. data/vendor/bundle/gems/rspec-core-3.4.4/lib/rspec/core/bisect/server.rb +61 -0
  246. data/vendor/bundle/gems/rspec-core-3.4.4/lib/rspec/core/configuration.rb +1869 -0
  247. data/vendor/bundle/gems/rspec-core-3.4.4/lib/rspec/core/configuration_options.rb +191 -0
  248. data/vendor/bundle/gems/rspec-core-3.4.4/lib/rspec/core/drb.rb +111 -0
  249. data/vendor/bundle/gems/rspec-core-3.4.4/lib/rspec/core/dsl.rb +96 -0
  250. data/vendor/bundle/gems/rspec-core-3.4.4/lib/rspec/core/example.rb +631 -0
  251. data/vendor/bundle/gems/rspec-core-3.4.4/lib/rspec/core/example_group.rb +816 -0
  252. data/vendor/bundle/gems/rspec-core-3.4.4/lib/rspec/core/example_status_persister.rb +235 -0
  253. data/vendor/bundle/gems/rspec-core-3.4.4/lib/rspec/core/filter_manager.rb +231 -0
  254. data/vendor/bundle/gems/rspec-core-3.4.4/lib/rspec/core/flat_map.rb +20 -0
  255. data/vendor/bundle/gems/rspec-core-3.4.4/lib/rspec/core/formatters/base_formatter.rb +70 -0
  256. data/vendor/bundle/gems/rspec-core-3.4.4/lib/rspec/core/formatters/base_text_formatter.rb +77 -0
  257. data/vendor/bundle/gems/rspec-core-3.4.4/lib/rspec/core/formatters/bisect_formatter.rb +68 -0
  258. data/vendor/bundle/gems/rspec-core-3.4.4/lib/rspec/core/formatters/bisect_progress_formatter.rb +144 -0
  259. data/vendor/bundle/gems/rspec-core-3.4.4/lib/rspec/core/formatters/console_codes.rb +65 -0
  260. data/vendor/bundle/gems/rspec-core-3.4.4/lib/rspec/core/formatters/deprecation_formatter.rb +223 -0
  261. data/vendor/bundle/gems/rspec-core-3.4.4/lib/rspec/core/formatters/documentation_formatter.rb +70 -0
  262. data/vendor/bundle/gems/rspec-core-3.4.4/lib/rspec/core/formatters/exception_presenter.rb +482 -0
  263. data/vendor/bundle/gems/rspec-core-3.4.4/lib/rspec/core/formatters/fallback_message_formatter.rb +28 -0
  264. data/vendor/bundle/gems/rspec-core-3.4.4/lib/rspec/core/formatters/helpers.rb +109 -0
  265. data/vendor/bundle/gems/rspec-core-3.4.4/lib/rspec/core/formatters/html_formatter.rb +151 -0
  266. data/vendor/bundle/gems/rspec-core-3.4.4/lib/rspec/core/formatters/html_printer.rb +414 -0
  267. data/vendor/bundle/gems/rspec-core-3.4.4/lib/rspec/core/formatters/html_snippet_extractor.rb +116 -0
  268. data/vendor/bundle/gems/rspec-core-3.4.4/lib/rspec/core/formatters/json_formatter.rb +96 -0
  269. data/vendor/bundle/gems/rspec-core-3.4.4/lib/rspec/core/formatters/profile_formatter.rb +68 -0
  270. data/vendor/bundle/gems/rspec-core-3.4.4/lib/rspec/core/formatters/progress_formatter.rb +28 -0
  271. data/vendor/bundle/gems/rspec-core-3.4.4/lib/rspec/core/formatters/protocol.rb +181 -0
  272. data/vendor/bundle/gems/rspec-core-3.4.4/lib/rspec/core/formatters/snippet_extractor.rb +136 -0
  273. data/vendor/bundle/gems/rspec-core-3.4.4/lib/rspec/core/formatters.rb +255 -0
  274. data/vendor/bundle/gems/rspec-core-3.4.4/lib/rspec/core/hooks.rb +638 -0
  275. data/vendor/bundle/gems/rspec-core-3.4.4/lib/rspec/core/memoized_helpers.rb +532 -0
  276. data/vendor/bundle/gems/rspec-core-3.4.4/lib/rspec/core/metadata.rb +498 -0
  277. data/vendor/bundle/gems/rspec-core-3.4.4/lib/rspec/core/metadata_filter.rb +231 -0
  278. data/vendor/bundle/gems/rspec-core-3.4.4/lib/rspec/core/minitest_assertions_adapter.rb +31 -0
  279. data/vendor/bundle/gems/rspec-core-3.4.4/lib/rspec/core/mocking_adapters/flexmock.rb +31 -0
  280. data/vendor/bundle/gems/rspec-core-3.4.4/lib/rspec/core/mocking_adapters/mocha.rb +57 -0
  281. data/vendor/bundle/gems/rspec-core-3.4.4/lib/rspec/core/mocking_adapters/null.rb +14 -0
  282. data/vendor/bundle/gems/rspec-core-3.4.4/lib/rspec/core/mocking_adapters/rr.rb +31 -0
  283. data/vendor/bundle/gems/rspec-core-3.4.4/lib/rspec/core/mocking_adapters/rspec.rb +32 -0
  284. data/vendor/bundle/gems/rspec-core-3.4.4/lib/rspec/core/notifications.rb +499 -0
  285. data/vendor/bundle/gems/rspec-core-3.4.4/lib/rspec/core/option_parser.rb +319 -0
  286. data/vendor/bundle/gems/rspec-core-3.4.4/lib/rspec/core/ordering.rb +158 -0
  287. data/vendor/bundle/gems/rspec-core-3.4.4/lib/rspec/core/pending.rb +165 -0
  288. data/vendor/bundle/gems/rspec-core-3.4.4/lib/rspec/core/profiler.rb +32 -0
  289. data/vendor/bundle/gems/rspec-core-3.4.4/lib/rspec/core/project_initializer/.rspec +2 -0
  290. data/vendor/bundle/gems/rspec-core-3.4.4/lib/rspec/core/project_initializer/spec/spec_helper.rb +96 -0
  291. data/vendor/bundle/gems/rspec-core-3.4.4/lib/rspec/core/project_initializer.rb +48 -0
  292. data/vendor/bundle/gems/rspec-core-3.4.4/lib/rspec/core/rake_task.rb +167 -0
  293. data/vendor/bundle/gems/rspec-core-3.4.4/lib/rspec/core/reporter.rb +236 -0
  294. data/vendor/bundle/gems/rspec-core-3.4.4/lib/rspec/core/ruby_project.rb +53 -0
  295. data/vendor/bundle/gems/rspec-core-3.4.4/lib/rspec/core/runner.rb +183 -0
  296. data/vendor/bundle/gems/rspec-core-3.4.4/lib/rspec/core/sandbox.rb +37 -0
  297. data/vendor/bundle/gems/rspec-core-3.4.4/lib/rspec/core/set.rb +49 -0
  298. data/vendor/bundle/gems/rspec-core-3.4.4/lib/rspec/core/shared_context.rb +55 -0
  299. data/vendor/bundle/gems/rspec-core-3.4.4/lib/rspec/core/shared_example_group.rb +212 -0
  300. data/vendor/bundle/gems/rspec-core-3.4.4/lib/rspec/core/shell_escape.rb +49 -0
  301. data/vendor/bundle/gems/rspec-core-3.4.4/lib/rspec/core/source/location.rb +13 -0
  302. data/vendor/bundle/gems/rspec-core-3.4.4/lib/rspec/core/source/node.rb +93 -0
  303. data/vendor/bundle/gems/rspec-core-3.4.4/lib/rspec/core/source/syntax_highlighter.rb +71 -0
  304. data/vendor/bundle/gems/rspec-core-3.4.4/lib/rspec/core/source/token.rb +86 -0
  305. data/vendor/bundle/gems/rspec-core-3.4.4/lib/rspec/core/source.rb +76 -0
  306. data/vendor/bundle/gems/rspec-core-3.4.4/lib/rspec/core/test_unit_assertions_adapter.rb +30 -0
  307. data/vendor/bundle/gems/rspec-core-3.4.4/lib/rspec/core/version.rb +9 -0
  308. data/vendor/bundle/gems/rspec-core-3.4.4/lib/rspec/core/warnings.rb +40 -0
  309. data/vendor/bundle/gems/rspec-core-3.4.4/lib/rspec/core/world.rb +213 -0
  310. data/vendor/bundle/gems/rspec-core-3.4.4/lib/rspec/core.rb +181 -0
  311. data/vendor/bundle/gems/rspec-expectations-3.4.0/.document +5 -0
  312. data/vendor/bundle/gems/rspec-expectations-3.4.0/.yardopts +6 -0
  313. data/vendor/bundle/gems/rspec-expectations-3.4.0/Changelog.md +979 -0
  314. data/vendor/bundle/gems/rspec-expectations-3.4.0/LICENSE.md +25 -0
  315. data/vendor/bundle/gems/rspec-expectations-3.4.0/README.md +303 -0
  316. data/vendor/bundle/gems/rspec-expectations-3.4.0/lib/rspec/expectations/configuration.rb +164 -0
  317. data/vendor/bundle/gems/rspec-expectations-3.4.0/lib/rspec/expectations/expectation_target.rb +113 -0
  318. data/vendor/bundle/gems/rspec-expectations-3.4.0/lib/rspec/expectations/fail_with.rb +31 -0
  319. data/vendor/bundle/gems/rspec-expectations-3.4.0/lib/rspec/expectations/failure_aggregator.rb +194 -0
  320. data/vendor/bundle/gems/rspec-expectations-3.4.0/lib/rspec/expectations/handler.rb +170 -0
  321. data/vendor/bundle/gems/rspec-expectations-3.4.0/lib/rspec/expectations/minitest_integration.rb +31 -0
  322. data/vendor/bundle/gems/rspec-expectations-3.4.0/lib/rspec/expectations/syntax.rb +132 -0
  323. data/vendor/bundle/gems/rspec-expectations-3.4.0/lib/rspec/expectations/version.rb +8 -0
  324. data/vendor/bundle/gems/rspec-expectations-3.4.0/lib/rspec/expectations.rb +81 -0
  325. data/vendor/bundle/gems/rspec-expectations-3.4.0/lib/rspec/matchers/aliased_matcher.rb +116 -0
  326. data/vendor/bundle/gems/rspec-expectations-3.4.0/lib/rspec/matchers/built_in/all.rb +85 -0
  327. data/vendor/bundle/gems/rspec-expectations-3.4.0/lib/rspec/matchers/built_in/base_matcher.rb +181 -0
  328. data/vendor/bundle/gems/rspec-expectations-3.4.0/lib/rspec/matchers/built_in/be.rb +285 -0
  329. data/vendor/bundle/gems/rspec-expectations-3.4.0/lib/rspec/matchers/built_in/be_between.rb +77 -0
  330. data/vendor/bundle/gems/rspec-expectations-3.4.0/lib/rspec/matchers/built_in/be_instance_of.rb +22 -0
  331. data/vendor/bundle/gems/rspec-expectations-3.4.0/lib/rspec/matchers/built_in/be_kind_of.rb +16 -0
  332. data/vendor/bundle/gems/rspec-expectations-3.4.0/lib/rspec/matchers/built_in/be_within.rb +72 -0
  333. data/vendor/bundle/gems/rspec-expectations-3.4.0/lib/rspec/matchers/built_in/change.rb +354 -0
  334. data/vendor/bundle/gems/rspec-expectations-3.4.0/lib/rspec/matchers/built_in/compound.rb +272 -0
  335. data/vendor/bundle/gems/rspec-expectations-3.4.0/lib/rspec/matchers/built_in/contain_exactly.rb +286 -0
  336. data/vendor/bundle/gems/rspec-expectations-3.4.0/lib/rspec/matchers/built_in/cover.rb +24 -0
  337. data/vendor/bundle/gems/rspec-expectations-3.4.0/lib/rspec/matchers/built_in/eq.rb +40 -0
  338. data/vendor/bundle/gems/rspec-expectations-3.4.0/lib/rspec/matchers/built_in/eql.rb +34 -0
  339. data/vendor/bundle/gems/rspec-expectations-3.4.0/lib/rspec/matchers/built_in/equal.rb +81 -0
  340. data/vendor/bundle/gems/rspec-expectations-3.4.0/lib/rspec/matchers/built_in/exist.rb +86 -0
  341. data/vendor/bundle/gems/rspec-expectations-3.4.0/lib/rspec/matchers/built_in/has.rb +103 -0
  342. data/vendor/bundle/gems/rspec-expectations-3.4.0/lib/rspec/matchers/built_in/have_attributes.rb +114 -0
  343. data/vendor/bundle/gems/rspec-expectations-3.4.0/lib/rspec/matchers/built_in/include.rb +130 -0
  344. data/vendor/bundle/gems/rspec-expectations-3.4.0/lib/rspec/matchers/built_in/match.rb +106 -0
  345. data/vendor/bundle/gems/rspec-expectations-3.4.0/lib/rspec/matchers/built_in/operators.rb +128 -0
  346. data/vendor/bundle/gems/rspec-expectations-3.4.0/lib/rspec/matchers/built_in/output.rb +200 -0
  347. data/vendor/bundle/gems/rspec-expectations-3.4.0/lib/rspec/matchers/built_in/raise_error.rb +228 -0
  348. data/vendor/bundle/gems/rspec-expectations-3.4.0/lib/rspec/matchers/built_in/respond_to.rb +90 -0
  349. data/vendor/bundle/gems/rspec-expectations-3.4.0/lib/rspec/matchers/built_in/satisfy.rb +37 -0
  350. data/vendor/bundle/gems/rspec-expectations-3.4.0/lib/rspec/matchers/built_in/start_or_end_with.rb +94 -0
  351. data/vendor/bundle/gems/rspec-expectations-3.4.0/lib/rspec/matchers/built_in/throw_symbol.rb +132 -0
  352. data/vendor/bundle/gems/rspec-expectations-3.4.0/lib/rspec/matchers/built_in/yield.rb +419 -0
  353. data/vendor/bundle/gems/rspec-expectations-3.4.0/lib/rspec/matchers/built_in.rb +52 -0
  354. data/vendor/bundle/gems/rspec-expectations-3.4.0/lib/rspec/matchers/composable.rb +185 -0
  355. data/vendor/bundle/gems/rspec-expectations-3.4.0/lib/rspec/matchers/dsl.rb +453 -0
  356. data/vendor/bundle/gems/rspec-expectations-3.4.0/lib/rspec/matchers/english_phrasing.rb +42 -0
  357. data/vendor/bundle/gems/rspec-expectations-3.4.0/lib/rspec/matchers/expecteds_for_multiple_diffs.rb +73 -0
  358. data/vendor/bundle/gems/rspec-expectations-3.4.0/lib/rspec/matchers/fail_matchers.rb +42 -0
  359. data/vendor/bundle/gems/rspec-expectations-3.4.0/lib/rspec/matchers/generated_descriptions.rb +42 -0
  360. data/vendor/bundle/gems/rspec-expectations-3.4.0/lib/rspec/matchers/matcher_delegator.rb +35 -0
  361. data/vendor/bundle/gems/rspec-expectations-3.4.0/lib/rspec/matchers/matcher_protocol.rb +99 -0
  362. data/vendor/bundle/gems/rspec-expectations-3.4.0/lib/rspec/matchers.rb +1037 -0
  363. data/vendor/bundle/gems/rspec-mocks-3.4.1/.document +5 -0
  364. data/vendor/bundle/gems/rspec-mocks-3.4.1/.yardopts +6 -0
  365. data/vendor/bundle/gems/rspec-mocks-3.4.1/Changelog.md +991 -0
  366. data/vendor/bundle/gems/rspec-mocks-3.4.1/LICENSE.md +25 -0
  367. data/vendor/bundle/gems/rspec-mocks-3.4.1/README.md +445 -0
  368. data/vendor/bundle/gems/rspec-mocks-3.4.1/lib/rspec/mocks/any_instance/chain.rb +110 -0
  369. data/vendor/bundle/gems/rspec-mocks-3.4.1/lib/rspec/mocks/any_instance/error_generator.rb +31 -0
  370. data/vendor/bundle/gems/rspec-mocks-3.4.1/lib/rspec/mocks/any_instance/expect_chain_chain.rb +35 -0
  371. data/vendor/bundle/gems/rspec-mocks-3.4.1/lib/rspec/mocks/any_instance/expectation_chain.rb +48 -0
  372. data/vendor/bundle/gems/rspec-mocks-3.4.1/lib/rspec/mocks/any_instance/message_chains.rb +83 -0
  373. data/vendor/bundle/gems/rspec-mocks-3.4.1/lib/rspec/mocks/any_instance/proxy.rb +116 -0
  374. data/vendor/bundle/gems/rspec-mocks-3.4.1/lib/rspec/mocks/any_instance/recorder.rb +268 -0
  375. data/vendor/bundle/gems/rspec-mocks-3.4.1/lib/rspec/mocks/any_instance/stub_chain.rb +46 -0
  376. data/vendor/bundle/gems/rspec-mocks-3.4.1/lib/rspec/mocks/any_instance/stub_chain_chain.rb +27 -0
  377. data/vendor/bundle/gems/rspec-mocks-3.4.1/lib/rspec/mocks/any_instance.rb +11 -0
  378. data/vendor/bundle/gems/rspec-mocks-3.4.1/lib/rspec/mocks/argument_list_matcher.rb +100 -0
  379. data/vendor/bundle/gems/rspec-mocks-3.4.1/lib/rspec/mocks/argument_matchers.rb +320 -0
  380. data/vendor/bundle/gems/rspec-mocks-3.4.1/lib/rspec/mocks/configuration.rb +205 -0
  381. data/vendor/bundle/gems/rspec-mocks-3.4.1/lib/rspec/mocks/error_generator.rb +367 -0
  382. data/vendor/bundle/gems/rspec-mocks-3.4.1/lib/rspec/mocks/example_methods.rb +422 -0
  383. data/vendor/bundle/gems/rspec-mocks-3.4.1/lib/rspec/mocks/instance_method_stasher.rb +135 -0
  384. data/vendor/bundle/gems/rspec-mocks-3.4.1/lib/rspec/mocks/marshal_extension.rb +41 -0
  385. data/vendor/bundle/gems/rspec-mocks-3.4.1/lib/rspec/mocks/matchers/expectation_customization.rb +20 -0
  386. data/vendor/bundle/gems/rspec-mocks-3.4.1/lib/rspec/mocks/matchers/have_received.rb +128 -0
  387. data/vendor/bundle/gems/rspec-mocks-3.4.1/lib/rspec/mocks/matchers/receive.rb +130 -0
  388. data/vendor/bundle/gems/rspec-mocks-3.4.1/lib/rspec/mocks/matchers/receive_message_chain.rb +80 -0
  389. data/vendor/bundle/gems/rspec-mocks-3.4.1/lib/rspec/mocks/matchers/receive_messages.rb +75 -0
  390. data/vendor/bundle/gems/rspec-mocks-3.4.1/lib/rspec/mocks/message_chain.rb +87 -0
  391. data/vendor/bundle/gems/rspec-mocks-3.4.1/lib/rspec/mocks/message_expectation.rb +717 -0
  392. data/vendor/bundle/gems/rspec-mocks-3.4.1/lib/rspec/mocks/method_double.rb +287 -0
  393. data/vendor/bundle/gems/rspec-mocks-3.4.1/lib/rspec/mocks/method_reference.rb +192 -0
  394. data/vendor/bundle/gems/rspec-mocks-3.4.1/lib/rspec/mocks/mutate_const.rb +335 -0
  395. data/vendor/bundle/gems/rspec-mocks-3.4.1/lib/rspec/mocks/object_reference.rb +149 -0
  396. data/vendor/bundle/gems/rspec-mocks-3.4.1/lib/rspec/mocks/order_group.rb +81 -0
  397. data/vendor/bundle/gems/rspec-mocks-3.4.1/lib/rspec/mocks/proxy.rb +484 -0
  398. data/vendor/bundle/gems/rspec-mocks-3.4.1/lib/rspec/mocks/space.rb +238 -0
  399. data/vendor/bundle/gems/rspec-mocks-3.4.1/lib/rspec/mocks/standalone.rb +3 -0
  400. data/vendor/bundle/gems/rspec-mocks-3.4.1/lib/rspec/mocks/syntax.rb +325 -0
  401. data/vendor/bundle/gems/rspec-mocks-3.4.1/lib/rspec/mocks/targets.rb +97 -0
  402. data/vendor/bundle/gems/rspec-mocks-3.4.1/lib/rspec/mocks/test_double.rb +170 -0
  403. data/vendor/bundle/gems/rspec-mocks-3.4.1/lib/rspec/mocks/verifying_double.rb +129 -0
  404. data/vendor/bundle/gems/rspec-mocks-3.4.1/lib/rspec/mocks/verifying_message_expectation.rb +54 -0
  405. data/vendor/bundle/gems/rspec-mocks-3.4.1/lib/rspec/mocks/verifying_proxy.rb +213 -0
  406. data/vendor/bundle/gems/rspec-mocks-3.4.1/lib/rspec/mocks/version.rb +9 -0
  407. data/vendor/bundle/gems/rspec-mocks-3.4.1/lib/rspec/mocks.rb +126 -0
  408. data/vendor/bundle/gems/rspec-support-3.4.1/Changelog.md +151 -0
  409. data/vendor/bundle/gems/rspec-support-3.4.1/LICENSE.md +23 -0
  410. data/vendor/bundle/gems/rspec-support-3.4.1/README.md +40 -0
  411. data/vendor/bundle/gems/rspec-support-3.4.1/lib/rspec/support/caller_filter.rb +83 -0
  412. data/vendor/bundle/gems/rspec-support-3.4.1/lib/rspec/support/comparable_version.rb +46 -0
  413. data/vendor/bundle/gems/rspec-support-3.4.1/lib/rspec/support/differ.rb +215 -0
  414. data/vendor/bundle/gems/rspec-support-3.4.1/lib/rspec/support/directory_maker.rb +63 -0
  415. data/vendor/bundle/gems/rspec-support-3.4.1/lib/rspec/support/encoded_string.rb +155 -0
  416. data/vendor/bundle/gems/rspec-support-3.4.1/lib/rspec/support/fuzzy_matcher.rb +48 -0
  417. data/vendor/bundle/gems/rspec-support-3.4.1/lib/rspec/support/hunk_generator.rb +47 -0
  418. data/vendor/bundle/gems/rspec-support-3.4.1/lib/rspec/support/matcher_definition.rb +42 -0
  419. data/vendor/bundle/gems/rspec-support-3.4.1/lib/rspec/support/method_signature_verifier.rb +290 -0
  420. data/vendor/bundle/gems/rspec-support-3.4.1/lib/rspec/support/mutex.rb +73 -0
  421. data/vendor/bundle/gems/rspec-support-3.4.1/lib/rspec/support/object_formatter.rb +108 -0
  422. data/vendor/bundle/gems/rspec-support-3.4.1/lib/rspec/support/recursive_const_methods.rb +76 -0
  423. data/vendor/bundle/gems/rspec-support-3.4.1/lib/rspec/support/reentrant_mutex.rb +53 -0
  424. data/vendor/bundle/gems/rspec-support-3.4.1/lib/rspec/support/ruby_features.rb +149 -0
  425. data/vendor/bundle/gems/rspec-support-3.4.1/lib/rspec/support/spec/deprecation_helpers.rb +64 -0
  426. data/vendor/bundle/gems/rspec-support-3.4.1/lib/rspec/support/spec/formatting_support.rb +9 -0
  427. data/vendor/bundle/gems/rspec-support-3.4.1/lib/rspec/support/spec/in_sub_process.rb +52 -0
  428. data/vendor/bundle/gems/rspec-support-3.4.1/lib/rspec/support/spec/library_wide_checks.rb +152 -0
  429. data/vendor/bundle/gems/rspec-support-3.4.1/lib/rspec/support/spec/shell_out.rb +71 -0
  430. data/vendor/bundle/gems/rspec-support-3.4.1/lib/rspec/support/spec/stderr_splitter.rb +63 -0
  431. data/vendor/bundle/gems/rspec-support-3.4.1/lib/rspec/support/spec/string_matcher.rb +46 -0
  432. data/vendor/bundle/gems/rspec-support-3.4.1/lib/rspec/support/spec/with_isolated_directory.rb +9 -0
  433. data/vendor/bundle/gems/rspec-support-3.4.1/lib/rspec/support/spec/with_isolated_stderr.rb +13 -0
  434. data/vendor/bundle/gems/rspec-support-3.4.1/lib/rspec/support/spec.rb +81 -0
  435. data/vendor/bundle/gems/rspec-support-3.4.1/lib/rspec/support/version.rb +7 -0
  436. data/vendor/bundle/gems/rspec-support-3.4.1/lib/rspec/support/version_checker.rb +53 -0
  437. data/vendor/bundle/gems/rspec-support-3.4.1/lib/rspec/support/warnings.rb +39 -0
  438. data/vendor/bundle/gems/rspec-support-3.4.1/lib/rspec/support.rb +139 -0
  439. data/vendor/bundle/specifications/diff-lcs-1.2.5.gemspec +68 -0
  440. data/vendor/bundle/specifications/rake-10.5.0.gemspec +43 -0
  441. data/vendor/bundle/specifications/rspec-3.4.0.gemspec +42 -0
  442. data/vendor/bundle/specifications/rspec-core-3.4.4.gemspec +65 -0
  443. data/vendor/bundle/specifications/rspec-expectations-3.4.0.gemspec +50 -0
  444. data/vendor/bundle/specifications/rspec-mocks-3.4.1.gemspec +50 -0
  445. data/vendor/bundle/specifications/rspec-support-3.4.1.gemspec +41 -0
  446. metadata +532 -0
@@ -0,0 +1,979 @@
1
+ ### 3.4.0 / 2015-11-11
2
+ [Full Changelog](http://github.com/rspec/rspec-expectations/compare/v3.3.1...v3.4.0)
3
+
4
+ Enhancements:
5
+
6
+ * Warn when `RSpec::Matchers` is included in a superclass after it has
7
+ already been included in a subclass on MRI 1.9, since that situation
8
+ can cause uses of `super` to trigger infinite recursion. (Myron Marston, #816)
9
+ * Stop rescuing `NoMemoryError`, `SignalExcepetion`, `Interrupt` and
10
+ `SystemExit`. It is dangerous to interfere with these. (Myron Marston, #845)
11
+ * Add `#with_captures` to the
12
+ [match matcher](https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers/match-matcher)
13
+ which allows a user to specify expected captures when matching a regex
14
+ against a string. (Sam Phippen, #848)
15
+ * Always print compound failure messages in the multi-line form. Trying
16
+ to print it all on a single line didn't read very well. (Myron Marston, #859)
17
+
18
+ Bug Fixes:
19
+
20
+ * Fix failure message from dynamic predicate matchers when the object
21
+ does not respond to the predicate so that it is inspected rather
22
+ than relying upon it's `to_s` -- that way for `nil`, `"nil"` is
23
+ printed rather than an empty string. (Myron Marston, #841)
24
+ * Fix SystemStackError raised when diffing an Enumerable object
25
+ whose `#each` includes the object itself. (Yuji Nakayama, #857)
26
+
27
+ ### 3.3.1 / 2015-07-15
28
+ [Full Changelog](http://github.com/rspec/rspec-expectations/compare/v3.3.0...v3.3.1)
29
+
30
+ Bug Fixes:
31
+
32
+ * Fix `be >`, `be <`, etc so that it fails rather than allowing an
33
+ argument error to be raised when compared against an object of the
34
+ wrong type. This allows it to be used in composed matcher expressions
35
+ against heterogeneous objects. (Dennis Günnewig, #809)
36
+ * Fix `respond_to` to work properly on target objects
37
+ that redefine the `method` method. (unmanbearpig, #821)
38
+
39
+ ### 3.3.0 / 2015-06-12
40
+ [Full Changelog](http://github.com/rspec/rspec-expectations/compare/v3.2.1...v3.3.0)
41
+
42
+ Enhancements:
43
+
44
+ * Expose `RSpec::Matchers::EnglishPhrasing` to make it easier to write
45
+ nice failure messages in custom matchers. (Jared Beck, #736)
46
+ * Add `RSpec::Matchers::FailMatchers`, a mixin which provides
47
+ `fail`, `fail_with` and `fail_including` matchers for use in
48
+ specifying that an expectation fails for use by
49
+ extension/plugin authors. (Charlie Rudolph, #729)
50
+ * Avoid loading `tempfile` (and its dependencies) unless
51
+ it is absolutely needed. (Myron Marston, #735)
52
+ * Improve failure output when attempting to use `be_true` or `be_false`.
53
+ (Tim Wade, #744)
54
+ * Define `RSpec::Matchers#respond_to_missing?` so that
55
+ `RSpec::Matchers#respond_to?` and `RSpec::Matchers#method` handle
56
+ dynamic predicate matchers. (Andrei Botalov, #751)
57
+ * Use custom Time/DateTime/BigDecimal formatting for all matchers
58
+ so they are consistently represented in failure messages.
59
+ (Gavin Miller, #740)
60
+ * Add configuration to turn off warnings about matcher combinations that
61
+ may cause false positives. (Jon Rowe, #768)
62
+ * Warn when using a bare `raise_error` matcher that you may be subject to
63
+ false positives. (Jon Rowe, #768)
64
+ * Warn rather than raise when using the`raise_error` matcher in negative
65
+ expectations that may be subject to false positives. (Jon Rowe, #775)
66
+ * Improve failure message for `include(a, b, c)` so that if `a` and `b`
67
+ are included the failure message only mentions `c`. (Chris Arcand, #780)
68
+ * Allow `satisfy` matcher to take an optional description argument
69
+ that will be used in the `description`, `failure_message` and
70
+ `failure_message_when_negated` in place of the undescriptive
71
+ "sastify block". (Chris Arcand, #783)
72
+ * Add new `aggregate_failures` API that allows multiple independent
73
+ expectations to all fail and be listed in the failure output, rather
74
+ than the example aborting on the first failure. (Myron Marston, #776)
75
+ * Improve `raise_error` matcher so that it can accept a matcher as a single argument
76
+ that matches the message. (Time Wade, #782)
77
+
78
+ Bug Fixes:
79
+
80
+ * Make `contain_exactly` / `match_array` work with strict test doubles
81
+ that have not defined `<=>`. (Myron Marston, #758)
82
+ * Fix `include` matcher so that it omits the diff when it would
83
+ confusingly highlight items that are actually included but are not
84
+ an exact match in a line-by-line diff. (Tim Wade, #763)
85
+ * Fix `match` matcher so that it does not blow up when matching a string
86
+ or regex against another matcher (rather than a string or regex).
87
+ (Myron Marston, #772)
88
+ * Silence whitespace-only diffs. (Myron Marston, #801)
89
+
90
+ ### 3.2.1 / 2015-04-06
91
+ [Full Changelog](http://github.com/rspec/rspec-expectations/compare/v3.2.0...v3.2.1)
92
+
93
+ Bug Fixes:
94
+
95
+ * Prevent `Range`s from being enumerated when generating matcher
96
+ descriptions. (Jon Rowe, #755)
97
+ * Ensure exception messages are compared as strings in the `raise_error`
98
+ matcher. (Jon Rowe, #755)
99
+
100
+ ### 3.2.0 / 2015-02-03
101
+ [Full Changelog](http://github.com/rspec/rspec-expectations/compare/v3.1.2...v3.2.0)
102
+
103
+ Enhancements:
104
+
105
+ * Add `block_arg` method to custom matcher API, which allows you to
106
+ access the block passed to a custom matcher, if there is one.
107
+ (Mike Dalton, #645)
108
+ * Provide more detail in failure message of `yield_control` matcher.
109
+ (Jon Rowe, #650)
110
+ * Add a shorthand syntax for `chain` in the matcher DSL which assigns values
111
+ for use elsewhere, for example `chain :and_smaller_than, :small_value`
112
+ creates an `attr_reader` for `small_value` (Tom Stuart, #644)
113
+ * Provide a more helpful deprecation message when using the `should` syntax.
114
+ (Elia Schito, #663)
115
+ * Provide more detail in the `have_attributes` matcher failure message.
116
+ (Jon Rowe, #668)
117
+ * Make the `have_attributes` matcher diffable.
118
+ (Jon Rowe, Alexey Fedorov, #668)
119
+ * Add `output(...).to_std(out|err)_from_any_process` as alternatives
120
+ to `output(...).to_std(out|err)`. The latter doesn't work when a sub
121
+ process writes to the named stream but is much faster.
122
+ (Alex Genco, #700)
123
+ * Improve compound matchers (created by `and` and `or`) so that diffs
124
+ are included in failures when one or more of their matchers
125
+ are diffable. (Alexey Fedorov, #713)
126
+
127
+ Bug Fixes:
128
+
129
+ * Avoid calling `private_methods` from the `be` predicate matcher on
130
+ the target object if the object publicly responds to the predicate
131
+ method. This avoids a possible error that can occur if the object
132
+ raises errors from `private_methods` (which can happen with celluloid
133
+ objects). (@chapmajs, #670)
134
+ * Make `yield_control` (with no modifier) default to
135
+ `at_least(:once)` rather than raising a confusing error
136
+ when multiple yields are encountered.
137
+ (Myron Marston, #675)
138
+ * Fix "instance variable @color not initialized" warning when using
139
+ rspec-expectations outside of an rspec-core context. (Myron Marston, #689)
140
+ * Fix `start_with` and `end_with` to work properly when checking a
141
+ string against an array of strings. (Myron Marston, #690)
142
+ * Don't use internally delegated matchers when generating descriptions
143
+ for examples without doc strings. (Myron Marston, #692)
144
+
145
+ ### 3.1.2 / 2014-09-26
146
+ [Full Changelog](http://github.com/rspec/rspec-expectations/compare/v3.1.1...v3.1.2)
147
+
148
+ Bug Fixes:
149
+
150
+ * Fix `define_negated_matcher` so that matchers that support fluent
151
+ interfaces continue to be negated after you use the chained method.
152
+ (Myron Marston, #656)
153
+ * Fix `define_negated_matcher` so that the matchers fail with an
154
+ appropriate failure message. (Myron Marston, #659)
155
+
156
+ ### 3.1.1 / 2014-09-15
157
+ [Full Changelog](http://github.com/rspec/rspec-expectations/compare/v3.1.0...v3.1.1)
158
+
159
+ Bug Fixes:
160
+
161
+ * Fix regression in `all` matcher in 3.1.0 that prevented it from
162
+ working on objects that are not `Enumerable` but do implement
163
+ `each_with_index` (such as an ActiveRecord proxy). (Jori Hardman, #647)
164
+
165
+ ### 3.1.0 / 2014-09-04
166
+ [Full Changelog](http://github.com/rspec/rspec-expectations/compare/v3.0.4...v3.1.0)
167
+
168
+ Enhancements:
169
+
170
+ * Add `have_attributes` matcher, that passes if actual's attribute
171
+ values match the expected attributes hash:
172
+ `Person = Struct.new(:name, :age)`
173
+ `person = Person.new("Bob", 32)`
174
+ `expect(person).to have_attributes(:name => "Bob", :age => 32)`.
175
+ (Adam Farhi, #571)
176
+ * Extended compound matcher support to block matchers, for cases like:
177
+ `expect { ... }.to change { x }.to(3).and change { y }.to(4)`. (Myron
178
+ Marston, #567)
179
+ * Include chained methods in custom matcher description and failure message
180
+ when new `include_chain_clauses_in_custom_matcher_descriptions` config
181
+ option is enabled. (Dan Oved, #600)
182
+ * Add `thrice` modifier to `yield_control` matcher as a synonym for
183
+ `exactly(3).times`. (Dennis Taylor, #615)
184
+ * Add `RSpec::Matchers.define_negated_matcher`, which defines a negated
185
+ version of the named matcher. (Adam Farhi, Myron Marston, #618)
186
+ * Document and support negation of `contain_exactly`/`match_array`.
187
+ (Jon Rowe, #626).
188
+
189
+ Bug Fixes:
190
+
191
+ * Rename private `LegacyMacherAdapter` constant to `LegacyMatcherAdapter`
192
+ to fix typo. (Abdelkader Boudih, #563)
193
+ * Fix `all` matcher so that it fails properly (rather than raising a
194
+ `NoMethodError`) when matched against a non-enumerable. (Hao Su, #622)
195
+
196
+ ### 3.0.4 / 2014-08-14
197
+ [Full Changelog](http://github.com/rspec/rspec-expectations/compare/v3.0.3...v3.0.4)
198
+
199
+ Bug Fixes:
200
+
201
+ * Fix `start_with` and `end_with` so that they work properly with
202
+ structs. (Myron Marston, #620)
203
+ * Fix failure message generation so that structs are printed properly
204
+ in failures. Previously failure messages would represent them as
205
+ an array. (Myron Marston, #620)
206
+ * Fix composable matcher support so that it does not wrongly treat
207
+ structs as arrays. (Myron Marston, #620)
208
+
209
+ ### 3.0.3 / 2014-07-21
210
+ [Full Changelog](http://github.com/rspec/rspec-expectations/compare/v3.0.2...v3.0.3)
211
+
212
+ Bug Fixes:
213
+
214
+ * Fix issue with detection of generic operator matchers so they work
215
+ correctly when undefined. (Myron Marston, #597)
216
+ * Don't inadvertently define `BasicObject` in 1.8.7. (Chris Griego, #603)
217
+ * Fix `include` matcher so that it fails gracefully when matched against
218
+ an object that does not respond to `include?`. (Myron Marston, #607)
219
+
220
+ ### 3.0.2 / 2014-06-19
221
+ [Full Changelog](http://github.com/rspec/rspec-expectations/compare/v3.0.1...v3.0.2)
222
+
223
+ Bug Fixes:
224
+
225
+ * Fix regression in `contain_exactly` (AKA `match_array`) that caused it
226
+ to wrongly pass when the expected array was empty. (Myron Marston, #581)
227
+ * Provide a better error message when you use the `change(obj, :msg)`
228
+ form of the change matcher but forget the message argument. (Alex
229
+ Sunderland, #585)
230
+ * Make the `contain_exactly` matcher work with arrays that contain hashes in
231
+ arbitrary ordering. (Sam Phippen, #578)
232
+
233
+ ### 3.0.1 / 2014-06-12
234
+ [Full Changelog](http://github.com/rspec/rspec-expectations/compare/v3.0.0...v3.0.1)
235
+
236
+ Bug Fixes:
237
+
238
+ * Add a missing `require` that would cause the `respond_to` matcher to
239
+ fail when used in a project where the rest of RSpec (e.g. core and
240
+ expecatations) weren't being used. (Myron Marston, #566)
241
+ * Structs are no longer treated as arrays when diffed. (Jon Rowe, #576)
242
+
243
+ ### 3.0.0 / 2014-06-01
244
+ [Full Changelog](http://github.com/rspec/rspec-expectations/compare/v3.0.0.rc1...v3.0.0)
245
+
246
+ No code changes. Just taking it out of pre-release.
247
+
248
+ ### 3.0.0.rc1 / 2014-05-18
249
+ [Full Changelog](http://github.com/rspec/rspec-expectations/compare/v3.0.0.beta2...v3.0.0.rc1)
250
+
251
+ Breaking Changes for 3.0.0:
252
+
253
+ * Remove `matcher_execution_context` attribute from DSL-defined
254
+ custom matchers. (Myron Marston)
255
+ * Remove `RSpec::Matchers::Pretty#_pretty_print`. (Myron Marston)
256
+ * Remove `RSpec::Matchers::Pretty#expected_to_sentence`. (Myron Marston)
257
+ * Rename `RSpec::Matchers::Configuration` constant to
258
+ `RSpec::Expectations::Configuration`. (Myron Marston)
259
+ * Prevent `have_xyz` predicate matchers using private methods.
260
+ (Adrian Gonzalez)
261
+ * Block matchers must now implement `supports_block_expectations?`.
262
+ (Myron Marston)
263
+ * Stop supporting `require 'rspec-expectations'`.
264
+ Use `require 'rspec/expectations'` instead. (Myron Marston)
265
+
266
+ Bug Fixes:
267
+
268
+ * Fix `NoMethodError` triggered by beta2 when `YARD` was loaded in
269
+ the test environment. (Myron Marston)
270
+ * Fix `be_xyz` matcher to accept a `do...end` block. (Myron Marston)
271
+ * Fix composable matcher failure message generation logic
272
+ so that it does not blow up when given `$stdout` or `$stderr`.
273
+ (Myron Marston)
274
+ * Fix `change` matcher to work properly with `IO` objects.
275
+ (Myron Marston)
276
+ * Fix `exist` matcher so that it can be used in composed matcher
277
+ expressions involving objects that do not implement `exist?` or
278
+ `exists?`. (Daniel Fone)
279
+ * Fix composable matcher match logic so that it clones matchers
280
+ before using them in order to work properly with matchers
281
+ that use internal memoization based on a given `actual` value.
282
+ (Myron Marston)
283
+ * Fix `be_xyz` and `has_xyz` predicate matchers so that they can
284
+ be used in composed matcher expressions involving objects that
285
+ do not implement the predicate method. (Daniel Fone)
286
+
287
+ Enhancements:
288
+
289
+ * Document the remaining public APIs. rspec-expectations now has 100% of
290
+ the public API documented and will remain that way (as new undocumented
291
+ methods will fail the build). (Myron Marston)
292
+ * Improve the formatting of BigDecimal objects in `eq` matcher failure
293
+ messages. (Daniel Fone)
294
+ * Improve the failure message for `be_xyz` predicate matchers so
295
+ that it includes the `inspect` output of the receiver.
296
+ (Erik Michaels-Ober, Sam Phippen)
297
+ * Add `all` matcher, to allow you to specify that a given matcher
298
+ matches all elements in a collection:
299
+ `expect([1, 3, 5]).to all( be_odd )`. (Adam Farhi)
300
+ * Add boolean aliases (`&`/`|`) for compound operators (`and`/`or`). (Adam Farhi)
301
+ * Give users a clear error when they wrongly use a value matcher
302
+ in a block expectation expression (e.g. `expect { 3 }.to eq(3)`)
303
+ or vice versa. (Myron Marston)
304
+
305
+ ### 3.0.0.beta2 / 2014-02-17
306
+ [Full Changelog](http://github.com/rspec/rspec-expectations/compare/v3.0.0.beta1...v3.0.0.beta2)
307
+
308
+ Breaking Changes for 3.0.0:
309
+
310
+ * Remove deprecated support for accessing the `RSpec` constant using
311
+ `Rspec` or `Spec`. (Myron Marston)
312
+ * Remove deprecated `RSpec::Expectations.differ=`. (Myron Marston)
313
+ * Remove support for deprecated `expect(...).should`. (Myron Marston)
314
+ * Explicitly disallow `expect { }.not_to change { }` with `by`,
315
+ `by_at_least`, `by_at_most` or `to`. These have never been supported
316
+ but did not raise explicit errors. (Myron Marston)
317
+ * Provide `===` rather than `==` as an alias of `matches?` for
318
+ all matchers. The semantics of `===` are closer to an RSpec
319
+ matcher than `==`. (Myron Marston)
320
+ * Remove deprecated `RSpec::Matchers::OperatorMatcher` constant.
321
+ (Myron Marston)
322
+ * Make `RSpec::Expectations::ExpectationNotMetError` subclass
323
+ `Exception` rather than `StandardError` so they can bypass
324
+ a bare `rescue` in end-user code (e.g. when an expectation is
325
+ set from within a rspec-mocks stub implementation). (Myron Marston)
326
+ * Remove Test::Unit and Minitest 4.x integration. (Myron Marston)
327
+
328
+ Enhancements:
329
+
330
+ * Simplify the failure message of the `be` matcher when matching against:
331
+ `true`, `false` and `nil`. (Sam Phippen)
332
+ * Update matcher protocol and custom matcher DSL to better align
333
+ with the newer `expect` syntax. If you want your matchers to
334
+ maintain compatibility with multiple versions of RSpec, you can
335
+ alias the new names to the old. (Myron Marston)
336
+ * `failure_message_for_should` => `failure_message`
337
+ * `failure_message_for_should_not` => `failure_message_when_negated`
338
+ * `match_for_should` => `match`
339
+ * `match_for_should_not` => `match_when_negated`
340
+ * Improve generated descriptions from `change` matcher. (Myron Marston)
341
+ * Add support for compound matcher expressions using `and` and `or`.
342
+ Simply chain them off of any existing matcher to create an expression
343
+ like `expect(alphabet).to start_with("a").and end_with("z")`.
344
+ (Eloy Espinaco)
345
+ * Add `contain_exactly` as a less ambiguous version of `match_array`.
346
+ Note that it expects the expected array to be splatted as
347
+ individual args: `expect(array).to contain_exactly(1, 2)` is
348
+ the same as `expect(array).to match_array([1, 2])`. (Myron Marston)
349
+ * Update `contain_exactly`/`match_array` so that it can match against
350
+ other non-array collections (such as a `Set`). (Myron Marston)
351
+ * Update built-in matchers so that they can accept matchers as arguments
352
+ to allow you to compose matchers in arbitrary ways. (Myron Marston)
353
+ * Add `RSpec::Matchers::Composable` mixin that can be used to make
354
+ a custom matcher composable as well. Note that custom matchers
355
+ defined via `RSpec::Matchers.define` already have this. (Myron
356
+ Marston)
357
+ * Define noun-phrase aliases for built-in matchers, which can be
358
+ used when creating composed matcher expressions that read better
359
+ and provide better failure messages. (Myron Marston)
360
+ * Add `RSpec::Matchers.alias_matcher` so users can define their own
361
+ matcher aliases. The `description` of the matcher will reflect the
362
+ alternate matcher name. (Myron Marston)
363
+ * Add explicit `be_between` matcher. `be_between` has worked for a
364
+ long time as a dynamic predicate matcher, but the failure message
365
+ was suboptimal. The new matcher provides a much better failure
366
+ message. (Erik Michaels-Ober)
367
+ * Enhance the `be_between` matcher to allow for `inclusive` or `exclusive`
368
+ comparison (e.g. inclusive of min/max or exclusive of min/max).
369
+ (Pedro Gimenez)
370
+ * Make failure message for `not_to be #{operator}` less confusing by
371
+ only saying it's confusing when comparison operators are used.
372
+ (Prathamesh Sonpatki)
373
+ * Improve failure message of `eq` matcher when `Time` or `DateTime`
374
+ objects are used so that the full sub-second precision is included.
375
+ (Thomas Holmes, Jeff Wallace)
376
+ * Add `output` matcher for expecting that a block outputs `to_stdout`
377
+ or `to_stderr`. (Luca Pette, Matthias Günther)
378
+ * Forward a provided block on to the `has_xyz?` method call when
379
+ the `have_xyz` matcher is used. (Damian Galarza)
380
+ * Provide integration with Minitest 5.x. Require
381
+ `rspec/expectations/minitest_integration` after loading minitest
382
+ to use rspec-expectations with minitest. (Myron Marston)
383
+
384
+ Bug Fixes:
385
+
386
+ * Fix wrong matcher descriptions with falsey expected value (yujinakayama)
387
+ * Fix `expect { }.not_to change { }.from(x)` so that the matcher only
388
+ passes if the starting value is `x`. (Tyler Rick, Myron Marston)
389
+ * Fix hash diffing, so that it colorizes properly and doesn't consider trailing
390
+ commas when performing the diff. (Jared Norman)
391
+ * Fix built-in matchers to fail normally rather than raising
392
+ `ArgumentError` when given an object of the wrong type to match
393
+ against, so that they work well in composite matcher expressions like
394
+ `expect([1.51, "foo"]).to include(a_string_matching(/foo/), a_value_within(0.1).of(1.5))`.
395
+ (Myron Marston)
396
+
397
+ Deprecations:
398
+
399
+ * Retain support for RSpec 2 matcher protocol (e.g. for matchers
400
+ in 3rd party extension gems like `shoulda`), but it will print
401
+ a deprecation warning. (Myron Marston)
402
+
403
+ ### 3.0.0.beta1 / 2013-11-07
404
+ [Full Changelog](http://github.com/rspec/rspec-expectations/compare/v2.99.2...v3.0.0.beta1)
405
+
406
+ Breaking Changes for 3.0.0:
407
+
408
+ * Remove explicit support for 1.8.6. (Jon Rowe)
409
+ * Remove the deprecated `be_close` matcher, preferring `be_within` instead.
410
+ (Sam Phippen)
411
+ * Remove the deprecated `have`, `have_at_least` and `have_at_most` matchers.
412
+ You can continue using those matchers through https://github.com/rspec/rspec-collection_matchers,
413
+ or you can rewrite your expectations with something like
414
+ `expect(your_object.size).to eq(num)`. (Hugo Baraúna)
415
+ * Rename `be_true` and `be_false` to `be_truthy` and `be_falsey`. (Sam Phippen)
416
+ * Make `expect { }.to_not raise_error(SomeSpecificClass, message)`,
417
+ `expect { }.to_not raise_error(SomeSpecificClass)` and
418
+ `expect { }.to_not raise_error(message)` invalid, since they are prone
419
+ to hiding failures. Instead, use `expect { }.to_not raise_error` (with no
420
+ args). (Sam Phippen)
421
+ * Within `RSpec::Matchers.define` blocks, helper methods made available
422
+ either via `def self.helper` or `extend HelperModule` are no longer
423
+ available to the `match` block (or any of the others). Instead
424
+ `include` your helper module and define the helper method as an
425
+ instance method. (Myron Marston)
426
+ * Force upgrading Diff::LCS for encoding compatability with diffs. (Jon Rowe)
427
+
428
+ Enhancements:
429
+
430
+ * Support `do..end` style block with `raise_error` matcher. (Yuji Nakayama)
431
+ * Rewrote custom matcher DSL to simplify its implementation and solve a
432
+ few issues. (Myron Marston)
433
+ * Allow early `return` from within custom matcher DSL blocks. (Myron
434
+ Marston)
435
+ * The custom matcher DSL's `chain` can now accept a block. (Myron
436
+ Marston)
437
+ * Support setting an expectation on a `raise_error` matcher via a chained
438
+ `with_message` method call. (Sam Phippen)
439
+
440
+ Bug Fixes:
441
+
442
+ * Allow `include` and `match` matchers to be used from within a
443
+ DSL-defined custom matcher's `match` block. (Myron Marston)
444
+ * Correct encoding error message on diff failure (Jon Rowe)
445
+
446
+ Deprecations:
447
+
448
+ * Using the old `:should` syntax without explicitly configuring it is deprecated.
449
+ It will continue to work but will emit a deprecation warning in RSpec 3 if
450
+ you do not explicitly enable it. (Sam Phippen)
451
+
452
+ ### 2.99.2 / 2014-07-21
453
+ [Full Changelog](http://github.com/rspec/rspec-expectations/compare/v2.99.1...v2.99.2)
454
+
455
+ Bug Fixes:
456
+
457
+ * Fix regression in `Expectations#method_handle_for` where proxy objects
458
+ with method delegated would wrongly not return a method handle.
459
+ (Jon Rowe, #594)
460
+ * Fix issue with detection of generic operator matchers so they work
461
+ correctly when undefined. (Myron Marston, #597)
462
+
463
+ ### 2.99.1 / 2014-06-19
464
+ [Full Changelog](http://github.com/rspec/rspec-expectations/compare/v2.99.0...v2.99.1)
465
+
466
+ Bug Fixes:
467
+
468
+ * Fix typo in custom matcher `expected` deprecation warning -- it's
469
+ `expected_as_array`, not `expected_array`. (Frederick Cheung, #562)
470
+
471
+ ### 2.99.0 / 2014-06-01
472
+ [Full Changelog](http://github.com/rspec/rspec-expectations/compare/v2.99.0.rc1...v2.99.0)
473
+
474
+ Enhancements:
475
+
476
+ * Special case deprecation message for `errors_on` with `rspec-rails` to be more useful.
477
+ (Aaron Kromer)
478
+
479
+ ### 2.99.0.rc1 / 2014-05-18
480
+ [Full Changelog](http://github.com/rspec/rspec-expectations/compare/v2.99.0.beta2...2.99.0.rc1)
481
+
482
+ Deprecations:
483
+
484
+ * Deprecate `matcher_execution_context` attribute on DSL-defined
485
+ custom matchers. (Myron Marston)
486
+ * Deprecate `RSpec::Matchers::Pretty#_pretty_print`. (Myron Marston)
487
+ * Deprecate `RSpec::Matchers::Pretty#expected_to_sentence`. (Myron Marston)
488
+ * Deprecate `RSpec::Matchers::Configuration` in favor of
489
+ `RSpec::Expectations::Configuration`. (Myron Marston)
490
+ * Deprecate `be_xyz` predicate matcher on an object that doesn't respond to
491
+ `xyz?` or `xyzs?`. (Daniel Fone)
492
+ * Deprecate `have_xyz` matcher on an object that doesn't respond to `has_xyz?`.
493
+ (Daniel Fone)
494
+ * Deprecate `have_xyz` matcher on an object that has a private method `has_xyz?`.
495
+ (Jon Rowe)
496
+ * Issue a deprecation warning when a block expectation expression is
497
+ used with a matcher that doesn't explicitly support block expectations
498
+ via `supports_block_expectations?`. (Myron Marston)
499
+ * Deprecate `require 'rspec-expectations'`. Use
500
+ `require 'rspec/expectations'` instead. (Myron Marston)
501
+
502
+ ### 2.99.0.beta2 / 2014-02-17
503
+ [Full Changelog](http://github.com/rspec/rspec-expectations/compare/v2.99.0.beta1...v2.99.0.beta2)
504
+
505
+ Deprecations:
506
+
507
+ * Deprecate chaining `by`, `by_at_least`, `by_at_most` or `to` off of
508
+ `expect { }.not_to change { }`. The docs have always said these are
509
+ not supported for the negative form but now they explicitly raise
510
+ errors in RSpec 3. (Myron Marston)
511
+ * Change the semantics of `expect { }.not_to change { x }.from(y)`.
512
+ In RSpec 2.x, this expectation would only fail if `x` started with
513
+ the value of `y` and changed. If it started with a different value
514
+ and changed, it would pass. In RSpec 3, it will pass only if the
515
+ value starts at `y` and it does not change. (Myron Marston)
516
+ * Deprecate `matcher == value` as an alias for `matcher.matches?(value)`,
517
+ in favor of `matcher === value`. (Myron Marston)
518
+ * Deprecate `RSpec::Matchers::OperatorMatcher` in favor of
519
+ `RSpec::Matchers::BuiltIn::OperatorMatcher`. (Myron Marston)
520
+ * Deprecate auto-integration with Test::Unit and minitest.
521
+ Instead, include `RSpec::Matchers` in the appropriate test case
522
+ base class yourself. (Myron Marston)
523
+ * Deprecate treating `#expected` on a DSL-generated custom matcher
524
+ as an array when only 1 argument is passed to the matcher method.
525
+ In RSpec 3 it will be the single value in order to make diffs
526
+ work properly. (Jon Rowe)
527
+
528
+ ### 2.99.0.beta1 / 2013-11-07
529
+ [Full Changelog](http://github.com/rspec/rspec-expectations/compare/v2.14.4...v2.99.0.beta1)
530
+
531
+ Deprecations
532
+
533
+ * Deprecate `have`, `have_at_least` and `have_at_most`. You can continue using those
534
+ matchers through https://github.com/rspec/rspec-collection_matchers, or
535
+ you can rewrite your expectations with something like
536
+ `expect(your_object.size).to eq(num)`. (Hugo Baraúna)
537
+ * Deprecate `be_xyz` predicate matcher when `xyz?` is a private method.
538
+ (Jon Rowe)
539
+ * Deprecate `be_true`/`be_false` in favour of `be_truthy`/`be_falsey`
540
+ (for Ruby's conditional semantics) or `be true`/`be false`
541
+ (for exact equality). (Sam Phippen)
542
+ * Deprecate calling helper methods from a custom matcher with the wrong
543
+ scope. (Myron Marston)
544
+ * `def self.foo` / `extend Helper` can be used to add macro methods
545
+ (e.g. methods that call the custom matcher DSL methods), but should
546
+ not be used to define helper methods called from within the DSL
547
+ blocks.
548
+ * `def foo` / `include Helper` is the opposite: it's for helper methods
549
+ callable from within a DSL block, but not for defining macros.
550
+ * RSpec 2.x allowed helper methods defined either way to be used for
551
+ either purpose, but RSpec 3.0 will not.
552
+
553
+ ### 2.14.5 / 2014-02-01
554
+ [Full Changelog](http://github.com/rspec/rspec-expectations/compare/v2.14.4...v2.14.5)
555
+
556
+ Bug fixes
557
+
558
+ * Fix wrong matcher descriptions with falsey expected value
559
+ (yujinakayama)
560
+
561
+ ### 2.14.4 / 2013-11-06
562
+ [Full Changelog](http://github.com/rspec/rspec-expectations/compare/v2.14.3...v2.14.4)
563
+
564
+ Bug fixes
565
+
566
+ * Make the `match` matcher produce a diff output. (Jon Rowe, Ben Moss)
567
+ * Choose encoding for diff's more intelligently, and when all else fails fall
568
+ back to default internal encoding with replacing characters. (Jon Rowe)
569
+
570
+ ### 2.14.3 / 2013-09-22
571
+ [Full Changelog](http://github.com/rspec/rspec-expectations/compare/v2.14.2...v2.14.3)
572
+
573
+ Bug fixes
574
+
575
+ * Fix operator matchers (`should` syntax) when `method` is redefined on target.
576
+ (Brandon Turner)
577
+ * Fix diffing of hashes with object based keys. (Jon Rowe)
578
+ * Fix operator matchers (`should` syntax) when operator is defined via
579
+ `method_missing` (Jon Rowe)
580
+
581
+ ### 2.14.2 / 2013-08-14
582
+ [Full Changelog](http://github.com/rspec/rspec-expectations/compare/v2.14.1...v2.14.2)
583
+
584
+ Bug fixes
585
+
586
+ * Fix `be_<predicate>` matcher to not support operator chaining like the
587
+ `be` matcher does (e.g. `be == 5`). This led to some odd behaviors
588
+ since `be_<predicate> == anything` returned a `BeComparedTo` matcher
589
+ and was thus always truthy. This was a consequence of the implementation
590
+ (e.g. subclassing the basic `Be` matcher) and was not intended behavior.
591
+ (Myron Marston).
592
+ * Fix `change` matcher to compare using `==` in addition to `===`. This
593
+ is important for an expression like:
594
+ `expect {}.to change { a.class }.from(ClassA).to(ClassB)` because
595
+ `SomeClass === SomeClass` returns false. (Myron Marston)
596
+
597
+ ### 2.14.1 / 2013-08-08
598
+ [Full Changelog](http://github.com/rspec/rspec-expectations/compare/v2.14.0...2.14.1)
599
+
600
+ Bug fixes
601
+
602
+ * Ensure diff output uses the same encoding as the encoding of
603
+ the string being diff'd to prevent `Encoding::UndefinedConversionError`
604
+ errors (Jon Rowe).
605
+
606
+ ### 2.14.0 / 2013-07-06
607
+ [Full Changelog](http://github.com/rspec/rspec-expectations/compare/v2.14.0.rc1...v2.14.0)
608
+
609
+ Bug fixes
610
+
611
+ * Values that are not matchers use `#inspect`, rather than `#description` for
612
+ documentation output (Andy Lindeman, Sam Phippen).
613
+ * Make `expect(a).to be_within(x).percent_of(y)` work with negative y
614
+ (Katsuhiko Nishimra).
615
+ * Make the `be_predicate` matcher work as expected used with `expect{...}.to
616
+ change...` (Sam Phippen).
617
+
618
+ ### 2.14.0.rc1 / 2013-05-27
619
+ [Full Changelog](http://github.com/rspec/rspec-expectations/compare/v2.13.0...v2.14.0.rc1)
620
+
621
+ Enhancements
622
+
623
+ * Enhance `yield_control` so that you can specify an exact or relative
624
+ number of times: `expect { }.to yield_control.exactly(3).times`,
625
+ `expect { }.to yield_control.at_least(2).times`, etc (Bartek
626
+ Borkowski).
627
+ * Make the differ that is used when an expectation fails better handle arrays
628
+ by splitting each element of the array onto its own line. (Sam Phippen)
629
+ * Accept duck-typed strings that respond to `:to_str` as expectation messages.
630
+ (Toby Ovod-Everett)
631
+
632
+ Bug fixes
633
+
634
+ * Fix differ to not raise errors when dealing with differently-encoded
635
+ strings (Jon Rowe).
636
+ * Fix `expect(something).to be_within(x).percent_of(y)` where x and y are both
637
+ integers (Sam Phippen).
638
+ * Fix `have` matcher to handle the fact that on ruby 2.0,
639
+ `Enumerator#size` may return nil (Kenta Murata).
640
+ * Fix `expect { raise s }.to raise_error(s)` where s is an error instance
641
+ on ruby 2.0 (Sam Phippen).
642
+ * Fix `expect(object).to raise_error` passing. This now warns the user and
643
+ fails the spec (tomykaira).
644
+
645
+ Deprecations
646
+
647
+ * Deprecate `expect { }.not_to raise_error(SpecificErrorClass)` or
648
+ `expect { }.not_to raise_error("some specific message")`. Using
649
+ these was prone to hiding failures as they would allow _any other
650
+ error_ to pass. (Sam Phippen and David Chelimsky)
651
+
652
+ ### 2.13.0 / 2013-02-23
653
+ [Full Changelog](http://github.com/rspec/rspec-expectations/compare/v2.12.1...v2.13.0)
654
+
655
+ Enhancements
656
+
657
+ * Add support for percent deltas to `be_within` matcher:
658
+ `expect(value).to be_within(10).percent_of(expected)`
659
+ (Myron Marston).
660
+ * Add support to `include` matcher to allow it to be given a list
661
+ of matchers as the expecteds to match against (Luke Redpath).
662
+
663
+ Bug fixes
664
+
665
+ * Fix `change` matcher so that it dups strings in order to handle
666
+ mutated strings (Myron Marston).
667
+ * Fix `should be =~ /some regex/` / `expect(...).to be =~ /some regex/`.
668
+ Previously, these either failed with a confusing `undefined method
669
+ matches?' for false:FalseClass` error or were no-ops that didn't
670
+ actually verify anything (Myron Marston).
671
+ * Add compatibility for diff-lcs 1.2 and relax the version
672
+ constraint (Peter Goldstein).
673
+ * Fix DSL-generated matchers to allow multiple instances of the
674
+ same matcher in the same example to have different description
675
+ and failure messages based on the expected value (Myron Marston).
676
+ * Prevent `undefined method #split for Array` error when dumping
677
+ the diff of an array of multiline strings (Myron Marston).
678
+ * Don't blow up when comparing strings that are in an encoding
679
+ that is not ASCII compatible (Myron Marston).
680
+ * Remove confusing "Check the implementation of #==" message
681
+ printed for empty diffs (Myron Marston).
682
+
683
+ ### 2.12.1 / 2012-12-15
684
+ [Full Changelog](http://github.com/rspec/rspec-expectations/compare/v2.12.0...v2.12.1)
685
+
686
+ Bug fixes
687
+
688
+ * Improve the failure message for an expression like
689
+ `{}.should =~ {}`. (Myron Marston and Andy Lindeman)
690
+ * Provide a `match_regex` alias so that custom matchers
691
+ built using the matcher DSL can use it (since `match`
692
+ is a different method in that context).
693
+ (Steven Harman)
694
+
695
+ ### 2.12.0 / 2012-11-12
696
+ [Full Changelog](http://github.com/rspec/rspec-expectations/compare/v2.11.3...v2.12.0)
697
+
698
+ Enhancements
699
+
700
+ * Colorize diffs if the `--color` option is configured. (Alex Coplan)
701
+ * Include backtraces in unexpected errors handled by `raise_error`
702
+ matcher (Myron Marston)
703
+ * Print a warning when users accidentally pass a non-string argument
704
+ as an expectation message (Sam Phippen)
705
+ * `=~` and `match_array` matchers output a more useful error message when
706
+ the actual value is not an array (or an object that responds to `#to_ary`)
707
+ (Sam Phippen)
708
+
709
+ Bug fixes
710
+
711
+ * Fix `include` matcher so that `expect({}).to include(:a => nil)`
712
+ fails as it should (Sam Phippen).
713
+ * Fix `be_an_instance_of` matcher so that `Class#to_s` is used in the
714
+ description rather than `Class#inspect`, since some classes (like
715
+ `ActiveRecord::Base`) define a long, verbose `#inspect`.
716
+ (Tom Stuart)
717
+
718
+ ### 2.11.3 / 2012-09-04
719
+ [Full Changelog](http://github.com/rspec/rspec-expectations/compare/v2.11.2...v2.11.3)
720
+
721
+ Bug fixes
722
+
723
+ * Fix (and deprecate) `expect { }.should` syntax so that it works even
724
+ though it was never a documented or intended syntax. It worked as a
725
+ consequence of the implementation of `expect` in RSpec 2.10 and
726
+ earlier. (Myron Marston)
727
+ * Ensure #== is defined on built in matchers so that they can be composed.
728
+ For example:
729
+
730
+ expect {
731
+ user.emailed!
732
+ }.to change { user.last_emailed_at }.to be_within(1.second).of(Time.zone.now)
733
+
734
+ ### 2.11.2 / 2012-07-25
735
+ [Full Changelog](http://github.com/rspec/rspec-expectations/compare/v2.11.1...v2.11.2)
736
+
737
+ Bug fixes
738
+
739
+ * Define `should` and `should_not` on `Object` rather than `BasicObject`
740
+ on MacRuby. On MacRuby, `BasicObject` is defined but is not the root
741
+ of the object hierarchy. (Gabriel Gilder)
742
+
743
+ ### 2.11.1 / 2012-07-08
744
+ [Full Changelog](http://github.com/rspec/rspec-expectations/compare/v2.11.0...v2.11.1)
745
+
746
+ Bug fixes
747
+
748
+ * Constrain `actual` in `be_within` matcher to values that respond to `-` instead
749
+ of requiring a specific type.
750
+ * `Time`, for example, is a legit alternative.
751
+
752
+ ### 2.11.0 / 2012-07-07
753
+ [Full Changelog](http://github.com/rspec/rspec-expectations/compare/v2.10.0...v2.11.0)
754
+
755
+ Enhancements
756
+
757
+ * Expand `expect` syntax so that it supports expections on bare values
758
+ in addition to blocks (Myron Marston).
759
+ * Add configuration options to control available expectation syntaxes
760
+ (Myron Marston):
761
+ * `RSpec.configuration.expect_with(:rspec) { |c| c.syntax = :expect }`
762
+ * `RSpec.configuration.expect_with(:rspec) { |c| c.syntax = :should }`
763
+ * `RSpec.configuration.expect_with(:rspec) { |c| c.syntax = [:should, :expect] }`
764
+ * `RSpec.configuration.add_should_and_should_not_to Delegator`
765
+
766
+ Bug fixes
767
+
768
+ * Allow only `Numeric` values to be the "actual" in the `be_within` matcher.
769
+ This prevents confusing error messages. (Su Zhang @zhangsu)
770
+ * Define `should` and `should_not` on `BasicObject` rather than `Kernel`
771
+ on 1.9. This makes `should` and `should_not` work properly with
772
+ `BasicObject`-subclassed proxy objects like `Delegator`. (Myron
773
+ Marston)
774
+
775
+ ### 2.10.0 / 2012-05-03
776
+ [Full Changelog](http://github.com/rspec/rspec-expectations/compare/v2.9.1...v2.10.0)
777
+
778
+ Enhancements
779
+
780
+ * Add new `start_with` and `end_with` matchers (Jeremy Wadsack)
781
+ * Add new matchers for specifying yields (Myron Marston):
782
+ * `expect {...}.to yield_control`
783
+ * `expect {...}.to yield_with_args(1, 2, 3)`
784
+ * `expect {...}.to yield_with_no_args`
785
+ * `expect {...}.to yield_successive_args(1, 2, 3)`
786
+ * `match_unless_raises` takes multiple exception args
787
+
788
+ Bug fixes
789
+
790
+ * Fix `be_within` matcher to be inclusive of delta.
791
+ * Fix message-specific specs to pass on Rubinius (John Firebaugh)
792
+
793
+ ### 2.9.1 / 2012-04-03
794
+ [Full Changelog](http://github.com/rspec/rspec-expectations/compare/v2.9.0...v2.9.1)
795
+
796
+ Bug fixes
797
+
798
+ * Provide a helpful message if the diff between two objects is empty.
799
+ * Fix bug diffing single strings with multiline strings.
800
+ * Fix for error with using custom matchers inside other custom matchers
801
+ (mirasrael)
802
+ * Fix using execution context methods in nested DSL matchers (mirasrael)
803
+
804
+ ### 2.9.0 / 2012-03-17
805
+ [Full Changelog](http://github.com/rspec/rspec-expectations/compare/v2.8.0...v2.9.0)
806
+
807
+ Enhancements
808
+
809
+ * Move built-in matcher classes to RSpec::Matchers::BuiltIn to reduce pollution
810
+ of RSpec::Matchers (which is included in every example).
811
+ * Autoload files with matcher classes to improve load time.
812
+
813
+ Bug fixes
814
+
815
+ * Align `respond_to?` and `method_missing` in DSL-defined matchers.
816
+ * Clear out user-defined instance variables between invocations of DSL-defined
817
+ matchers.
818
+ * Dup the instance of a DSL generated matcher so its state is not changed by
819
+ subsequent invocations.
820
+ * Treat expected args consistently across positive and negative expectations
821
+ (thanks to Ralf Kistner for the heads up)
822
+
823
+ ### 2.8.0 / 2012-01-04
824
+
825
+ [Full Changelog](http://github.com/rspec/rspec-expectations/compare/v2.8.0.rc2...v2.8.0)
826
+
827
+ Enhancements
828
+
829
+ * Better diff output for Hash (Philippe Creux)
830
+ * Eliminate Ruby warnings (Olek Janiszewski)
831
+
832
+ ### 2.8.0.rc2 / 2011-12-19
833
+
834
+ [Full Changelog](http://github.com/rspec/rspec-expectations/compare/v2.8.0.rc1...v2.8.0.rc2)
835
+
836
+ No changes for this release. Just releasing with the other rspec gems.
837
+
838
+ ### 2.8.0.rc1 / 2011-11-06
839
+
840
+ [Full Changelog](http://github.com/rspec/rspec-expectations/compare/v2.7.0...v2.8.0.rc1)
841
+
842
+ Enhancements
843
+
844
+ * Use classes for the built-in matchers (they're faster).
845
+ * Eliminate Ruby warnings (Matijs van Zuijlen)
846
+
847
+ ### 2.7.0 / 2011-10-16
848
+
849
+ [Full Changelog](http://github.com/rspec/rspec-expectations/compare/v2.6.0...v2.7.0)
850
+
851
+ Enhancements
852
+
853
+ * `HaveMatcher` converts argument using `to_i` (Alex Bepple & Pat Maddox)
854
+ * Improved failure message for the `have_xxx` matcher (Myron Marston)
855
+ * `HaveMatcher` supports `count` (Matthew Bellantoni)
856
+ * Change matcher dups `Enumerable` before the action, supporting custom
857
+ `Enumerable` types like `CollectionProxy` in Rails (David Chelimsky)
858
+
859
+ Bug fixes
860
+
861
+ * Fix typo in `have(n).xyz` documentation (Jean Boussier)
862
+ * fix `safe_sort` for ruby 1.9.2 (`Kernel` now defines `<=>` for Object) (Peter
863
+ van Hardenberg)
864
+
865
+ ### 2.6.0 / 2011-05-12
866
+
867
+ [Full Changelog](http://github.com/rspec/rspec-expectations/compare/v2.5.0...v2.6.0)
868
+
869
+ Enhancements
870
+
871
+ * `change` matcher accepts regexps (Robert Davis)
872
+ * better descriptions for `have_xxx` matchers (Magnus Bergmark)
873
+ * `range.should cover(*values)` (Anders Furseth)
874
+
875
+ Bug fixes
876
+
877
+ * Removed non-ascii characters that were choking rcov (Geoffrey Byers)
878
+ * change matcher dups arrays and hashes so their before/after states can be
879
+ compared correctly.
880
+ * Fix the order of inclusion of RSpec::Matchers in Test::Unit::TestCase and
881
+ MiniTest::Unit::TestCase to prevent a SystemStackError (Myron Marston)
882
+
883
+ ### 2.5.0 / 2011-02-05
884
+
885
+ [Full Changelog](http://github.com/rspec/rspec-expectations/compare/v2.4.0...v2.5.0)
886
+
887
+ Enhancements
888
+
889
+ * `should exist` works with `exist?` or `exists?` (Myron Marston)
890
+ * `expect { ... }.not_to do_something` (in addition to `to_not`)
891
+
892
+ Documentation
893
+
894
+ * improved docs for raise_error matcher (James Almond)
895
+
896
+ ### 2.4.0 / 2011-01-02
897
+
898
+ [Full Changelog](http://github.com/rspec/rspec-expectations/compare/v2.3.0...v2.4.0)
899
+
900
+ No functional changes in this release, which was made to align with the
901
+ rspec-core-2.4.0 release.
902
+
903
+ Enhancements
904
+
905
+ * improved RDoc for change matcher (Jo Liss)
906
+
907
+ ### 2.3.0 / 2010-12-12
908
+
909
+ [Full Changelog](http://github.com/rspec/rspec-expectations/compare/v2.2.1...v2.3.0)
910
+
911
+ Enhancements
912
+
913
+ * diff strings when include matcher fails (Mike Sassak)
914
+
915
+ ### 2.2.0 / 2010-11-28
916
+
917
+ [Full Changelog](http://github.com/rspec/rspec-expectations/compare/v2.1.0...v2.2.0)
918
+
919
+ ### 2.1.0 / 2010-11-07
920
+
921
+ [Full Changelog](http://github.com/rspec/rspec-expectations/compare/v2.0.1...v2.1.0)
922
+
923
+ Enhancements
924
+
925
+ * `be_within(delta).of(expected)` matcher (Myron Marston)
926
+ * Lots of new Cucumber features (Myron Marston)
927
+ * Raise error if you try `should != expected` on Ruby-1.9 (Myron Marston)
928
+ * Improved failure messages from `throw_symbol` (Myron Marston)
929
+
930
+ Bug fixes
931
+
932
+ * Eliminate hard dependency on `RSpec::Core` (Myron Marston)
933
+ * `have_matcher` - use pluralize only when ActiveSupport inflections are indeed
934
+ defined (Josep M Bach)
935
+ * throw_symbol matcher no longer swallows exceptions (Myron Marston)
936
+ * fix matcher chaining to avoid name collisions (Myron Marston)
937
+
938
+ ### 2.0.0 / 2010-10-10
939
+
940
+ [Full Changelog](http://github.com/rspec/rspec-expectations/compare/v2.0.0.rc...v2.0.0)
941
+
942
+ Enhancements
943
+
944
+ * Add match_for_should_not method to matcher DSL (Myron Marston)
945
+
946
+ Bug fixes
947
+
948
+ * `respond_to` matcher works correctly with `should_not` with multiple methods
949
+ (Myron Marston)
950
+ * `include` matcher works correctly with `should_not` with multiple values
951
+ (Myron Marston)
952
+
953
+ ### 2.0.0.rc / 2010-10-05
954
+
955
+ [Full Changelog](http://github.com/rspec/rspec-expectations/compare/v2.0.0.beta.22...v2.0.0.rc)
956
+
957
+ Enhancements
958
+
959
+ * `require 'rspec/expectations'` in a T::U or MiniUnit suite (Josep M. Bach)
960
+
961
+ Bug fixes
962
+
963
+ * change by 0 passes/fails correctly (Len Smith)
964
+ * Add description to satisfy matcher
965
+
966
+ ### 2.0.0.beta.22 / 2010-09-12
967
+
968
+ [Full Changelog](http://github.com/rspec/rspec-expectations/compare/v2.0.0.beta.20...v2.0.0.beta.22)
969
+
970
+ Enhancements
971
+
972
+ * diffing improvements
973
+ * diff multiline strings
974
+ * don't diff single line strings
975
+ * don't diff numbers (silly)
976
+ * diff regexp + multiline string
977
+
978
+ Bug fixes
979
+ * `should[_not]` change now handles boolean values correctly