cloudsmith-api 0.53.79 → 0.54.15

Sign up to get free protection for your applications and to get access to all the features.
Files changed (442) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile.lock +14 -14
  3. data/README.md +13 -9
  4. data/build.json +1 -1
  5. data/docs/AlpinePackageUpload.md +4 -0
  6. data/docs/ConanPackageUpload.md +4 -0
  7. data/docs/MavenPackageUpload.md +4 -0
  8. data/docs/MetricsApi.md +71 -4
  9. data/docs/Package.md +4 -0
  10. data/docs/PackageCopy.md +4 -0
  11. data/docs/PackageMove.md +4 -0
  12. data/docs/PackagesApi.md +72 -3
  13. data/docs/PackagesCopy.md +1 -0
  14. data/docs/PackagesMove.md +1 -0
  15. data/docs/PackagesResync.md +8 -0
  16. data/docs/PackagesScan.md +8 -0
  17. data/docs/PackagesTag.md +1 -0
  18. data/docs/PackagesUploadAlpine.md +1 -0
  19. data/docs/PackagesUploadCargo.md +1 -0
  20. data/docs/PackagesUploadCocoapods.md +1 -0
  21. data/docs/PackagesUploadComposer.md +1 -0
  22. data/docs/PackagesUploadConan.md +1 -0
  23. data/docs/PackagesUploadCran.md +1 -0
  24. data/docs/PackagesUploadDart.md +1 -0
  25. data/docs/PackagesUploadDeb.md +1 -0
  26. data/docs/PackagesUploadDocker.md +1 -0
  27. data/docs/PackagesUploadGo.md +1 -0
  28. data/docs/PackagesUploadHelm.md +1 -0
  29. data/docs/PackagesUploadLuarocks.md +1 -0
  30. data/docs/PackagesUploadMaven.md +1 -0
  31. data/docs/PackagesUploadNpm.md +1 -0
  32. data/docs/PackagesUploadNuget.md +1 -0
  33. data/docs/PackagesUploadPython.md +1 -0
  34. data/docs/PackagesUploadRaw.md +1 -0
  35. data/docs/PackagesUploadRpm.md +1 -0
  36. data/docs/PackagesUploadRuby.md +1 -0
  37. data/docs/PackagesUploadTerraform.md +1 -0
  38. data/docs/PackagesUploadVagrant.md +1 -0
  39. data/docs/PackagesValidateuploadAlpine.md +1 -0
  40. data/docs/PackagesValidateuploadCargo.md +1 -0
  41. data/docs/PackagesValidateuploadCocoapods.md +1 -0
  42. data/docs/PackagesValidateuploadComposer.md +1 -0
  43. data/docs/PackagesValidateuploadConan.md +1 -0
  44. data/docs/PackagesValidateuploadCran.md +1 -0
  45. data/docs/PackagesValidateuploadDart.md +1 -0
  46. data/docs/PackagesValidateuploadDeb.md +1 -0
  47. data/docs/PackagesValidateuploadDocker.md +1 -0
  48. data/docs/PackagesValidateuploadGo.md +1 -0
  49. data/docs/PackagesValidateuploadHelm.md +1 -0
  50. data/docs/PackagesValidateuploadLuarocks.md +1 -0
  51. data/docs/PackagesValidateuploadMaven.md +1 -0
  52. data/docs/PackagesValidateuploadNpm.md +1 -0
  53. data/docs/PackagesValidateuploadNuget.md +1 -0
  54. data/docs/PackagesValidateuploadPython.md +1 -0
  55. data/docs/PackagesValidateuploadRaw.md +1 -0
  56. data/docs/PackagesValidateuploadRpm.md +1 -0
  57. data/docs/PackagesValidateuploadRuby.md +1 -0
  58. data/docs/PackagesValidateuploadTerraform.md +1 -0
  59. data/docs/PackagesValidateuploadVagrant.md +1 -0
  60. data/docs/RawPackageUpload.md +4 -0
  61. data/docs/VagrantPackageUpload.md +4 -0
  62. data/docs/VulnerabilitiesApi.md +22 -22
  63. data/lib/cloudsmith-api.rb +2 -0
  64. data/lib/cloudsmith-api/api/metrics_api.rb +73 -7
  65. data/lib/cloudsmith-api/api/packages_api.rb +72 -1
  66. data/lib/cloudsmith-api/api/vulnerabilities_api.rb +22 -22
  67. data/lib/cloudsmith-api/models/alpine_package_upload.rb +41 -1
  68. data/lib/cloudsmith-api/models/conan_package_upload.rb +41 -1
  69. data/lib/cloudsmith-api/models/maven_package_upload.rb +41 -1
  70. data/lib/cloudsmith-api/models/package.rb +41 -1
  71. data/lib/cloudsmith-api/models/package_copy.rb +41 -1
  72. data/lib/cloudsmith-api/models/package_move.rb +41 -1
  73. data/lib/cloudsmith-api/models/packages_copy.rb +14 -4
  74. data/lib/cloudsmith-api/models/packages_move.rb +14 -4
  75. data/lib/cloudsmith-api/models/packages_resync.rb +189 -0
  76. data/lib/cloudsmith-api/models/packages_scan.rb +189 -0
  77. data/lib/cloudsmith-api/models/packages_tag.rb +11 -1
  78. data/lib/cloudsmith-api/models/packages_upload_alpine.rb +11 -1
  79. data/lib/cloudsmith-api/models/packages_upload_cargo.rb +11 -1
  80. data/lib/cloudsmith-api/models/packages_upload_cocoapods.rb +11 -1
  81. data/lib/cloudsmith-api/models/packages_upload_composer.rb +11 -1
  82. data/lib/cloudsmith-api/models/packages_upload_conan.rb +11 -1
  83. data/lib/cloudsmith-api/models/packages_upload_cran.rb +11 -1
  84. data/lib/cloudsmith-api/models/packages_upload_dart.rb +11 -1
  85. data/lib/cloudsmith-api/models/packages_upload_deb.rb +11 -1
  86. data/lib/cloudsmith-api/models/packages_upload_docker.rb +11 -1
  87. data/lib/cloudsmith-api/models/packages_upload_go.rb +11 -1
  88. data/lib/cloudsmith-api/models/packages_upload_helm.rb +11 -1
  89. data/lib/cloudsmith-api/models/packages_upload_luarocks.rb +11 -1
  90. data/lib/cloudsmith-api/models/packages_upload_maven.rb +11 -1
  91. data/lib/cloudsmith-api/models/packages_upload_npm.rb +11 -1
  92. data/lib/cloudsmith-api/models/packages_upload_nuget.rb +11 -1
  93. data/lib/cloudsmith-api/models/packages_upload_python.rb +11 -1
  94. data/lib/cloudsmith-api/models/packages_upload_raw.rb +11 -1
  95. data/lib/cloudsmith-api/models/packages_upload_rpm.rb +11 -1
  96. data/lib/cloudsmith-api/models/packages_upload_ruby.rb +11 -1
  97. data/lib/cloudsmith-api/models/packages_upload_terraform.rb +11 -1
  98. data/lib/cloudsmith-api/models/packages_upload_vagrant.rb +11 -1
  99. data/lib/cloudsmith-api/models/packages_validateupload_alpine.rb +11 -1
  100. data/lib/cloudsmith-api/models/packages_validateupload_cargo.rb +11 -1
  101. data/lib/cloudsmith-api/models/packages_validateupload_cocoapods.rb +11 -1
  102. data/lib/cloudsmith-api/models/packages_validateupload_composer.rb +11 -1
  103. data/lib/cloudsmith-api/models/packages_validateupload_conan.rb +11 -1
  104. data/lib/cloudsmith-api/models/packages_validateupload_cran.rb +11 -1
  105. data/lib/cloudsmith-api/models/packages_validateupload_dart.rb +11 -1
  106. data/lib/cloudsmith-api/models/packages_validateupload_deb.rb +11 -1
  107. data/lib/cloudsmith-api/models/packages_validateupload_docker.rb +11 -1
  108. data/lib/cloudsmith-api/models/packages_validateupload_go.rb +11 -1
  109. data/lib/cloudsmith-api/models/packages_validateupload_helm.rb +11 -1
  110. data/lib/cloudsmith-api/models/packages_validateupload_luarocks.rb +11 -1
  111. data/lib/cloudsmith-api/models/packages_validateupload_maven.rb +11 -1
  112. data/lib/cloudsmith-api/models/packages_validateupload_npm.rb +11 -1
  113. data/lib/cloudsmith-api/models/packages_validateupload_nuget.rb +11 -1
  114. data/lib/cloudsmith-api/models/packages_validateupload_python.rb +11 -1
  115. data/lib/cloudsmith-api/models/packages_validateupload_raw.rb +11 -1
  116. data/lib/cloudsmith-api/models/packages_validateupload_rpm.rb +11 -1
  117. data/lib/cloudsmith-api/models/packages_validateupload_ruby.rb +11 -1
  118. data/lib/cloudsmith-api/models/packages_validateupload_terraform.rb +11 -1
  119. data/lib/cloudsmith-api/models/packages_validateupload_vagrant.rb +11 -1
  120. data/lib/cloudsmith-api/models/raw_package_upload.rb +41 -1
  121. data/lib/cloudsmith-api/models/vagrant_package_upload.rb +41 -1
  122. data/lib/cloudsmith-api/version.rb +1 -1
  123. data/spec/api/metrics_api_spec.rb +18 -1
  124. data/spec/api/packages_api_spec.rb +16 -0
  125. data/spec/api/vulnerabilities_api_spec.rb +11 -11
  126. data/spec/models/alpine_package_upload_spec.rb +24 -0
  127. data/spec/models/conan_package_upload_spec.rb +24 -0
  128. data/spec/models/maven_package_upload_spec.rb +24 -0
  129. data/spec/models/package_copy_spec.rb +24 -0
  130. data/spec/models/package_move_spec.rb +24 -0
  131. data/spec/models/package_spec.rb +24 -0
  132. data/spec/models/packages_copy_spec.rb +6 -0
  133. data/spec/models/packages_move_spec.rb +6 -0
  134. data/spec/models/packages_resync_spec.rb +42 -0
  135. data/spec/models/packages_scan_spec.rb +42 -0
  136. data/spec/models/packages_tag_spec.rb +6 -0
  137. data/spec/models/packages_upload_alpine_spec.rb +6 -0
  138. data/spec/models/packages_upload_cargo_spec.rb +6 -0
  139. data/spec/models/packages_upload_cocoapods_spec.rb +6 -0
  140. data/spec/models/packages_upload_composer_spec.rb +6 -0
  141. data/spec/models/packages_upload_conan_spec.rb +6 -0
  142. data/spec/models/packages_upload_cran_spec.rb +6 -0
  143. data/spec/models/packages_upload_dart_spec.rb +6 -0
  144. data/spec/models/packages_upload_deb_spec.rb +6 -0
  145. data/spec/models/packages_upload_docker_spec.rb +6 -0
  146. data/spec/models/packages_upload_go_spec.rb +6 -0
  147. data/spec/models/packages_upload_helm_spec.rb +6 -0
  148. data/spec/models/packages_upload_luarocks_spec.rb +6 -0
  149. data/spec/models/packages_upload_maven_spec.rb +6 -0
  150. data/spec/models/packages_upload_npm_spec.rb +6 -0
  151. data/spec/models/packages_upload_nuget_spec.rb +6 -0
  152. data/spec/models/packages_upload_python_spec.rb +6 -0
  153. data/spec/models/packages_upload_raw_spec.rb +6 -0
  154. data/spec/models/packages_upload_rpm_spec.rb +6 -0
  155. data/spec/models/packages_upload_ruby_spec.rb +6 -0
  156. data/spec/models/packages_upload_terraform_spec.rb +6 -0
  157. data/spec/models/packages_upload_vagrant_spec.rb +6 -0
  158. data/spec/models/packages_validateupload_alpine_spec.rb +6 -0
  159. data/spec/models/packages_validateupload_cargo_spec.rb +6 -0
  160. data/spec/models/packages_validateupload_cocoapods_spec.rb +6 -0
  161. data/spec/models/packages_validateupload_composer_spec.rb +6 -0
  162. data/spec/models/packages_validateupload_conan_spec.rb +6 -0
  163. data/spec/models/packages_validateupload_cran_spec.rb +6 -0
  164. data/spec/models/packages_validateupload_dart_spec.rb +6 -0
  165. data/spec/models/packages_validateupload_deb_spec.rb +6 -0
  166. data/spec/models/packages_validateupload_docker_spec.rb +6 -0
  167. data/spec/models/packages_validateupload_go_spec.rb +6 -0
  168. data/spec/models/packages_validateupload_helm_spec.rb +6 -0
  169. data/spec/models/packages_validateupload_luarocks_spec.rb +6 -0
  170. data/spec/models/packages_validateupload_maven_spec.rb +6 -0
  171. data/spec/models/packages_validateupload_npm_spec.rb +6 -0
  172. data/spec/models/packages_validateupload_nuget_spec.rb +6 -0
  173. data/spec/models/packages_validateupload_python_spec.rb +6 -0
  174. data/spec/models/packages_validateupload_raw_spec.rb +6 -0
  175. data/spec/models/packages_validateupload_rpm_spec.rb +6 -0
  176. data/spec/models/packages_validateupload_ruby_spec.rb +6 -0
  177. data/spec/models/packages_validateupload_terraform_spec.rb +6 -0
  178. data/spec/models/packages_validateupload_vagrant_spec.rb +6 -0
  179. data/spec/models/raw_package_upload_spec.rb +24 -0
  180. data/spec/models/vagrant_package_upload_spec.rb +24 -0
  181. data/vendor/bundle/ruby/2.6.0/cache/rspec-3.10.0.gem +0 -0
  182. data/vendor/bundle/ruby/2.6.0/cache/rspec-core-3.10.0.gem +0 -0
  183. data/vendor/bundle/ruby/2.6.0/cache/rspec-expectations-3.10.0.gem +0 -0
  184. data/vendor/bundle/ruby/2.6.0/cache/rspec-mocks-3.10.0.gem +0 -0
  185. data/vendor/bundle/ruby/2.6.0/cache/rspec-support-3.10.0.gem +0 -0
  186. data/vendor/bundle/ruby/2.6.0/cache/sys-uname-1.2.2.gem +0 -0
  187. data/vendor/bundle/ruby/2.6.0/extensions/x86_64-linux/2.6.0/autotest-fsevent-0.2.17/gem_make.out +1 -1
  188. data/vendor/bundle/ruby/2.6.0/extensions/x86_64-linux/2.6.0/ffi-1.13.1/gem_make.out +2 -2
  189. data/vendor/bundle/ruby/2.6.0/extensions/x86_64-linux/2.6.0/json-2.3.1/gem_make.out +1 -1
  190. data/vendor/bundle/ruby/2.6.0/gems/ffi-1.13.1/ext/ffi_c/Makefile +3 -3
  191. data/vendor/bundle/ruby/2.6.0/gems/{rspec-3.9.0 → rspec-3.10.0}/LICENSE.md +0 -0
  192. data/vendor/bundle/ruby/2.6.0/gems/{rspec-3.9.0 → rspec-3.10.0}/README.md +0 -0
  193. data/vendor/bundle/ruby/2.6.0/gems/{rspec-3.9.0 → rspec-3.10.0}/lib/rspec.rb +0 -0
  194. data/vendor/bundle/ruby/2.6.0/gems/{rspec-3.9.0 → rspec-3.10.0}/lib/rspec/version.rb +1 -1
  195. data/vendor/bundle/ruby/2.6.0/gems/{rspec-core-3.9.3 → rspec-core-3.10.0}/.document +0 -0
  196. data/vendor/bundle/ruby/2.6.0/gems/{rspec-core-3.9.3 → rspec-core-3.10.0}/.yardopts +0 -0
  197. data/vendor/bundle/ruby/2.6.0/gems/{rspec-core-3.9.3 → rspec-core-3.10.0}/Changelog.md +10 -0
  198. data/vendor/bundle/ruby/2.6.0/gems/{rspec-core-3.9.3 → rspec-core-3.10.0}/LICENSE.md +0 -0
  199. data/vendor/bundle/ruby/2.6.0/gems/{rspec-core-3.9.3 → rspec-core-3.10.0}/README.md +0 -0
  200. data/vendor/bundle/ruby/2.6.0/gems/{rspec-core-3.9.3 → rspec-core-3.10.0}/exe/rspec +0 -0
  201. data/vendor/bundle/ruby/2.6.0/gems/{rspec-core-3.9.3 → rspec-core-3.10.0}/lib/rspec/autorun.rb +0 -0
  202. data/vendor/bundle/ruby/2.6.0/gems/{rspec-core-3.9.3 → rspec-core-3.10.0}/lib/rspec/core.rb +0 -0
  203. data/vendor/bundle/ruby/2.6.0/gems/{rspec-core-3.9.3 → rspec-core-3.10.0}/lib/rspec/core/backtrace_formatter.rb +0 -0
  204. data/vendor/bundle/ruby/2.6.0/gems/{rspec-core-3.9.3 → rspec-core-3.10.0}/lib/rspec/core/bisect/coordinator.rb +0 -0
  205. data/vendor/bundle/ruby/2.6.0/gems/{rspec-core-3.9.3 → rspec-core-3.10.0}/lib/rspec/core/bisect/example_minimizer.rb +0 -0
  206. data/vendor/bundle/ruby/2.6.0/gems/{rspec-core-3.9.3 → rspec-core-3.10.0}/lib/rspec/core/bisect/fork_runner.rb +0 -0
  207. data/vendor/bundle/ruby/2.6.0/gems/{rspec-core-3.9.3 → rspec-core-3.10.0}/lib/rspec/core/bisect/server.rb +0 -0
  208. data/vendor/bundle/ruby/2.6.0/gems/{rspec-core-3.9.3 → rspec-core-3.10.0}/lib/rspec/core/bisect/shell_command.rb +0 -0
  209. data/vendor/bundle/ruby/2.6.0/gems/{rspec-core-3.9.3 → rspec-core-3.10.0}/lib/rspec/core/bisect/shell_runner.rb +0 -0
  210. data/vendor/bundle/ruby/2.6.0/gems/{rspec-core-3.9.3 → rspec-core-3.10.0}/lib/rspec/core/bisect/utilities.rb +0 -0
  211. data/vendor/bundle/ruby/2.6.0/gems/{rspec-core-3.9.3 → rspec-core-3.10.0}/lib/rspec/core/configuration.rb +6 -0
  212. data/vendor/bundle/ruby/2.6.0/gems/{rspec-core-3.9.3 → rspec-core-3.10.0}/lib/rspec/core/configuration_options.rb +0 -0
  213. data/vendor/bundle/ruby/2.6.0/gems/{rspec-core-3.9.3 → rspec-core-3.10.0}/lib/rspec/core/did_you_mean.rb +0 -0
  214. data/vendor/bundle/ruby/2.6.0/gems/{rspec-core-3.9.3 → rspec-core-3.10.0}/lib/rspec/core/drb.rb +7 -0
  215. data/vendor/bundle/ruby/2.6.0/gems/{rspec-core-3.9.3 → rspec-core-3.10.0}/lib/rspec/core/dsl.rb +0 -0
  216. data/vendor/bundle/ruby/2.6.0/gems/{rspec-core-3.9.3 → rspec-core-3.10.0}/lib/rspec/core/example.rb +0 -0
  217. data/vendor/bundle/ruby/2.6.0/gems/{rspec-core-3.9.3 → rspec-core-3.10.0}/lib/rspec/core/example_group.rb +0 -0
  218. data/vendor/bundle/ruby/2.6.0/gems/{rspec-core-3.9.3 → rspec-core-3.10.0}/lib/rspec/core/example_status_persister.rb +0 -0
  219. data/vendor/bundle/ruby/2.6.0/gems/{rspec-core-3.9.3 → rspec-core-3.10.0}/lib/rspec/core/filter_manager.rb +0 -0
  220. data/vendor/bundle/ruby/2.6.0/gems/{rspec-core-3.9.3 → rspec-core-3.10.0}/lib/rspec/core/flat_map.rb +0 -0
  221. data/vendor/bundle/ruby/2.6.0/gems/{rspec-core-3.9.3 → rspec-core-3.10.0}/lib/rspec/core/formatters.rb +0 -0
  222. data/vendor/bundle/ruby/2.6.0/gems/{rspec-core-3.9.3 → rspec-core-3.10.0}/lib/rspec/core/formatters/base_bisect_formatter.rb +0 -0
  223. data/vendor/bundle/ruby/2.6.0/gems/{rspec-core-3.9.3 → rspec-core-3.10.0}/lib/rspec/core/formatters/base_formatter.rb +0 -0
  224. data/vendor/bundle/ruby/2.6.0/gems/{rspec-core-3.9.3 → rspec-core-3.10.0}/lib/rspec/core/formatters/base_text_formatter.rb +0 -0
  225. data/vendor/bundle/ruby/2.6.0/gems/{rspec-core-3.9.3 → rspec-core-3.10.0}/lib/rspec/core/formatters/bisect_drb_formatter.rb +0 -0
  226. data/vendor/bundle/ruby/2.6.0/gems/{rspec-core-3.9.3 → rspec-core-3.10.0}/lib/rspec/core/formatters/bisect_progress_formatter.rb +0 -0
  227. data/vendor/bundle/ruby/2.6.0/gems/{rspec-core-3.9.3 → rspec-core-3.10.0}/lib/rspec/core/formatters/console_codes.rb +0 -0
  228. data/vendor/bundle/ruby/2.6.0/gems/{rspec-core-3.9.3 → rspec-core-3.10.0}/lib/rspec/core/formatters/deprecation_formatter.rb +0 -0
  229. data/vendor/bundle/ruby/2.6.0/gems/{rspec-core-3.9.3 → rspec-core-3.10.0}/lib/rspec/core/formatters/documentation_formatter.rb +0 -0
  230. data/vendor/bundle/ruby/2.6.0/gems/{rspec-core-3.9.3 → rspec-core-3.10.0}/lib/rspec/core/formatters/exception_presenter.rb +7 -5
  231. data/vendor/bundle/ruby/2.6.0/gems/{rspec-core-3.9.3 → rspec-core-3.10.0}/lib/rspec/core/formatters/failure_list_formatter.rb +0 -0
  232. data/vendor/bundle/ruby/2.6.0/gems/{rspec-core-3.9.3 → rspec-core-3.10.0}/lib/rspec/core/formatters/fallback_message_formatter.rb +0 -0
  233. data/vendor/bundle/ruby/2.6.0/gems/{rspec-core-3.9.3 → rspec-core-3.10.0}/lib/rspec/core/formatters/helpers.rb +0 -0
  234. data/vendor/bundle/ruby/2.6.0/gems/{rspec-core-3.9.3 → rspec-core-3.10.0}/lib/rspec/core/formatters/html_formatter.rb +0 -0
  235. data/vendor/bundle/ruby/2.6.0/gems/{rspec-core-3.9.3 → rspec-core-3.10.0}/lib/rspec/core/formatters/html_printer.rb +0 -0
  236. data/vendor/bundle/ruby/2.6.0/gems/{rspec-core-3.9.3 → rspec-core-3.10.0}/lib/rspec/core/formatters/html_snippet_extractor.rb +0 -0
  237. data/vendor/bundle/ruby/2.6.0/gems/{rspec-core-3.9.3 → rspec-core-3.10.0}/lib/rspec/core/formatters/json_formatter.rb +0 -0
  238. data/vendor/bundle/ruby/2.6.0/gems/{rspec-core-3.9.3 → rspec-core-3.10.0}/lib/rspec/core/formatters/profile_formatter.rb +0 -0
  239. data/vendor/bundle/ruby/2.6.0/gems/{rspec-core-3.9.3 → rspec-core-3.10.0}/lib/rspec/core/formatters/progress_formatter.rb +0 -0
  240. data/vendor/bundle/ruby/2.6.0/gems/{rspec-core-3.9.3 → rspec-core-3.10.0}/lib/rspec/core/formatters/protocol.rb +0 -0
  241. data/vendor/bundle/ruby/2.6.0/gems/{rspec-core-3.9.3 → rspec-core-3.10.0}/lib/rspec/core/formatters/snippet_extractor.rb +0 -0
  242. data/vendor/bundle/ruby/2.6.0/gems/{rspec-core-3.9.3 → rspec-core-3.10.0}/lib/rspec/core/formatters/syntax_highlighter.rb +0 -0
  243. data/vendor/bundle/ruby/2.6.0/gems/{rspec-core-3.9.3 → rspec-core-3.10.0}/lib/rspec/core/hooks.rb +0 -0
  244. data/vendor/bundle/ruby/2.6.0/gems/{rspec-core-3.9.3 → rspec-core-3.10.0}/lib/rspec/core/invocations.rb +1 -1
  245. data/vendor/bundle/ruby/2.6.0/gems/{rspec-core-3.9.3 → rspec-core-3.10.0}/lib/rspec/core/memoized_helpers.rb +0 -0
  246. data/vendor/bundle/ruby/2.6.0/gems/{rspec-core-3.9.3 → rspec-core-3.10.0}/lib/rspec/core/metadata.rb +0 -0
  247. data/vendor/bundle/ruby/2.6.0/gems/{rspec-core-3.9.3 → rspec-core-3.10.0}/lib/rspec/core/metadata_filter.rb +0 -0
  248. data/vendor/bundle/ruby/2.6.0/gems/{rspec-core-3.9.3 → rspec-core-3.10.0}/lib/rspec/core/minitest_assertions_adapter.rb +0 -0
  249. data/vendor/bundle/ruby/2.6.0/gems/{rspec-core-3.9.3 → rspec-core-3.10.0}/lib/rspec/core/mocking_adapters/flexmock.rb +0 -0
  250. data/vendor/bundle/ruby/2.6.0/gems/{rspec-core-3.9.3 → rspec-core-3.10.0}/lib/rspec/core/mocking_adapters/mocha.rb +0 -0
  251. data/vendor/bundle/ruby/2.6.0/gems/{rspec-core-3.9.3 → rspec-core-3.10.0}/lib/rspec/core/mocking_adapters/null.rb +0 -0
  252. data/vendor/bundle/ruby/2.6.0/gems/{rspec-core-3.9.3 → rspec-core-3.10.0}/lib/rspec/core/mocking_adapters/rr.rb +0 -0
  253. data/vendor/bundle/ruby/2.6.0/gems/{rspec-core-3.9.3 → rspec-core-3.10.0}/lib/rspec/core/mocking_adapters/rspec.rb +0 -0
  254. data/vendor/bundle/ruby/2.6.0/gems/{rspec-core-3.9.3 → rspec-core-3.10.0}/lib/rspec/core/notifications.rb +0 -0
  255. data/vendor/bundle/ruby/2.6.0/gems/{rspec-core-3.9.3 → rspec-core-3.10.0}/lib/rspec/core/option_parser.rb +5 -0
  256. data/vendor/bundle/ruby/2.6.0/gems/{rspec-core-3.9.3 → rspec-core-3.10.0}/lib/rspec/core/ordering.rb +0 -0
  257. data/vendor/bundle/ruby/2.6.0/gems/{rspec-core-3.9.3 → rspec-core-3.10.0}/lib/rspec/core/output_wrapper.rb +0 -0
  258. data/vendor/bundle/ruby/2.6.0/gems/{rspec-core-3.9.3 → rspec-core-3.10.0}/lib/rspec/core/pending.rb +0 -0
  259. data/vendor/bundle/ruby/2.6.0/gems/{rspec-core-3.9.3 → rspec-core-3.10.0}/lib/rspec/core/profiler.rb +0 -0
  260. data/vendor/bundle/ruby/2.6.0/gems/{rspec-core-3.9.3 → rspec-core-3.10.0}/lib/rspec/core/project_initializer.rb +0 -0
  261. data/vendor/bundle/ruby/2.6.0/gems/{rspec-core-3.9.3 → rspec-core-3.10.0}/lib/rspec/core/project_initializer/.rspec +0 -0
  262. data/vendor/bundle/ruby/2.6.0/gems/{rspec-core-3.9.3 → rspec-core-3.10.0}/lib/rspec/core/project_initializer/spec/spec_helper.rb +0 -0
  263. data/vendor/bundle/ruby/2.6.0/gems/{rspec-core-3.9.3 → rspec-core-3.10.0}/lib/rspec/core/rake_task.rb +0 -0
  264. data/vendor/bundle/ruby/2.6.0/gems/{rspec-core-3.9.3 → rspec-core-3.10.0}/lib/rspec/core/reporter.rb +0 -0
  265. data/vendor/bundle/ruby/2.6.0/gems/{rspec-core-3.9.3 → rspec-core-3.10.0}/lib/rspec/core/ruby_project.rb +0 -0
  266. data/vendor/bundle/ruby/2.6.0/gems/{rspec-core-3.9.3 → rspec-core-3.10.0}/lib/rspec/core/runner.rb +12 -4
  267. data/vendor/bundle/ruby/2.6.0/gems/{rspec-core-3.9.3 → rspec-core-3.10.0}/lib/rspec/core/sandbox.rb +0 -0
  268. data/vendor/bundle/ruby/2.6.0/gems/{rspec-core-3.9.3 → rspec-core-3.10.0}/lib/rspec/core/set.rb +0 -0
  269. data/vendor/bundle/ruby/2.6.0/gems/{rspec-core-3.9.3 → rspec-core-3.10.0}/lib/rspec/core/shared_context.rb +0 -0
  270. data/vendor/bundle/ruby/2.6.0/gems/{rspec-core-3.9.3 → rspec-core-3.10.0}/lib/rspec/core/shared_example_group.rb +0 -0
  271. data/vendor/bundle/ruby/2.6.0/gems/{rspec-core-3.9.3 → rspec-core-3.10.0}/lib/rspec/core/shell_escape.rb +0 -0
  272. data/vendor/bundle/ruby/2.6.0/gems/{rspec-core-3.9.3 → rspec-core-3.10.0}/lib/rspec/core/test_unit_assertions_adapter.rb +0 -0
  273. data/vendor/bundle/ruby/2.6.0/gems/{rspec-core-3.9.3 → rspec-core-3.10.0}/lib/rspec/core/version.rb +1 -1
  274. data/vendor/bundle/ruby/2.6.0/gems/{rspec-core-3.9.3 → rspec-core-3.10.0}/lib/rspec/core/warnings.rb +0 -0
  275. data/vendor/bundle/ruby/2.6.0/gems/{rspec-core-3.9.3 → rspec-core-3.10.0}/lib/rspec/core/world.rb +0 -0
  276. data/vendor/bundle/ruby/2.6.0/gems/{rspec-expectations-3.9.2 → rspec-expectations-3.10.0}/.document +0 -0
  277. data/vendor/bundle/ruby/2.6.0/gems/{rspec-expectations-3.9.2 → rspec-expectations-3.10.0}/.yardopts +0 -0
  278. data/vendor/bundle/ruby/2.6.0/gems/{rspec-expectations-3.9.2 → rspec-expectations-3.10.0}/Changelog.md +43 -2
  279. data/vendor/bundle/ruby/2.6.0/gems/{rspec-expectations-3.9.2 → rspec-expectations-3.10.0}/LICENSE.md +0 -0
  280. data/vendor/bundle/ruby/2.6.0/gems/{rspec-expectations-3.9.2 → rspec-expectations-3.10.0}/README.md +4 -4
  281. data/vendor/bundle/ruby/2.6.0/gems/{rspec-expectations-3.9.2 → rspec-expectations-3.10.0}/lib/rspec/expectations.rb +0 -0
  282. data/vendor/bundle/ruby/2.6.0/gems/{rspec-expectations-3.9.2 → rspec-expectations-3.10.0}/lib/rspec/expectations/block_snippet_extractor.rb +0 -0
  283. data/vendor/bundle/ruby/2.6.0/gems/{rspec-expectations-3.9.2 → rspec-expectations-3.10.0}/lib/rspec/expectations/configuration.rb +15 -0
  284. data/vendor/bundle/ruby/2.6.0/gems/{rspec-expectations-3.9.2 → rspec-expectations-3.10.0}/lib/rspec/expectations/expectation_target.rb +0 -0
  285. data/vendor/bundle/ruby/2.6.0/gems/{rspec-expectations-3.9.2 → rspec-expectations-3.10.0}/lib/rspec/expectations/fail_with.rb +0 -0
  286. data/vendor/bundle/ruby/2.6.0/gems/{rspec-expectations-3.9.2 → rspec-expectations-3.10.0}/lib/rspec/expectations/failure_aggregator.rb +19 -1
  287. data/vendor/bundle/ruby/2.6.0/gems/{rspec-expectations-3.9.2 → rspec-expectations-3.10.0}/lib/rspec/expectations/handler.rb +18 -6
  288. data/vendor/bundle/ruby/2.6.0/gems/{rspec-expectations-3.9.2 → rspec-expectations-3.10.0}/lib/rspec/expectations/minitest_integration.rb +0 -0
  289. data/vendor/bundle/ruby/2.6.0/gems/{rspec-expectations-3.9.2 → rspec-expectations-3.10.0}/lib/rspec/expectations/syntax.rb +0 -0
  290. data/vendor/bundle/ruby/2.6.0/gems/{rspec-expectations-3.9.2 → rspec-expectations-3.10.0}/lib/rspec/expectations/version.rb +1 -1
  291. data/vendor/bundle/ruby/2.6.0/gems/{rspec-expectations-3.9.2 → rspec-expectations-3.10.0}/lib/rspec/matchers.rb +43 -40
  292. data/vendor/bundle/ruby/2.6.0/gems/{rspec-expectations-3.9.2 → rspec-expectations-3.10.0}/lib/rspec/matchers/aliased_matcher.rb +0 -0
  293. data/vendor/bundle/ruby/2.6.0/gems/{rspec-expectations-3.9.2 → rspec-expectations-3.10.0}/lib/rspec/matchers/built_in.rb +2 -1
  294. data/vendor/bundle/ruby/2.6.0/gems/{rspec-expectations-3.9.2 → rspec-expectations-3.10.0}/lib/rspec/matchers/built_in/all.rb +0 -0
  295. data/vendor/bundle/ruby/2.6.0/gems/{rspec-expectations-3.9.2 → rspec-expectations-3.10.0}/lib/rspec/matchers/built_in/base_matcher.rb +0 -0
  296. data/vendor/bundle/ruby/2.6.0/gems/{rspec-expectations-3.9.2 → rspec-expectations-3.10.0}/lib/rspec/matchers/built_in/be.rb +10 -107
  297. data/vendor/bundle/ruby/2.6.0/gems/{rspec-expectations-3.9.2 → rspec-expectations-3.10.0}/lib/rspec/matchers/built_in/be_between.rb +0 -0
  298. data/vendor/bundle/ruby/2.6.0/gems/{rspec-expectations-3.9.2 → rspec-expectations-3.10.0}/lib/rspec/matchers/built_in/be_instance_of.rb +0 -0
  299. data/vendor/bundle/ruby/2.6.0/gems/{rspec-expectations-3.9.2 → rspec-expectations-3.10.0}/lib/rspec/matchers/built_in/be_kind_of.rb +0 -0
  300. data/vendor/bundle/ruby/2.6.0/gems/{rspec-expectations-3.9.2 → rspec-expectations-3.10.0}/lib/rspec/matchers/built_in/be_within.rb +2 -2
  301. data/vendor/bundle/ruby/2.6.0/gems/{rspec-expectations-3.9.2 → rspec-expectations-3.10.0}/lib/rspec/matchers/built_in/change.rb +0 -0
  302. data/vendor/bundle/ruby/2.6.0/gems/{rspec-expectations-3.9.2 → rspec-expectations-3.10.0}/lib/rspec/matchers/built_in/compound.rb +0 -0
  303. data/vendor/bundle/ruby/2.6.0/gems/{rspec-expectations-3.9.2 → rspec-expectations-3.10.0}/lib/rspec/matchers/built_in/contain_exactly.rb +0 -0
  304. data/vendor/bundle/ruby/2.6.0/gems/rspec-expectations-3.10.0/lib/rspec/matchers/built_in/count_expectation.rb +169 -0
  305. data/vendor/bundle/ruby/2.6.0/gems/{rspec-expectations-3.9.2 → rspec-expectations-3.10.0}/lib/rspec/matchers/built_in/cover.rb +0 -0
  306. data/vendor/bundle/ruby/2.6.0/gems/{rspec-expectations-3.9.2 → rspec-expectations-3.10.0}/lib/rspec/matchers/built_in/eq.rb +0 -0
  307. data/vendor/bundle/ruby/2.6.0/gems/{rspec-expectations-3.9.2 → rspec-expectations-3.10.0}/lib/rspec/matchers/built_in/eql.rb +0 -0
  308. data/vendor/bundle/ruby/2.6.0/gems/{rspec-expectations-3.9.2 → rspec-expectations-3.10.0}/lib/rspec/matchers/built_in/equal.rb +0 -0
  309. data/vendor/bundle/ruby/2.6.0/gems/{rspec-expectations-3.9.2 → rspec-expectations-3.10.0}/lib/rspec/matchers/built_in/exist.rb +0 -0
  310. data/vendor/bundle/ruby/2.6.0/gems/rspec-expectations-3.10.0/lib/rspec/matchers/built_in/has.rb +167 -0
  311. data/vendor/bundle/ruby/2.6.0/gems/{rspec-expectations-3.9.2 → rspec-expectations-3.10.0}/lib/rspec/matchers/built_in/have_attributes.rb +0 -0
  312. data/vendor/bundle/ruby/2.6.0/gems/{rspec-expectations-3.9.2 → rspec-expectations-3.10.0}/lib/rspec/matchers/built_in/include.rb +72 -15
  313. data/vendor/bundle/ruby/2.6.0/gems/{rspec-expectations-3.9.2 → rspec-expectations-3.10.0}/lib/rspec/matchers/built_in/match.rb +0 -0
  314. data/vendor/bundle/ruby/2.6.0/gems/{rspec-expectations-3.9.2 → rspec-expectations-3.10.0}/lib/rspec/matchers/built_in/operators.rb +0 -0
  315. data/vendor/bundle/ruby/2.6.0/gems/{rspec-expectations-3.9.2 → rspec-expectations-3.10.0}/lib/rspec/matchers/built_in/output.rb +0 -0
  316. data/vendor/bundle/ruby/2.6.0/gems/{rspec-expectations-3.9.2 → rspec-expectations-3.10.0}/lib/rspec/matchers/built_in/raise_error.rb +42 -13
  317. data/vendor/bundle/ruby/2.6.0/gems/{rspec-expectations-3.9.2 → rspec-expectations-3.10.0}/lib/rspec/matchers/built_in/respond_to.rb +46 -45
  318. data/vendor/bundle/ruby/2.6.0/gems/{rspec-expectations-3.9.2 → rspec-expectations-3.10.0}/lib/rspec/matchers/built_in/satisfy.rb +0 -0
  319. data/vendor/bundle/ruby/2.6.0/gems/{rspec-expectations-3.9.2 → rspec-expectations-3.10.0}/lib/rspec/matchers/built_in/start_or_end_with.rb +0 -0
  320. data/vendor/bundle/ruby/2.6.0/gems/{rspec-expectations-3.9.2 → rspec-expectations-3.10.0}/lib/rspec/matchers/built_in/throw_symbol.rb +0 -0
  321. data/vendor/bundle/ruby/2.6.0/gems/{rspec-expectations-3.9.2 → rspec-expectations-3.10.0}/lib/rspec/matchers/built_in/yield.rb +6 -92
  322. data/vendor/bundle/ruby/2.6.0/gems/{rspec-expectations-3.9.2 → rspec-expectations-3.10.0}/lib/rspec/matchers/composable.rb +0 -0
  323. data/vendor/bundle/ruby/2.6.0/gems/{rspec-expectations-3.9.2 → rspec-expectations-3.10.0}/lib/rspec/matchers/dsl.rb +0 -0
  324. data/vendor/bundle/ruby/2.6.0/gems/{rspec-expectations-3.9.2 → rspec-expectations-3.10.0}/lib/rspec/matchers/english_phrasing.rb +1 -1
  325. data/vendor/bundle/ruby/2.6.0/gems/{rspec-expectations-3.9.2 → rspec-expectations-3.10.0}/lib/rspec/matchers/expecteds_for_multiple_diffs.rb +0 -0
  326. data/vendor/bundle/ruby/2.6.0/gems/{rspec-expectations-3.9.2 → rspec-expectations-3.10.0}/lib/rspec/matchers/fail_matchers.rb +0 -0
  327. data/vendor/bundle/ruby/2.6.0/gems/{rspec-expectations-3.9.2 → rspec-expectations-3.10.0}/lib/rspec/matchers/generated_descriptions.rb +0 -0
  328. data/vendor/bundle/ruby/2.6.0/gems/{rspec-expectations-3.9.2 → rspec-expectations-3.10.0}/lib/rspec/matchers/matcher_delegator.rb +0 -0
  329. data/vendor/bundle/ruby/2.6.0/gems/{rspec-expectations-3.9.2 → rspec-expectations-3.10.0}/lib/rspec/matchers/matcher_protocol.rb +0 -0
  330. data/vendor/bundle/ruby/2.6.0/gems/{rspec-mocks-3.9.1 → rspec-mocks-3.10.0}/.document +0 -0
  331. data/vendor/bundle/ruby/2.6.0/gems/{rspec-mocks-3.9.1 → rspec-mocks-3.10.0}/.yardopts +0 -0
  332. data/vendor/bundle/ruby/2.6.0/gems/{rspec-mocks-3.9.1 → rspec-mocks-3.10.0}/Changelog.md +10 -0
  333. data/vendor/bundle/ruby/2.6.0/gems/{rspec-mocks-3.9.1 → rspec-mocks-3.10.0}/LICENSE.md +0 -0
  334. data/vendor/bundle/ruby/2.6.0/gems/{rspec-mocks-3.9.1 → rspec-mocks-3.10.0}/README.md +5 -5
  335. data/vendor/bundle/ruby/2.6.0/gems/{rspec-mocks-3.9.1 → rspec-mocks-3.10.0}/lib/rspec/mocks.rb +4 -1
  336. data/vendor/bundle/ruby/2.6.0/gems/{rspec-mocks-3.9.1 → rspec-mocks-3.10.0}/lib/rspec/mocks/any_instance.rb +0 -0
  337. data/vendor/bundle/ruby/2.6.0/gems/{rspec-mocks-3.9.1 → rspec-mocks-3.10.0}/lib/rspec/mocks/any_instance/chain.rb +0 -0
  338. data/vendor/bundle/ruby/2.6.0/gems/{rspec-mocks-3.9.1 → rspec-mocks-3.10.0}/lib/rspec/mocks/any_instance/error_generator.rb +0 -0
  339. data/vendor/bundle/ruby/2.6.0/gems/{rspec-mocks-3.9.1 → rspec-mocks-3.10.0}/lib/rspec/mocks/any_instance/expect_chain_chain.rb +0 -0
  340. data/vendor/bundle/ruby/2.6.0/gems/{rspec-mocks-3.9.1 → rspec-mocks-3.10.0}/lib/rspec/mocks/any_instance/expectation_chain.rb +0 -0
  341. data/vendor/bundle/ruby/2.6.0/gems/{rspec-mocks-3.9.1 → rspec-mocks-3.10.0}/lib/rspec/mocks/any_instance/message_chains.rb +0 -0
  342. data/vendor/bundle/ruby/2.6.0/gems/{rspec-mocks-3.9.1 → rspec-mocks-3.10.0}/lib/rspec/mocks/any_instance/proxy.rb +0 -0
  343. data/vendor/bundle/ruby/2.6.0/gems/{rspec-mocks-3.9.1 → rspec-mocks-3.10.0}/lib/rspec/mocks/any_instance/recorder.rb +0 -0
  344. data/vendor/bundle/ruby/2.6.0/gems/{rspec-mocks-3.9.1 → rspec-mocks-3.10.0}/lib/rspec/mocks/any_instance/stub_chain.rb +0 -0
  345. data/vendor/bundle/ruby/2.6.0/gems/{rspec-mocks-3.9.1 → rspec-mocks-3.10.0}/lib/rspec/mocks/any_instance/stub_chain_chain.rb +0 -0
  346. data/vendor/bundle/ruby/2.6.0/gems/{rspec-mocks-3.9.1 → rspec-mocks-3.10.0}/lib/rspec/mocks/argument_list_matcher.rb +0 -0
  347. data/vendor/bundle/ruby/2.6.0/gems/{rspec-mocks-3.9.1 → rspec-mocks-3.10.0}/lib/rspec/mocks/argument_matchers.rb +0 -0
  348. data/vendor/bundle/ruby/2.6.0/gems/{rspec-mocks-3.9.1 → rspec-mocks-3.10.0}/lib/rspec/mocks/configuration.rb +0 -0
  349. data/vendor/bundle/ruby/2.6.0/gems/{rspec-mocks-3.9.1 → rspec-mocks-3.10.0}/lib/rspec/mocks/error_generator.rb +0 -0
  350. data/vendor/bundle/ruby/2.6.0/gems/{rspec-mocks-3.9.1 → rspec-mocks-3.10.0}/lib/rspec/mocks/example_methods.rb +0 -0
  351. data/vendor/bundle/ruby/2.6.0/gems/{rspec-mocks-3.9.1 → rspec-mocks-3.10.0}/lib/rspec/mocks/instance_method_stasher.rb +0 -0
  352. data/vendor/bundle/ruby/2.6.0/gems/{rspec-mocks-3.9.1 → rspec-mocks-3.10.0}/lib/rspec/mocks/marshal_extension.rb +0 -0
  353. data/vendor/bundle/ruby/2.6.0/gems/{rspec-mocks-3.9.1 → rspec-mocks-3.10.0}/lib/rspec/mocks/matchers/expectation_customization.rb +0 -0
  354. data/vendor/bundle/ruby/2.6.0/gems/{rspec-mocks-3.9.1 → rspec-mocks-3.10.0}/lib/rspec/mocks/matchers/have_received.rb +0 -0
  355. data/vendor/bundle/ruby/2.6.0/gems/{rspec-mocks-3.9.1 → rspec-mocks-3.10.0}/lib/rspec/mocks/matchers/receive.rb +0 -0
  356. data/vendor/bundle/ruby/2.6.0/gems/{rspec-mocks-3.9.1 → rspec-mocks-3.10.0}/lib/rspec/mocks/matchers/receive_message_chain.rb +0 -0
  357. data/vendor/bundle/ruby/2.6.0/gems/{rspec-mocks-3.9.1 → rspec-mocks-3.10.0}/lib/rspec/mocks/matchers/receive_messages.rb +0 -0
  358. data/vendor/bundle/ruby/2.6.0/gems/{rspec-mocks-3.9.1 → rspec-mocks-3.10.0}/lib/rspec/mocks/message_chain.rb +0 -0
  359. data/vendor/bundle/ruby/2.6.0/gems/{rspec-mocks-3.9.1 → rspec-mocks-3.10.0}/lib/rspec/mocks/message_expectation.rb +2 -2
  360. data/vendor/bundle/ruby/2.6.0/gems/{rspec-mocks-3.9.1 → rspec-mocks-3.10.0}/lib/rspec/mocks/method_double.rb +0 -0
  361. data/vendor/bundle/ruby/2.6.0/gems/{rspec-mocks-3.9.1 → rspec-mocks-3.10.0}/lib/rspec/mocks/method_reference.rb +0 -0
  362. data/vendor/bundle/ruby/2.6.0/gems/{rspec-mocks-3.9.1 → rspec-mocks-3.10.0}/lib/rspec/mocks/minitest_integration.rb +0 -0
  363. data/vendor/bundle/ruby/2.6.0/gems/{rspec-mocks-3.9.1 → rspec-mocks-3.10.0}/lib/rspec/mocks/mutate_const.rb +0 -0
  364. data/vendor/bundle/ruby/2.6.0/gems/{rspec-mocks-3.9.1 → rspec-mocks-3.10.0}/lib/rspec/mocks/object_reference.rb +0 -0
  365. data/vendor/bundle/ruby/2.6.0/gems/{rspec-mocks-3.9.1 → rspec-mocks-3.10.0}/lib/rspec/mocks/order_group.rb +0 -0
  366. data/vendor/bundle/ruby/2.6.0/gems/{rspec-mocks-3.9.1 → rspec-mocks-3.10.0}/lib/rspec/mocks/proxy.rb +0 -0
  367. data/vendor/bundle/ruby/2.6.0/gems/{rspec-mocks-3.9.1 → rspec-mocks-3.10.0}/lib/rspec/mocks/space.rb +0 -0
  368. data/vendor/bundle/ruby/2.6.0/gems/{rspec-mocks-3.9.1 → rspec-mocks-3.10.0}/lib/rspec/mocks/standalone.rb +0 -0
  369. data/vendor/bundle/ruby/2.6.0/gems/{rspec-mocks-3.9.1 → rspec-mocks-3.10.0}/lib/rspec/mocks/syntax.rb +0 -0
  370. data/vendor/bundle/ruby/2.6.0/gems/{rspec-mocks-3.9.1 → rspec-mocks-3.10.0}/lib/rspec/mocks/targets.rb +0 -0
  371. data/vendor/bundle/ruby/2.6.0/gems/{rspec-mocks-3.9.1 → rspec-mocks-3.10.0}/lib/rspec/mocks/test_double.rb +0 -0
  372. data/vendor/bundle/ruby/2.6.0/gems/{rspec-mocks-3.9.1 → rspec-mocks-3.10.0}/lib/rspec/mocks/verifying_double.rb +0 -0
  373. data/vendor/bundle/ruby/2.6.0/gems/{rspec-mocks-3.9.1 → rspec-mocks-3.10.0}/lib/rspec/mocks/verifying_message_expectation.rb +0 -0
  374. data/vendor/bundle/ruby/2.6.0/gems/{rspec-mocks-3.9.1 → rspec-mocks-3.10.0}/lib/rspec/mocks/verifying_proxy.rb +0 -0
  375. data/vendor/bundle/ruby/2.6.0/gems/{rspec-mocks-3.9.1 → rspec-mocks-3.10.0}/lib/rspec/mocks/version.rb +1 -1
  376. data/vendor/bundle/ruby/2.6.0/gems/{rspec-support-3.9.3 → rspec-support-3.10.0}/Changelog.md +12 -0
  377. data/vendor/bundle/ruby/2.6.0/gems/{rspec-support-3.9.3 → rspec-support-3.10.0}/LICENSE.md +0 -0
  378. data/vendor/bundle/ruby/2.6.0/gems/{rspec-support-3.9.3 → rspec-support-3.10.0}/README.md +2 -2
  379. data/vendor/bundle/ruby/2.6.0/gems/{rspec-support-3.9.3 → rspec-support-3.10.0}/lib/rspec/support.rb +0 -0
  380. data/vendor/bundle/ruby/2.6.0/gems/{rspec-support-3.9.3 → rspec-support-3.10.0}/lib/rspec/support/caller_filter.rb +1 -1
  381. data/vendor/bundle/ruby/2.6.0/gems/{rspec-support-3.9.3 → rspec-support-3.10.0}/lib/rspec/support/comparable_version.rb +1 -1
  382. data/vendor/bundle/ruby/2.6.0/gems/{rspec-support-3.9.3 → rspec-support-3.10.0}/lib/rspec/support/differ.rb +0 -0
  383. data/vendor/bundle/ruby/2.6.0/gems/{rspec-support-3.9.3 → rspec-support-3.10.0}/lib/rspec/support/directory_maker.rb +0 -0
  384. data/vendor/bundle/ruby/2.6.0/gems/{rspec-support-3.9.3 → rspec-support-3.10.0}/lib/rspec/support/encoded_string.rb +0 -0
  385. data/vendor/bundle/ruby/2.6.0/gems/{rspec-support-3.9.3 → rspec-support-3.10.0}/lib/rspec/support/fuzzy_matcher.rb +0 -0
  386. data/vendor/bundle/ruby/2.6.0/gems/{rspec-support-3.9.3 → rspec-support-3.10.0}/lib/rspec/support/hunk_generator.rb +0 -0
  387. data/vendor/bundle/ruby/2.6.0/gems/{rspec-support-3.9.3 → rspec-support-3.10.0}/lib/rspec/support/matcher_definition.rb +0 -0
  388. data/vendor/bundle/ruby/2.6.0/gems/{rspec-support-3.9.3 → rspec-support-3.10.0}/lib/rspec/support/method_signature_verifier.rb +2 -2
  389. data/vendor/bundle/ruby/2.6.0/gems/{rspec-support-3.9.3 → rspec-support-3.10.0}/lib/rspec/support/mutex.rb +0 -0
  390. data/vendor/bundle/ruby/2.6.0/gems/{rspec-support-3.9.3 → rspec-support-3.10.0}/lib/rspec/support/object_formatter.rb +0 -0
  391. data/vendor/bundle/ruby/2.6.0/gems/{rspec-support-3.9.3 → rspec-support-3.10.0}/lib/rspec/support/recursive_const_methods.rb +0 -0
  392. data/vendor/bundle/ruby/2.6.0/gems/{rspec-support-3.9.3 → rspec-support-3.10.0}/lib/rspec/support/reentrant_mutex.rb +0 -0
  393. data/vendor/bundle/ruby/2.6.0/gems/{rspec-support-3.9.3 → rspec-support-3.10.0}/lib/rspec/support/ruby_features.rb +4 -4
  394. data/vendor/bundle/ruby/2.6.0/gems/{rspec-support-3.9.3 → rspec-support-3.10.0}/lib/rspec/support/source.rb +10 -0
  395. data/vendor/bundle/ruby/2.6.0/gems/{rspec-support-3.9.3 → rspec-support-3.10.0}/lib/rspec/support/source/location.rb +0 -0
  396. data/vendor/bundle/ruby/2.6.0/gems/{rspec-support-3.9.3 → rspec-support-3.10.0}/lib/rspec/support/source/node.rb +0 -0
  397. data/vendor/bundle/ruby/2.6.0/gems/{rspec-support-3.9.3 → rspec-support-3.10.0}/lib/rspec/support/source/token.rb +0 -0
  398. data/vendor/bundle/ruby/2.6.0/gems/{rspec-support-3.9.3 → rspec-support-3.10.0}/lib/rspec/support/spec.rb +1 -0
  399. data/vendor/bundle/ruby/2.6.0/gems/{rspec-support-3.9.3 → rspec-support-3.10.0}/lib/rspec/support/spec/deprecation_helpers.rb +0 -0
  400. data/vendor/bundle/ruby/2.6.0/gems/rspec-support-3.10.0/lib/rspec/support/spec/diff_helpers.rb +31 -0
  401. data/vendor/bundle/ruby/2.6.0/gems/{rspec-support-3.9.3 → rspec-support-3.10.0}/lib/rspec/support/spec/formatting_support.rb +0 -0
  402. data/vendor/bundle/ruby/2.6.0/gems/{rspec-support-3.9.3 → rspec-support-3.10.0}/lib/rspec/support/spec/in_sub_process.rb +1 -3
  403. data/vendor/bundle/ruby/2.6.0/gems/{rspec-support-3.9.3 → rspec-support-3.10.0}/lib/rspec/support/spec/library_wide_checks.rb +0 -0
  404. data/vendor/bundle/ruby/2.6.0/gems/{rspec-support-3.9.3 → rspec-support-3.10.0}/lib/rspec/support/spec/shell_out.rb +19 -8
  405. data/vendor/bundle/ruby/2.6.0/gems/{rspec-support-3.9.3 → rspec-support-3.10.0}/lib/rspec/support/spec/stderr_splitter.rb +0 -0
  406. data/vendor/bundle/ruby/2.6.0/gems/{rspec-support-3.9.3 → rspec-support-3.10.0}/lib/rspec/support/spec/string_matcher.rb +0 -1
  407. data/vendor/bundle/ruby/2.6.0/gems/{rspec-support-3.9.3 → rspec-support-3.10.0}/lib/rspec/support/spec/with_isolated_directory.rb +0 -0
  408. data/vendor/bundle/ruby/2.6.0/gems/{rspec-support-3.9.3 → rspec-support-3.10.0}/lib/rspec/support/spec/with_isolated_stderr.rb +0 -0
  409. data/vendor/bundle/ruby/2.6.0/gems/{rspec-support-3.9.3 → rspec-support-3.10.0}/lib/rspec/support/version.rb +1 -1
  410. data/vendor/bundle/ruby/2.6.0/gems/{rspec-support-3.9.3 → rspec-support-3.10.0}/lib/rspec/support/warnings.rb +0 -0
  411. data/vendor/bundle/ruby/2.6.0/gems/{rspec-support-3.9.3 → rspec-support-3.10.0}/lib/rspec/support/with_keywords_when_needed.rb +0 -0
  412. data/vendor/bundle/ruby/2.6.0/gems/{sys-uname-1.2.1/CHANGES.rdoc → sys-uname-1.2.2/CHANGES.md} +41 -35
  413. data/vendor/bundle/ruby/2.6.0/gems/sys-uname-1.2.2/Gemfile +7 -0
  414. data/vendor/bundle/ruby/2.6.0/gems/{sys-uname-1.2.1 → sys-uname-1.2.2}/LICENSE +0 -0
  415. data/vendor/bundle/ruby/2.6.0/gems/{sys-uname-1.2.1/MANIFEST.rdoc → sys-uname-1.2.2/MANIFEST.md} +2 -1
  416. data/vendor/bundle/ruby/2.6.0/gems/{sys-uname-1.2.1/README.rdoc → sys-uname-1.2.2/README.md} +22 -20
  417. data/vendor/bundle/ruby/2.6.0/gems/{sys-uname-1.2.1 → sys-uname-1.2.2}/Rakefile +2 -2
  418. data/vendor/bundle/ruby/2.6.0/gems/{sys-uname-1.2.1 → sys-uname-1.2.2}/certs/djberg96_pub.pem +0 -0
  419. data/vendor/bundle/ruby/2.6.0/gems/{sys-uname-1.2.1 → sys-uname-1.2.2}/doc/uname.rdoc +1 -1
  420. data/vendor/bundle/ruby/2.6.0/gems/{sys-uname-1.2.1 → sys-uname-1.2.2}/examples/uname_test.rb +0 -0
  421. data/vendor/bundle/ruby/2.6.0/gems/{sys-uname-1.2.1 → sys-uname-1.2.2}/lib/sys-uname.rb +0 -0
  422. data/vendor/bundle/ruby/2.6.0/gems/{sys-uname-1.2.1 → sys-uname-1.2.2}/lib/sys/platform.rb +0 -0
  423. data/vendor/bundle/ruby/2.6.0/gems/{sys-uname-1.2.1 → sys-uname-1.2.2}/lib/sys/uname.rb +1 -1
  424. data/vendor/bundle/ruby/2.6.0/gems/{sys-uname-1.2.1 → sys-uname-1.2.2}/lib/sys/unix/uname.rb +0 -0
  425. data/vendor/bundle/ruby/2.6.0/gems/{sys-uname-1.2.1 → sys-uname-1.2.2}/lib/sys/windows/uname.rb +0 -0
  426. data/vendor/bundle/ruby/2.6.0/gems/{sys-uname-1.2.1 → sys-uname-1.2.2}/spec/sys_platform_spec.rb +1 -1
  427. data/vendor/bundle/ruby/2.6.0/gems/{sys-uname-1.2.1 → sys-uname-1.2.2}/spec/sys_uname_spec.rb +2 -2
  428. data/vendor/bundle/ruby/2.6.0/gems/{sys-uname-1.2.1 → sys-uname-1.2.2}/sys-uname.gemspec +5 -4
  429. data/vendor/bundle/ruby/2.6.0/specifications/{rspec-3.9.0.gemspec → rspec-3.10.0.gemspec} +13 -13
  430. data/vendor/bundle/ruby/2.6.0/specifications/{rspec-core-3.9.3.gemspec → rspec-core-3.10.0.gemspec} +8 -8
  431. data/vendor/bundle/ruby/2.6.0/specifications/{rspec-expectations-3.9.2.gemspec → rspec-expectations-3.10.0.gemspec} +8 -8
  432. data/vendor/bundle/ruby/2.6.0/specifications/{rspec-mocks-3.9.1.gemspec → rspec-mocks-3.10.0.gemspec} +11 -11
  433. data/vendor/bundle/ruby/2.6.0/specifications/{rspec-support-3.9.3.gemspec → rspec-support-3.10.0.gemspec} +5 -5
  434. data/vendor/bundle/ruby/2.6.0/specifications/{sys-uname-1.2.1.gemspec → sys-uname-1.2.2.gemspec} +12 -9
  435. metadata +355 -344
  436. data/vendor/bundle/ruby/2.6.0/cache/rspec-3.9.0.gem +0 -0
  437. data/vendor/bundle/ruby/2.6.0/cache/rspec-core-3.9.3.gem +0 -0
  438. data/vendor/bundle/ruby/2.6.0/cache/rspec-expectations-3.9.2.gem +0 -0
  439. data/vendor/bundle/ruby/2.6.0/cache/rspec-mocks-3.9.1.gem +0 -0
  440. data/vendor/bundle/ruby/2.6.0/cache/rspec-support-3.9.3.gem +0 -0
  441. data/vendor/bundle/ruby/2.6.0/cache/sys-uname-1.2.1.gem +0 -0
  442. data/vendor/bundle/ruby/2.6.0/gems/rspec-expectations-3.9.2/lib/rspec/matchers/built_in/has.rb +0 -103
@@ -23,7 +23,7 @@ module RSpec
23
23
  # a percent comparison.
24
24
  def percent_of(expected)
25
25
  @expected = expected
26
- @tolerance = @delta * @expected.abs / 100.0
26
+ @tolerance = @expected.abs * @delta / 100.0
27
27
  @unit = '%'
28
28
  self
29
29
  end
@@ -50,7 +50,7 @@ module RSpec
50
50
  # @api private
51
51
  # @return [String]
52
52
  def description
53
- "be within #{@delta}#{@unit} of #{@expected}"
53
+ "be within #{@delta}#{@unit} of #{expected_formatted}"
54
54
  end
55
55
 
56
56
  private
@@ -0,0 +1,169 @@
1
+ module RSpec
2
+ module Matchers
3
+ module BuiltIn
4
+ # @api private
5
+ # Asbtract class to implement `once`, `at_least` and other
6
+ # count constraints.
7
+ module CountExpectation
8
+ # @api public
9
+ # Specifies that the method is expected to match once.
10
+ def once
11
+ exactly(1)
12
+ end
13
+
14
+ # @api public
15
+ # Specifies that the method is expected to match twice.
16
+ def twice
17
+ exactly(2)
18
+ end
19
+
20
+ # @api public
21
+ # Specifies that the method is expected to match thrice.
22
+ def thrice
23
+ exactly(3)
24
+ end
25
+
26
+ # @api public
27
+ # Specifies that the method is expected to match the given number of times.
28
+ def exactly(number)
29
+ set_expected_count(:==, number)
30
+ self
31
+ end
32
+
33
+ # @api public
34
+ # Specifies the maximum number of times the method is expected to match
35
+ def at_most(number)
36
+ set_expected_count(:<=, number)
37
+ self
38
+ end
39
+
40
+ # @api public
41
+ # Specifies the minimum number of times the method is expected to match
42
+ def at_least(number)
43
+ set_expected_count(:>=, number)
44
+ self
45
+ end
46
+
47
+ # @api public
48
+ # No-op. Provides syntactic sugar.
49
+ def times
50
+ self
51
+ end
52
+
53
+ protected
54
+ # @api private
55
+ attr_reader :count_expectation_type, :expected_count
56
+
57
+ private
58
+
59
+ if RUBY_VERSION.to_f > 1.8
60
+ def cover?(count, number)
61
+ count.cover?(number)
62
+ end
63
+ else
64
+ def cover?(count, number)
65
+ number >= count.first && number <= count.last
66
+ end
67
+ end
68
+
69
+ def expected_count_matches?(actual_count)
70
+ @actual_count = actual_count
71
+ return @actual_count > 0 unless count_expectation_type
72
+ return cover?(expected_count, actual_count) if count_expectation_type == :<=>
73
+
74
+ @actual_count.__send__(count_expectation_type, expected_count)
75
+ end
76
+
77
+ def has_expected_count?
78
+ !!count_expectation_type
79
+ end
80
+
81
+ def set_expected_count(relativity, n)
82
+ raise_unsupported_count_expectation if unsupported_count_expectation?(relativity)
83
+
84
+ count = count_constraint_to_number(n)
85
+
86
+ if count_expectation_type == :<= && relativity == :>=
87
+ raise_impossible_count_expectation(count) if count > expected_count
88
+ @count_expectation_type = :<=>
89
+ @expected_count = count..expected_count
90
+ elsif count_expectation_type == :>= && relativity == :<=
91
+ raise_impossible_count_expectation(count) if count < expected_count
92
+ @count_expectation_type = :<=>
93
+ @expected_count = expected_count..count
94
+ else
95
+ @count_expectation_type = relativity
96
+ @expected_count = count
97
+ end
98
+ end
99
+
100
+ def raise_impossible_count_expectation(count)
101
+ text =
102
+ case count_expectation_type
103
+ when :<= then "at_least(#{count}).at_most(#{expected_count})"
104
+ when :>= then "at_least(#{expected_count}).at_most(#{count})"
105
+ end
106
+ raise ArgumentError, "The constraint #{text} is not possible"
107
+ end
108
+
109
+ def raise_unsupported_count_expectation
110
+ text =
111
+ case count_expectation_type
112
+ when :<= then "at_least"
113
+ when :>= then "at_most"
114
+ when :<=> then "at_least/at_most combination"
115
+ else "count"
116
+ end
117
+ raise ArgumentError, "Multiple #{text} constraints are not supported"
118
+ end
119
+
120
+ def count_constraint_to_number(n)
121
+ case n
122
+ when Numeric then n
123
+ when :once then 1
124
+ when :twice then 2
125
+ when :thrice then 3
126
+ else
127
+ raise ArgumentError, "Expected a number, :once, :twice or :thrice," \
128
+ " but got #{n}"
129
+ end
130
+ end
131
+
132
+ def unsupported_count_expectation?(relativity)
133
+ return true if count_expectation_type == :==
134
+ return true if count_expectation_type == :<=>
135
+ (count_expectation_type == :<= && relativity == :<=) ||
136
+ (count_expectation_type == :>= && relativity == :>=)
137
+ end
138
+
139
+ def count_expectation_description
140
+ "#{human_readable_expectation_type}#{human_readable_count(expected_count)}"
141
+ end
142
+
143
+ def count_failure_reason(action)
144
+ "#{count_expectation_description}" \
145
+ " but #{action}#{human_readable_count(@actual_count)}"
146
+ end
147
+
148
+ def human_readable_expectation_type
149
+ case count_expectation_type
150
+ when :<= then ' at most'
151
+ when :>= then ' at least'
152
+ when :<=> then ' between'
153
+ else ''
154
+ end
155
+ end
156
+
157
+ def human_readable_count(count)
158
+ case count
159
+ when Range then " #{count.first} and #{count.last} times"
160
+ when nil then ''
161
+ when 1 then ' once'
162
+ when 2 then ' twice'
163
+ else " #{count} times"
164
+ end
165
+ end
166
+ end
167
+ end
168
+ end
169
+ end
@@ -0,0 +1,167 @@
1
+ module RSpec
2
+ module Matchers
3
+ module BuiltIn
4
+ # @api private
5
+ # Provides the implementation for dynamic predicate matchers.
6
+ # Not intended to be inherited directly.
7
+ class DynamicPredicate < BaseMatcher
8
+ include BeHelpers
9
+
10
+ def initialize(method_name, *args, &block)
11
+ @method_name, @args, @block = method_name, args, block
12
+ end
13
+ ruby2_keywords :initialize if respond_to?(:ruby2_keywords, true)
14
+
15
+ # @private
16
+ def matches?(actual, &block)
17
+ @actual = actual
18
+ @block ||= block
19
+ predicate_accessible? && predicate_matches?
20
+ end
21
+
22
+ # @private
23
+ def does_not_match?(actual, &block)
24
+ @actual = actual
25
+ @block ||= block
26
+ predicate_accessible? && predicate_matches?(false)
27
+ end
28
+
29
+ # @api private
30
+ # @return [String]
31
+ def failure_message
32
+ failure_message_expecting(true)
33
+ end
34
+
35
+ # @api private
36
+ # @return [String]
37
+ def failure_message_when_negated
38
+ failure_message_expecting(false)
39
+ end
40
+
41
+ # @api private
42
+ # @return [String]
43
+ def description
44
+ "#{method_description}#{args_to_sentence}"
45
+ end
46
+
47
+ private
48
+
49
+ def predicate_accessible?
50
+ @actual.respond_to? predicate
51
+ end
52
+
53
+ # support 1.8.7, evaluate once at load time for performance
54
+ if String === methods.first
55
+ # :nocov:
56
+ def private_predicate?
57
+ @actual.private_methods.include? predicate.to_s
58
+ end
59
+ # :nocov:
60
+ else
61
+ def private_predicate?
62
+ @actual.private_methods.include? predicate
63
+ end
64
+ end
65
+
66
+ def predicate_result
67
+ @predicate_result = actual.__send__(predicate_method_name, *@args, &@block)
68
+ end
69
+
70
+ def predicate_method_name
71
+ predicate
72
+ end
73
+
74
+ def predicate_matches?(value=true)
75
+ if RSpec::Expectations.configuration.strict_predicate_matchers?
76
+ value == predicate_result
77
+ else
78
+ value == !!predicate_result
79
+ end
80
+ end
81
+
82
+ def root
83
+ # On 1.9, there appears to be a bug where String#match can return `false`
84
+ # rather than the match data object. Changing to Regex#match appears to
85
+ # work around this bug. For an example of this bug, see:
86
+ # https://travis-ci.org/rspec/rspec-expectations/jobs/27549635
87
+ self.class::REGEX.match(@method_name.to_s).captures.first
88
+ end
89
+
90
+ def method_description
91
+ EnglishPhrasing.split_words(@method_name)
92
+ end
93
+
94
+ def failure_message_expecting(value)
95
+ validity_message ||
96
+ "expected `#{actual_formatted}.#{predicate}#{args_to_s}` to #{expectation_of value}, got #{description_of @predicate_result}"
97
+ end
98
+
99
+ def expectation_of(value)
100
+ if RSpec::Expectations.configuration.strict_predicate_matchers?
101
+ "return #{value}"
102
+ elsif value
103
+ "be truthy"
104
+ else
105
+ "be falsey"
106
+ end
107
+ end
108
+
109
+ def validity_message
110
+ return nil if predicate_accessible?
111
+
112
+ "expected #{actual_formatted} to respond to `#{predicate}`#{failure_to_respond_explanation}"
113
+ end
114
+
115
+ def failure_to_respond_explanation
116
+ if private_predicate?
117
+ " but `#{predicate}` is a private method"
118
+ end
119
+ end
120
+ end
121
+
122
+ # @api private
123
+ # Provides the implementation for `has_<predicate>`.
124
+ # Not intended to be instantiated directly.
125
+ class Has < DynamicPredicate
126
+ # :nodoc:
127
+ REGEX = Matchers::HAS_REGEX
128
+ private
129
+ def predicate
130
+ @predicate ||= :"has_#{root}?"
131
+ end
132
+ end
133
+
134
+ # @api private
135
+ # Provides the implementation of `be_<predicate>`.
136
+ # Not intended to be instantiated directly.
137
+ class BePredicate < DynamicPredicate
138
+ # :nodoc:
139
+ REGEX = Matchers::BE_PREDICATE_REGEX
140
+ private
141
+ def predicate
142
+ @predicate ||= :"#{root}?"
143
+ end
144
+
145
+ def predicate_method_name
146
+ actual.respond_to?(predicate) ? predicate : present_tense_predicate
147
+ end
148
+
149
+ def failure_to_respond_explanation
150
+ super || if predicate == :true?
151
+ " or perhaps you meant `be true` or `be_truthy`"
152
+ elsif predicate == :false?
153
+ " or perhaps you meant `be false` or `be_falsey`"
154
+ end
155
+ end
156
+
157
+ def predicate_accessible?
158
+ super || actual.respond_to?(present_tense_predicate)
159
+ end
160
+
161
+ def present_tense_predicate
162
+ :"#{root}s?"
163
+ end
164
+ end
165
+ end
166
+ end
167
+ end
@@ -1,13 +1,17 @@
1
+ require 'rspec/matchers/built_in/count_expectation'
2
+
1
3
  module RSpec
2
4
  module Matchers
3
5
  module BuiltIn
4
6
  # @api private
5
7
  # Provides the implementation for `include`.
6
8
  # Not intended to be instantiated directly.
7
- class Include < BaseMatcher
9
+ class Include < BaseMatcher # rubocop:disable Metrics/ClassLength
10
+ include CountExpectation
8
11
  # @private
9
12
  attr_reader :expecteds
10
13
 
14
+ # @api private
11
15
  def initialize(*expecteds)
12
16
  @expecteds = expecteds
13
17
  end
@@ -15,21 +19,29 @@ module RSpec
15
19
  # @api private
16
20
  # @return [Boolean]
17
21
  def matches?(actual)
18
- actual = actual.to_hash if convert_to_hash?(actual)
19
- perform_match(actual) { |v| v }
22
+ check_actual?(actual) &&
23
+ if check_expected_count?
24
+ expected_count_matches?(count_inclusions)
25
+ else
26
+ perform_match { |v| v }
27
+ end
20
28
  end
21
29
 
22
30
  # @api private
23
31
  # @return [Boolean]
24
32
  def does_not_match?(actual)
25
- actual = actual.to_hash if convert_to_hash?(actual)
26
- perform_match(actual) { |v| !v }
33
+ check_actual?(actual) &&
34
+ if check_expected_count?
35
+ !expected_count_matches?(count_inclusions)
36
+ else
37
+ perform_match { |v| !v }
38
+ end
27
39
  end
28
40
 
29
41
  # @api private
30
42
  # @return [String]
31
43
  def description
32
- improve_hash_formatting("include#{readable_list_of(expecteds)}")
44
+ improve_hash_formatting("include#{readable_list_of(expecteds)}#{count_expectation_description}")
33
45
  end
34
46
 
35
47
  # @api private
@@ -62,12 +74,33 @@ module RSpec
62
74
 
63
75
  private
64
76
 
65
- def format_failure_message(preposition)
66
- if actual.respond_to?(:include?)
67
- improve_hash_formatting("expected #{description_of @actual} #{preposition} include#{readable_list_of @divergent_items}")
68
- else
69
- improve_hash_formatting(yield) + ", but it does not respond to `include?`"
77
+ def check_actual?(actual)
78
+ actual = actual.to_hash if convert_to_hash?(actual)
79
+ @actual = actual
80
+ @actual.respond_to?(:include?)
81
+ end
82
+
83
+ def check_expected_count?
84
+ case
85
+ when !has_expected_count?
86
+ return false
87
+ when expecteds.size != 1
88
+ raise NotImplementedError, 'Count constraint supported only when testing for a single value being included'
89
+ when actual.is_a?(Hash)
90
+ raise NotImplementedError, 'Count constraint on hash keys not implemented'
70
91
  end
92
+ true
93
+ end
94
+
95
+ def format_failure_message(preposition)
96
+ msg = if actual.respond_to?(:include?)
97
+ "expected #{description_of @actual} #{preposition}" \
98
+ " include#{readable_list_of @divergent_items}" \
99
+ "#{count_failure_reason('it is included') if has_expected_count?}"
100
+ else
101
+ "#{yield}, but it does not respond to `include?`"
102
+ end
103
+ improve_hash_formatting(msg)
71
104
  end
72
105
 
73
106
  def readable_list_of(items)
@@ -79,10 +112,9 @@ module RSpec
79
112
  end
80
113
  end
81
114
 
82
- def perform_match(actual, &block)
83
- @actual = actual
115
+ def perform_match(&block)
84
116
  @divergent_items = excluded_from_actual(&block)
85
- actual.respond_to?(:include?) && @divergent_items.empty?
117
+ @divergent_items.empty?
86
118
  end
87
119
 
88
120
  def excluded_from_actual
@@ -107,7 +139,10 @@ module RSpec
107
139
  end
108
140
 
109
141
  def actual_hash_includes?(expected_key, expected_value)
110
- actual_value = actual.fetch(expected_key) { return false }
142
+ actual_value =
143
+ actual.fetch(expected_key) do
144
+ actual.find(Proc.new { return false }) { |actual_key, _| values_match?(expected_key, actual_key) }[1]
145
+ end
111
146
  values_match?(expected_value, actual_value)
112
147
  end
113
148
 
@@ -131,6 +166,28 @@ module RSpec
131
166
  actual.any? { |value| values_match?(expected_item, value) }
132
167
  end
133
168
 
169
+ if RUBY_VERSION < '1.9'
170
+ def count_enumerable(expected_item)
171
+ actual.select { |value| values_match?(expected_item, value) }.size
172
+ end
173
+ else
174
+ def count_enumerable(expected_item)
175
+ actual.count { |value| values_match?(expected_item, value) }
176
+ end
177
+ end
178
+
179
+ def count_inclusions
180
+ @divergent_items = expected
181
+ case actual
182
+ when String
183
+ actual.scan(expected.first).length
184
+ when Enumerable
185
+ count_enumerable(expected.first)
186
+ else
187
+ raise NotImplementedError, 'Count constraints are implemented for Enumerable and String values only'
188
+ end
189
+ end
190
+
134
191
  def diff_would_wrongly_highlight_matched_item?
135
192
  return false unless actual.is_a?(String) && expected.is_a?(Array)
136
193