cvss-suite 1.0.8 → 1.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (821) hide show
  1. checksums.yaml +4 -4
  2. data/.gitignore +1 -0
  3. data/CHANGES.md +14 -0
  4. data/README.md +12 -3
  5. data/cvss_suite.gemspec +1 -9
  6. data/lib/cvss_suite.rb +10 -7
  7. data/lib/cvss_suite/cvss.rb +4 -4
  8. data/lib/cvss_suite/cvss2/cvss2.rb +1 -1
  9. data/lib/cvss_suite/cvss3/cvss3.rb +1 -1
  10. data/lib/cvss_suite/errors.rb +28 -0
  11. data/lib/cvss_suite/invalid_cvss.rb +57 -0
  12. data/lib/cvss_suite/version.rb +1 -1
  13. metadata +6 -812
  14. data/vendor/cache/diff-lcs-1.2.5.gem +0 -0
  15. data/vendor/cache/docile-1.1.5.gem +0 -0
  16. data/vendor/cache/json-1.8.3.gem +0 -0
  17. data/vendor/cache/rdoc-4.2.0.gem +0 -0
  18. data/vendor/cache/rspec-3.4.0.gem +0 -0
  19. data/vendor/cache/rspec-core-3.4.0.gem +0 -0
  20. data/vendor/cache/rspec-expectations-3.4.0.gem +0 -0
  21. data/vendor/cache/rspec-its-1.2.0.gem +0 -0
  22. data/vendor/cache/rspec-mocks-3.4.0.gem +0 -0
  23. data/vendor/cache/rspec-support-3.4.0.gem +0 -0
  24. data/vendor/cache/ruby/2.2.0/bin/badger +0 -23
  25. data/vendor/cache/ruby/2.2.0/bin/htmldiff +0 -25
  26. data/vendor/cache/ruby/2.2.0/bin/ldiff +0 -25
  27. data/vendor/cache/ruby/2.2.0/bin/rspec +0 -23
  28. data/vendor/cache/ruby/2.2.0/bin/thor +0 -23
  29. data/vendor/cache/ruby/2.2.0/cache/badgerbadgerbadger-0.14.0.gem +0 -0
  30. data/vendor/cache/ruby/2.2.0/cache/diff-lcs-1.2.5.gem +0 -0
  31. data/vendor/cache/ruby/2.2.0/cache/docile-1.1.5.gem +0 -0
  32. data/vendor/cache/ruby/2.2.0/cache/git-1.3.0.gem +0 -0
  33. data/vendor/cache/ruby/2.2.0/cache/json-1.8.3.gem +0 -0
  34. data/vendor/cache/ruby/2.2.0/cache/rake-10.4.2.gem +0 -0
  35. data/vendor/cache/ruby/2.2.0/cache/rdoc-4.2.0.gem +0 -0
  36. data/vendor/cache/ruby/2.2.0/cache/rspec-3.4.0.gem +0 -0
  37. data/vendor/cache/ruby/2.2.0/cache/rspec-core-3.4.0.gem +0 -0
  38. data/vendor/cache/ruby/2.2.0/cache/rspec-expectations-3.4.0.gem +0 -0
  39. data/vendor/cache/ruby/2.2.0/cache/rspec-its-1.2.0.gem +0 -0
  40. data/vendor/cache/ruby/2.2.0/cache/rspec-mocks-3.4.0.gem +0 -0
  41. data/vendor/cache/ruby/2.2.0/cache/rspec-support-3.4.0.gem +0 -0
  42. data/vendor/cache/ruby/2.2.0/cache/simplecov-0.11.2.gem +0 -0
  43. data/vendor/cache/ruby/2.2.0/cache/simplecov-html-0.10.0.gem +0 -0
  44. data/vendor/cache/ruby/2.2.0/cache/thor-0.19.1.gem +0 -0
  45. data/vendor/cache/ruby/2.2.0/extensions/x86-linux/2.2.0/json-1.8.3/gem.build_complete +0 -0
  46. data/vendor/cache/ruby/2.2.0/extensions/x86-linux/2.2.0/json-1.8.3/gem_make.out +0 -9
  47. data/vendor/cache/ruby/2.2.0/extensions/x86-linux/2.2.0/json-1.8.3/json/ext/generator.so +0 -0
  48. data/vendor/cache/ruby/2.2.0/extensions/x86-linux/2.2.0/json-1.8.3/json/ext/parser.so +0 -0
  49. data/vendor/cache/ruby/2.2.0/gems/badgerbadgerbadger-0.14.0/.gitignore +0 -19
  50. data/vendor/cache/ruby/2.2.0/gems/badgerbadgerbadger-0.14.0/.rspec +0 -2
  51. data/vendor/cache/ruby/2.2.0/gems/badgerbadgerbadger-0.14.0/.travis.yml +0 -15
  52. data/vendor/cache/ruby/2.2.0/gems/badgerbadgerbadger-0.14.0/DESC.md +0 -27
  53. data/vendor/cache/ruby/2.2.0/gems/badgerbadgerbadger-0.14.0/Gemfile +0 -7
  54. data/vendor/cache/ruby/2.2.0/gems/badgerbadgerbadger-0.14.0/Guardfile +0 -30
  55. data/vendor/cache/ruby/2.2.0/gems/badgerbadgerbadger-0.14.0/LICENSE.md +0 -22
  56. data/vendor/cache/ruby/2.2.0/gems/badgerbadgerbadger-0.14.0/README.md +0 -53
  57. data/vendor/cache/ruby/2.2.0/gems/badgerbadgerbadger-0.14.0/Rakefile +0 -10
  58. data/vendor/cache/ruby/2.2.0/gems/badgerbadgerbadger-0.14.0/badger.gemspec +0 -34
  59. data/vendor/cache/ruby/2.2.0/gems/badgerbadgerbadger-0.14.0/bin/badger +0 -4
  60. data/vendor/cache/ruby/2.2.0/gems/badgerbadgerbadger-0.14.0/config/config.yaml +0 -8
  61. data/vendor/cache/ruby/2.2.0/gems/badgerbadgerbadger-0.14.0/config/licenses.yaml +0 -25
  62. data/vendor/cache/ruby/2.2.0/gems/badgerbadgerbadger-0.14.0/config/services.yaml +0 -40
  63. data/vendor/cache/ruby/2.2.0/gems/badgerbadgerbadger-0.14.0/features/alternative-styles.feature +0 -24
  64. data/vendor/cache/ruby/2.2.0/gems/badgerbadgerbadger-0.14.0/features/badger.feature +0 -50
  65. data/vendor/cache/ruby/2.2.0/gems/badgerbadgerbadger-0.14.0/features/heroku-only-remote.feature +0 -12
  66. data/vendor/cache/ruby/2.2.0/gems/badgerbadgerbadger-0.14.0/features/licenses.feature +0 -61
  67. data/vendor/cache/ruby/2.2.0/gems/badgerbadgerbadger-0.14.0/features/multiple-remotes.feature +0 -18
  68. data/vendor/cache/ruby/2.2.0/gems/badgerbadgerbadger-0.14.0/features/png.feature +0 -17
  69. data/vendor/cache/ruby/2.2.0/gems/badgerbadgerbadger-0.14.0/features/pulls-and-issues.feature +0 -19
  70. data/vendor/cache/ruby/2.2.0/gems/badgerbadgerbadger-0.14.0/features/remote-with-different-name.feature +0 -17
  71. data/vendor/cache/ruby/2.2.0/gems/badgerbadgerbadger-0.14.0/features/rubygems.feature +0 -46
  72. data/vendor/cache/ruby/2.2.0/gems/badgerbadgerbadger-0.14.0/features/services.feature +0 -53
  73. data/vendor/cache/ruby/2.2.0/gems/badgerbadgerbadger-0.14.0/features/size.feature +0 -18
  74. data/vendor/cache/ruby/2.2.0/gems/badgerbadgerbadger-0.14.0/features/ssh-remote.feature +0 -39
  75. data/vendor/cache/ruby/2.2.0/gems/badgerbadgerbadger-0.14.0/features/step_definitions/badger_steps.rb +0 -11
  76. data/vendor/cache/ruby/2.2.0/gems/badgerbadgerbadger-0.14.0/features/support/env.rb +0 -11
  77. data/vendor/cache/ruby/2.2.0/gems/badgerbadgerbadger-0.14.0/features/support/fixtures/licenses/apache.txt +0 -202
  78. data/vendor/cache/ruby/2.2.0/gems/badgerbadgerbadger-0.14.0/features/support/fixtures/licenses/doge.md +0 -1
  79. data/vendor/cache/ruby/2.2.0/gems/badgerbadgerbadger-0.14.0/features/support/fixtures/licenses/gpl-2.0.txt +0 -339
  80. data/vendor/cache/ruby/2.2.0/gems/badgerbadgerbadger-0.14.0/features/support/fixtures/licenses/gpl-3.0.txt +0 -674
  81. data/vendor/cache/ruby/2.2.0/gems/badgerbadgerbadger-0.14.0/features/support/fixtures/licenses/mit.md +0 -22
  82. data/vendor/cache/ruby/2.2.0/gems/badgerbadgerbadger-0.14.0/features/support/hooks/hooks.rb +0 -15
  83. data/vendor/cache/ruby/2.2.0/gems/badgerbadgerbadger-0.14.0/features/support/hooks/licenses.rb +0 -19
  84. data/vendor/cache/ruby/2.2.0/gems/badgerbadgerbadger-0.14.0/features/support/hooks/rubygems.rb +0 -66
  85. data/vendor/cache/ruby/2.2.0/gems/badgerbadgerbadger-0.14.0/features/support/hooks/services.rb +0 -17
  86. data/vendor/cache/ruby/2.2.0/gems/badgerbadgerbadger-0.14.0/lib/badger.rb +0 -15
  87. data/vendor/cache/ruby/2.2.0/gems/badgerbadgerbadger-0.14.0/lib/badger/badge.rb +0 -20
  88. data/vendor/cache/ruby/2.2.0/gems/badgerbadgerbadger-0.14.0/lib/badger/badger.rb +0 -61
  89. data/vendor/cache/ruby/2.2.0/gems/badgerbadgerbadger-0.14.0/lib/badger/bonus.rb +0 -17
  90. data/vendor/cache/ruby/2.2.0/gems/badgerbadgerbadger-0.14.0/lib/badger/cli.rb +0 -56
  91. data/vendor/cache/ruby/2.2.0/gems/badgerbadgerbadger-0.14.0/lib/badger/config.rb +0 -49
  92. data/vendor/cache/ruby/2.2.0/gems/badgerbadgerbadger-0.14.0/lib/badger/helpers.rb +0 -95
  93. data/vendor/cache/ruby/2.2.0/gems/badgerbadgerbadger-0.14.0/lib/badger/license.rb +0 -22
  94. data/vendor/cache/ruby/2.2.0/gems/badgerbadgerbadger-0.14.0/lib/badger/rubygem.rb +0 -16
  95. data/vendor/cache/ruby/2.2.0/gems/badgerbadgerbadger-0.14.0/lib/badger/service.rb +0 -46
  96. data/vendor/cache/ruby/2.2.0/gems/badgerbadgerbadger-0.14.0/lib/badger/version.rb +0 -3
  97. data/vendor/cache/ruby/2.2.0/gems/badgerbadgerbadger-0.14.0/spec/badge_types_spec.rb +0 -27
  98. data/vendor/cache/ruby/2.2.0/gems/badgerbadgerbadger-0.14.0/spec/badger_spec.rb +0 -62
  99. data/vendor/cache/ruby/2.2.0/gems/badgerbadgerbadger-0.14.0/spec/licenses_spec.rb +0 -42
  100. data/vendor/cache/ruby/2.2.0/gems/badgerbadgerbadger-0.14.0/spec/services_spec.rb +0 -33
  101. data/vendor/cache/ruby/2.2.0/gems/badgerbadgerbadger-0.14.0/spec/size_spec.rb +0 -20
  102. data/vendor/cache/ruby/2.2.0/gems/badgerbadgerbadger-0.14.0/spec/spec_helper.rb +0 -22
  103. data/vendor/cache/ruby/2.2.0/gems/badgerbadgerbadger-0.14.0/spec/user_and_repo_spec.rb +0 -33
  104. data/vendor/cache/ruby/2.2.0/gems/diff-lcs-1.2.5/.autotest +0 -3
  105. data/vendor/cache/ruby/2.2.0/gems/diff-lcs-1.2.5/.gemtest +0 -0
  106. data/vendor/cache/ruby/2.2.0/gems/diff-lcs-1.2.5/.hoerc +0 -2
  107. data/vendor/cache/ruby/2.2.0/gems/diff-lcs-1.2.5/.rspec +0 -2
  108. data/vendor/cache/ruby/2.2.0/gems/diff-lcs-1.2.5/.travis.yml +0 -22
  109. data/vendor/cache/ruby/2.2.0/gems/diff-lcs-1.2.5/Contributing.rdoc +0 -64
  110. data/vendor/cache/ruby/2.2.0/gems/diff-lcs-1.2.5/Gemfile +0 -20
  111. data/vendor/cache/ruby/2.2.0/gems/diff-lcs-1.2.5/History.rdoc +0 -152
  112. data/vendor/cache/ruby/2.2.0/gems/diff-lcs-1.2.5/License.rdoc +0 -39
  113. data/vendor/cache/ruby/2.2.0/gems/diff-lcs-1.2.5/Manifest.txt +0 -38
  114. data/vendor/cache/ruby/2.2.0/gems/diff-lcs-1.2.5/README.rdoc +0 -85
  115. data/vendor/cache/ruby/2.2.0/gems/diff-lcs-1.2.5/Rakefile +0 -41
  116. data/vendor/cache/ruby/2.2.0/gems/diff-lcs-1.2.5/autotest/discover.rb +0 -1
  117. data/vendor/cache/ruby/2.2.0/gems/diff-lcs-1.2.5/bin/htmldiff +0 -32
  118. data/vendor/cache/ruby/2.2.0/gems/diff-lcs-1.2.5/bin/ldiff +0 -6
  119. data/vendor/cache/ruby/2.2.0/gems/diff-lcs-1.2.5/docs/COPYING.txt +0 -339
  120. data/vendor/cache/ruby/2.2.0/gems/diff-lcs-1.2.5/docs/artistic.txt +0 -127
  121. data/vendor/cache/ruby/2.2.0/gems/diff-lcs-1.2.5/lib/diff-lcs.rb +0 -3
  122. data/vendor/cache/ruby/2.2.0/gems/diff-lcs-1.2.5/lib/diff/lcs.rb +0 -805
  123. data/vendor/cache/ruby/2.2.0/gems/diff-lcs-1.2.5/lib/diff/lcs/array.rb +0 -7
  124. data/vendor/cache/ruby/2.2.0/gems/diff-lcs-1.2.5/lib/diff/lcs/block.rb +0 -37
  125. data/vendor/cache/ruby/2.2.0/gems/diff-lcs-1.2.5/lib/diff/lcs/callbacks.rb +0 -322
  126. data/vendor/cache/ruby/2.2.0/gems/diff-lcs-1.2.5/lib/diff/lcs/change.rb +0 -177
  127. data/vendor/cache/ruby/2.2.0/gems/diff-lcs-1.2.5/lib/diff/lcs/htmldiff.rb +0 -149
  128. data/vendor/cache/ruby/2.2.0/gems/diff-lcs-1.2.5/lib/diff/lcs/hunk.rb +0 -276
  129. data/vendor/cache/ruby/2.2.0/gems/diff-lcs-1.2.5/lib/diff/lcs/internals.rb +0 -301
  130. data/vendor/cache/ruby/2.2.0/gems/diff-lcs-1.2.5/lib/diff/lcs/ldiff.rb +0 -195
  131. data/vendor/cache/ruby/2.2.0/gems/diff-lcs-1.2.5/lib/diff/lcs/string.rb +0 -5
  132. data/vendor/cache/ruby/2.2.0/gems/diff-lcs-1.2.5/spec/change_spec.rb +0 -65
  133. data/vendor/cache/ruby/2.2.0/gems/diff-lcs-1.2.5/spec/diff_spec.rb +0 -47
  134. data/vendor/cache/ruby/2.2.0/gems/diff-lcs-1.2.5/spec/hunk_spec.rb +0 -72
  135. data/vendor/cache/ruby/2.2.0/gems/diff-lcs-1.2.5/spec/issues_spec.rb +0 -24
  136. data/vendor/cache/ruby/2.2.0/gems/diff-lcs-1.2.5/spec/lcs_spec.rb +0 -54
  137. data/vendor/cache/ruby/2.2.0/gems/diff-lcs-1.2.5/spec/patch_spec.rb +0 -414
  138. data/vendor/cache/ruby/2.2.0/gems/diff-lcs-1.2.5/spec/sdiff_spec.rb +0 -214
  139. data/vendor/cache/ruby/2.2.0/gems/diff-lcs-1.2.5/spec/spec_helper.rb +0 -290
  140. data/vendor/cache/ruby/2.2.0/gems/diff-lcs-1.2.5/spec/traverse_balanced_spec.rb +0 -310
  141. data/vendor/cache/ruby/2.2.0/gems/diff-lcs-1.2.5/spec/traverse_sequences_spec.rb +0 -139
  142. data/vendor/cache/ruby/2.2.0/gems/docile-1.1.5/.gitignore +0 -9
  143. data/vendor/cache/ruby/2.2.0/gems/docile-1.1.5/.rspec +0 -2
  144. data/vendor/cache/ruby/2.2.0/gems/docile-1.1.5/.ruby-gemset +0 -1
  145. data/vendor/cache/ruby/2.2.0/gems/docile-1.1.5/.ruby-version +0 -1
  146. data/vendor/cache/ruby/2.2.0/gems/docile-1.1.5/.travis.yml +0 -21
  147. data/vendor/cache/ruby/2.2.0/gems/docile-1.1.5/.yardopts +0 -7
  148. data/vendor/cache/ruby/2.2.0/gems/docile-1.1.5/Gemfile +0 -4
  149. data/vendor/cache/ruby/2.2.0/gems/docile-1.1.5/HISTORY.md +0 -61
  150. data/vendor/cache/ruby/2.2.0/gems/docile-1.1.5/LICENSE +0 -21
  151. data/vendor/cache/ruby/2.2.0/gems/docile-1.1.5/README.md +0 -241
  152. data/vendor/cache/ruby/2.2.0/gems/docile-1.1.5/Rakefile +0 -28
  153. data/vendor/cache/ruby/2.2.0/gems/docile-1.1.5/docile.gemspec +0 -43
  154. data/vendor/cache/ruby/2.2.0/gems/docile-1.1.5/lib/docile.rb +0 -84
  155. data/vendor/cache/ruby/2.2.0/gems/docile-1.1.5/lib/docile/chaining_fallback_context_proxy.rb +0 -20
  156. data/vendor/cache/ruby/2.2.0/gems/docile-1.1.5/lib/docile/execution.rb +0 -35
  157. data/vendor/cache/ruby/2.2.0/gems/docile-1.1.5/lib/docile/fallback_context_proxy.rb +0 -63
  158. data/vendor/cache/ruby/2.2.0/gems/docile-1.1.5/lib/docile/version.rb +0 -4
  159. data/vendor/cache/ruby/2.2.0/gems/docile-1.1.5/on_what.rb +0 -14
  160. data/vendor/cache/ruby/2.2.0/gems/docile-1.1.5/spec/docile_spec.rb +0 -339
  161. data/vendor/cache/ruby/2.2.0/gems/docile-1.1.5/spec/spec_helper.rb +0 -30
  162. data/vendor/cache/ruby/2.2.0/gems/git-1.3.0/CHANGELOG +0 -84
  163. data/vendor/cache/ruby/2.2.0/gems/git-1.3.0/LICENSE +0 -21
  164. data/vendor/cache/ruby/2.2.0/gems/git-1.3.0/README.md +0 -297
  165. data/vendor/cache/ruby/2.2.0/gems/git-1.3.0/VERSION +0 -2
  166. data/vendor/cache/ruby/2.2.0/gems/git-1.3.0/lib/git.rb +0 -166
  167. data/vendor/cache/ruby/2.2.0/gems/git-1.3.0/lib/git/author.rb +0 -14
  168. data/vendor/cache/ruby/2.2.0/gems/git-1.3.0/lib/git/base.rb +0 -540
  169. data/vendor/cache/ruby/2.2.0/gems/git-1.3.0/lib/git/base/factory.rb +0 -75
  170. data/vendor/cache/ruby/2.2.0/gems/git-1.3.0/lib/git/branch.rb +0 -122
  171. data/vendor/cache/ruby/2.2.0/gems/git-1.3.0/lib/git/branches.rb +0 -71
  172. data/vendor/cache/ruby/2.2.0/gems/git-1.3.0/lib/git/config.rb +0 -22
  173. data/vendor/cache/ruby/2.2.0/gems/git-1.3.0/lib/git/diff.rb +0 -158
  174. data/vendor/cache/ruby/2.2.0/gems/git-1.3.0/lib/git/index.rb +0 -5
  175. data/vendor/cache/ruby/2.2.0/gems/git-1.3.0/lib/git/lib.rb +0 -1011
  176. data/vendor/cache/ruby/2.2.0/gems/git-1.3.0/lib/git/log.rb +0 -128
  177. data/vendor/cache/ruby/2.2.0/gems/git-1.3.0/lib/git/object.rb +0 -312
  178. data/vendor/cache/ruby/2.2.0/gems/git-1.3.0/lib/git/path.rb +0 -31
  179. data/vendor/cache/ruby/2.2.0/gems/git-1.3.0/lib/git/remote.rb +0 -36
  180. data/vendor/cache/ruby/2.2.0/gems/git-1.3.0/lib/git/repository.rb +0 -6
  181. data/vendor/cache/ruby/2.2.0/gems/git-1.3.0/lib/git/stash.rb +0 -27
  182. data/vendor/cache/ruby/2.2.0/gems/git-1.3.0/lib/git/stashes.rb +0 -44
  183. data/vendor/cache/ruby/2.2.0/gems/git-1.3.0/lib/git/status.rb +0 -117
  184. data/vendor/cache/ruby/2.2.0/gems/git-1.3.0/lib/git/version.rb +0 -7
  185. data/vendor/cache/ruby/2.2.0/gems/git-1.3.0/lib/git/working_directory.rb +0 -4
  186. data/vendor/cache/ruby/2.2.0/gems/json-1.8.3/.gitignore +0 -16
  187. data/vendor/cache/ruby/2.2.0/gems/json-1.8.3/.travis.yml +0 -26
  188. data/vendor/cache/ruby/2.2.0/gems/json-1.8.3/CHANGES +0 -295
  189. data/vendor/cache/ruby/2.2.0/gems/json-1.8.3/COPYING +0 -58
  190. data/vendor/cache/ruby/2.2.0/gems/json-1.8.3/COPYING-json-jruby +0 -57
  191. data/vendor/cache/ruby/2.2.0/gems/json-1.8.3/GPL +0 -340
  192. data/vendor/cache/ruby/2.2.0/gems/json-1.8.3/Gemfile +0 -10
  193. data/vendor/cache/ruby/2.2.0/gems/json-1.8.3/README-json-jruby.markdown +0 -33
  194. data/vendor/cache/ruby/2.2.0/gems/json-1.8.3/README.rdoc +0 -358
  195. data/vendor/cache/ruby/2.2.0/gems/json-1.8.3/Rakefile +0 -412
  196. data/vendor/cache/ruby/2.2.0/gems/json-1.8.3/TODO +0 -1
  197. data/vendor/cache/ruby/2.2.0/gems/json-1.8.3/VERSION +0 -1
  198. data/vendor/cache/ruby/2.2.0/gems/json-1.8.3/data/example.json +0 -1
  199. data/vendor/cache/ruby/2.2.0/gems/json-1.8.3/data/index.html +0 -38
  200. data/vendor/cache/ruby/2.2.0/gems/json-1.8.3/data/prototype.js +0 -4184
  201. data/vendor/cache/ruby/2.2.0/gems/json-1.8.3/diagrams/.keep +0 -0
  202. data/vendor/cache/ruby/2.2.0/gems/json-1.8.3/ext/json/ext/fbuffer/fbuffer.h +0 -190
  203. data/vendor/cache/ruby/2.2.0/gems/json-1.8.3/ext/json/ext/generator/.RUBYARCHDIR.-.json.-.ext.time +0 -0
  204. data/vendor/cache/ruby/2.2.0/gems/json-1.8.3/ext/json/ext/generator/depend +0 -1
  205. data/vendor/cache/ruby/2.2.0/gems/json-1.8.3/ext/json/ext/generator/extconf.rb +0 -4
  206. data/vendor/cache/ruby/2.2.0/gems/json-1.8.3/ext/json/ext/generator/generator.c +0 -1458
  207. data/vendor/cache/ruby/2.2.0/gems/json-1.8.3/ext/json/ext/generator/generator.h +0 -166
  208. data/vendor/cache/ruby/2.2.0/gems/json-1.8.3/ext/json/ext/generator/generator.so +0 -0
  209. data/vendor/cache/ruby/2.2.0/gems/json-1.8.3/ext/json/ext/parser/.RUBYARCHDIR.-.json.-.ext.time +0 -0
  210. data/vendor/cache/ruby/2.2.0/gems/json-1.8.3/ext/json/ext/parser/depend +0 -1
  211. data/vendor/cache/ruby/2.2.0/gems/json-1.8.3/ext/json/ext/parser/extconf.rb +0 -3
  212. data/vendor/cache/ruby/2.2.0/gems/json-1.8.3/ext/json/ext/parser/parser.c +0 -2216
  213. data/vendor/cache/ruby/2.2.0/gems/json-1.8.3/ext/json/ext/parser/parser.h +0 -92
  214. data/vendor/cache/ruby/2.2.0/gems/json-1.8.3/ext/json/ext/parser/parser.rl +0 -939
  215. data/vendor/cache/ruby/2.2.0/gems/json-1.8.3/ext/json/ext/parser/parser.so +0 -0
  216. data/vendor/cache/ruby/2.2.0/gems/json-1.8.3/ext/json/extconf.rb +0 -3
  217. data/vendor/cache/ruby/2.2.0/gems/json-1.8.3/install.rb +0 -23
  218. data/vendor/cache/ruby/2.2.0/gems/json-1.8.3/java/src/json/ext/ByteListTranscoder.java +0 -167
  219. data/vendor/cache/ruby/2.2.0/gems/json-1.8.3/java/src/json/ext/Generator.java +0 -444
  220. data/vendor/cache/ruby/2.2.0/gems/json-1.8.3/java/src/json/ext/GeneratorMethods.java +0 -232
  221. data/vendor/cache/ruby/2.2.0/gems/json-1.8.3/java/src/json/ext/GeneratorService.java +0 -43
  222. data/vendor/cache/ruby/2.2.0/gems/json-1.8.3/java/src/json/ext/GeneratorState.java +0 -543
  223. data/vendor/cache/ruby/2.2.0/gems/json-1.8.3/java/src/json/ext/OptionsReader.java +0 -114
  224. data/vendor/cache/ruby/2.2.0/gems/json-1.8.3/java/src/json/ext/Parser.java +0 -2645
  225. data/vendor/cache/ruby/2.2.0/gems/json-1.8.3/java/src/json/ext/Parser.rl +0 -969
  226. data/vendor/cache/ruby/2.2.0/gems/json-1.8.3/java/src/json/ext/ParserService.java +0 -35
  227. data/vendor/cache/ruby/2.2.0/gems/json-1.8.3/java/src/json/ext/RuntimeInfo.java +0 -121
  228. data/vendor/cache/ruby/2.2.0/gems/json-1.8.3/java/src/json/ext/StringDecoder.java +0 -167
  229. data/vendor/cache/ruby/2.2.0/gems/json-1.8.3/java/src/json/ext/StringEncoder.java +0 -106
  230. data/vendor/cache/ruby/2.2.0/gems/json-1.8.3/java/src/json/ext/Utils.java +0 -89
  231. data/vendor/cache/ruby/2.2.0/gems/json-1.8.3/json-java.gemspec +0 -23
  232. data/vendor/cache/ruby/2.2.0/gems/json-1.8.3/json.gemspec +0 -0
  233. data/vendor/cache/ruby/2.2.0/gems/json-1.8.3/json_pure.gemspec +0 -40
  234. data/vendor/cache/ruby/2.2.0/gems/json-1.8.3/lib/json.rb +0 -62
  235. data/vendor/cache/ruby/2.2.0/gems/json-1.8.3/lib/json/add/bigdecimal.rb +0 -28
  236. data/vendor/cache/ruby/2.2.0/gems/json-1.8.3/lib/json/add/complex.rb +0 -28
  237. data/vendor/cache/ruby/2.2.0/gems/json-1.8.3/lib/json/add/core.rb +0 -11
  238. data/vendor/cache/ruby/2.2.0/gems/json-1.8.3/lib/json/add/date.rb +0 -34
  239. data/vendor/cache/ruby/2.2.0/gems/json-1.8.3/lib/json/add/date_time.rb +0 -50
  240. data/vendor/cache/ruby/2.2.0/gems/json-1.8.3/lib/json/add/exception.rb +0 -31
  241. data/vendor/cache/ruby/2.2.0/gems/json-1.8.3/lib/json/add/ostruct.rb +0 -31
  242. data/vendor/cache/ruby/2.2.0/gems/json-1.8.3/lib/json/add/range.rb +0 -29
  243. data/vendor/cache/ruby/2.2.0/gems/json-1.8.3/lib/json/add/rational.rb +0 -27
  244. data/vendor/cache/ruby/2.2.0/gems/json-1.8.3/lib/json/add/regexp.rb +0 -30
  245. data/vendor/cache/ruby/2.2.0/gems/json-1.8.3/lib/json/add/struct.rb +0 -30
  246. data/vendor/cache/ruby/2.2.0/gems/json-1.8.3/lib/json/add/symbol.rb +0 -25
  247. data/vendor/cache/ruby/2.2.0/gems/json-1.8.3/lib/json/add/time.rb +0 -38
  248. data/vendor/cache/ruby/2.2.0/gems/json-1.8.3/lib/json/common.rb +0 -484
  249. data/vendor/cache/ruby/2.2.0/gems/json-1.8.3/lib/json/ext.rb +0 -21
  250. data/vendor/cache/ruby/2.2.0/gems/json-1.8.3/lib/json/ext/.keep +0 -0
  251. data/vendor/cache/ruby/2.2.0/gems/json-1.8.3/lib/json/ext/generator.so +0 -0
  252. data/vendor/cache/ruby/2.2.0/gems/json-1.8.3/lib/json/ext/parser.so +0 -0
  253. data/vendor/cache/ruby/2.2.0/gems/json-1.8.3/lib/json/generic_object.rb +0 -70
  254. data/vendor/cache/ruby/2.2.0/gems/json-1.8.3/lib/json/pure.rb +0 -21
  255. data/vendor/cache/ruby/2.2.0/gems/json-1.8.3/lib/json/pure/generator.rb +0 -522
  256. data/vendor/cache/ruby/2.2.0/gems/json-1.8.3/lib/json/pure/parser.rb +0 -359
  257. data/vendor/cache/ruby/2.2.0/gems/json-1.8.3/lib/json/version.rb +0 -8
  258. data/vendor/cache/ruby/2.2.0/gems/json-1.8.3/tests/fixtures/fail1.json +0 -1
  259. data/vendor/cache/ruby/2.2.0/gems/json-1.8.3/tests/fixtures/fail10.json +0 -1
  260. data/vendor/cache/ruby/2.2.0/gems/json-1.8.3/tests/fixtures/fail11.json +0 -1
  261. data/vendor/cache/ruby/2.2.0/gems/json-1.8.3/tests/fixtures/fail12.json +0 -1
  262. data/vendor/cache/ruby/2.2.0/gems/json-1.8.3/tests/fixtures/fail13.json +0 -1
  263. data/vendor/cache/ruby/2.2.0/gems/json-1.8.3/tests/fixtures/fail14.json +0 -1
  264. data/vendor/cache/ruby/2.2.0/gems/json-1.8.3/tests/fixtures/fail18.json +0 -1
  265. data/vendor/cache/ruby/2.2.0/gems/json-1.8.3/tests/fixtures/fail19.json +0 -1
  266. data/vendor/cache/ruby/2.2.0/gems/json-1.8.3/tests/fixtures/fail2.json +0 -1
  267. data/vendor/cache/ruby/2.2.0/gems/json-1.8.3/tests/fixtures/fail20.json +0 -1
  268. data/vendor/cache/ruby/2.2.0/gems/json-1.8.3/tests/fixtures/fail21.json +0 -1
  269. data/vendor/cache/ruby/2.2.0/gems/json-1.8.3/tests/fixtures/fail22.json +0 -1
  270. data/vendor/cache/ruby/2.2.0/gems/json-1.8.3/tests/fixtures/fail23.json +0 -1
  271. data/vendor/cache/ruby/2.2.0/gems/json-1.8.3/tests/fixtures/fail24.json +0 -1
  272. data/vendor/cache/ruby/2.2.0/gems/json-1.8.3/tests/fixtures/fail25.json +0 -1
  273. data/vendor/cache/ruby/2.2.0/gems/json-1.8.3/tests/fixtures/fail27.json +0 -2
  274. data/vendor/cache/ruby/2.2.0/gems/json-1.8.3/tests/fixtures/fail28.json +0 -2
  275. data/vendor/cache/ruby/2.2.0/gems/json-1.8.3/tests/fixtures/fail3.json +0 -1
  276. data/vendor/cache/ruby/2.2.0/gems/json-1.8.3/tests/fixtures/fail4.json +0 -1
  277. data/vendor/cache/ruby/2.2.0/gems/json-1.8.3/tests/fixtures/fail5.json +0 -1
  278. data/vendor/cache/ruby/2.2.0/gems/json-1.8.3/tests/fixtures/fail6.json +0 -1
  279. data/vendor/cache/ruby/2.2.0/gems/json-1.8.3/tests/fixtures/fail7.json +0 -1
  280. data/vendor/cache/ruby/2.2.0/gems/json-1.8.3/tests/fixtures/fail8.json +0 -1
  281. data/vendor/cache/ruby/2.2.0/gems/json-1.8.3/tests/fixtures/fail9.json +0 -1
  282. data/vendor/cache/ruby/2.2.0/gems/json-1.8.3/tests/fixtures/pass1.json +0 -56
  283. data/vendor/cache/ruby/2.2.0/gems/json-1.8.3/tests/fixtures/pass15.json +0 -1
  284. data/vendor/cache/ruby/2.2.0/gems/json-1.8.3/tests/fixtures/pass16.json +0 -1
  285. data/vendor/cache/ruby/2.2.0/gems/json-1.8.3/tests/fixtures/pass17.json +0 -1
  286. data/vendor/cache/ruby/2.2.0/gems/json-1.8.3/tests/fixtures/pass2.json +0 -1
  287. data/vendor/cache/ruby/2.2.0/gems/json-1.8.3/tests/fixtures/pass26.json +0 -1
  288. data/vendor/cache/ruby/2.2.0/gems/json-1.8.3/tests/fixtures/pass3.json +0 -6
  289. data/vendor/cache/ruby/2.2.0/gems/json-1.8.3/tests/setup_variant.rb +0 -11
  290. data/vendor/cache/ruby/2.2.0/gems/json-1.8.3/tests/test_json.rb +0 -553
  291. data/vendor/cache/ruby/2.2.0/gems/json-1.8.3/tests/test_json_addition.rb +0 -196
  292. data/vendor/cache/ruby/2.2.0/gems/json-1.8.3/tests/test_json_encoding.rb +0 -65
  293. data/vendor/cache/ruby/2.2.0/gems/json-1.8.3/tests/test_json_fixtures.rb +0 -35
  294. data/vendor/cache/ruby/2.2.0/gems/json-1.8.3/tests/test_json_generate.rb +0 -337
  295. data/vendor/cache/ruby/2.2.0/gems/json-1.8.3/tests/test_json_generic_object.rb +0 -75
  296. data/vendor/cache/ruby/2.2.0/gems/json-1.8.3/tests/test_json_string_matching.rb +0 -39
  297. data/vendor/cache/ruby/2.2.0/gems/json-1.8.3/tests/test_json_unicode.rb +0 -72
  298. data/vendor/cache/ruby/2.2.0/gems/json-1.8.3/tools/fuzz.rb +0 -139
  299. data/vendor/cache/ruby/2.2.0/gems/json-1.8.3/tools/server.rb +0 -62
  300. data/vendor/cache/ruby/2.2.0/gems/rspec-3.4.0/LICENSE.md +0 -27
  301. data/vendor/cache/ruby/2.2.0/gems/rspec-3.4.0/README.md +0 -39
  302. data/vendor/cache/ruby/2.2.0/gems/rspec-3.4.0/lib/rspec.rb +0 -3
  303. data/vendor/cache/ruby/2.2.0/gems/rspec-3.4.0/lib/rspec/version.rb +0 -5
  304. data/vendor/cache/ruby/2.2.0/gems/rspec-core-3.4.0/.document +0 -5
  305. data/vendor/cache/ruby/2.2.0/gems/rspec-core-3.4.0/.yardopts +0 -8
  306. data/vendor/cache/ruby/2.2.0/gems/rspec-core-3.4.0/Changelog.md +0 -1925
  307. data/vendor/cache/ruby/2.2.0/gems/rspec-core-3.4.0/LICENSE.md +0 -26
  308. data/vendor/cache/ruby/2.2.0/gems/rspec-core-3.4.0/README.md +0 -384
  309. data/vendor/cache/ruby/2.2.0/gems/rspec-core-3.4.0/exe/rspec +0 -4
  310. data/vendor/cache/ruby/2.2.0/gems/rspec-core-3.4.0/lib/rspec/autorun.rb +0 -3
  311. data/vendor/cache/ruby/2.2.0/gems/rspec-core-3.4.0/lib/rspec/core.rb +0 -181
  312. data/vendor/cache/ruby/2.2.0/gems/rspec-core-3.4.0/lib/rspec/core/backtrace_formatter.rb +0 -64
  313. data/vendor/cache/ruby/2.2.0/gems/rspec-core-3.4.0/lib/rspec/core/bisect/coordinator.rb +0 -66
  314. data/vendor/cache/ruby/2.2.0/gems/rspec-core-3.4.0/lib/rspec/core/bisect/example_minimizer.rb +0 -169
  315. data/vendor/cache/ruby/2.2.0/gems/rspec-core-3.4.0/lib/rspec/core/bisect/runner.rb +0 -139
  316. data/vendor/cache/ruby/2.2.0/gems/rspec-core-3.4.0/lib/rspec/core/bisect/server.rb +0 -61
  317. data/vendor/cache/ruby/2.2.0/gems/rspec-core-3.4.0/lib/rspec/core/configuration.rb +0 -1869
  318. data/vendor/cache/ruby/2.2.0/gems/rspec-core-3.4.0/lib/rspec/core/configuration_options.rb +0 -191
  319. data/vendor/cache/ruby/2.2.0/gems/rspec-core-3.4.0/lib/rspec/core/drb.rb +0 -111
  320. data/vendor/cache/ruby/2.2.0/gems/rspec-core-3.4.0/lib/rspec/core/dsl.rb +0 -96
  321. data/vendor/cache/ruby/2.2.0/gems/rspec-core-3.4.0/lib/rspec/core/example.rb +0 -620
  322. data/vendor/cache/ruby/2.2.0/gems/rspec-core-3.4.0/lib/rspec/core/example_group.rb +0 -816
  323. data/vendor/cache/ruby/2.2.0/gems/rspec-core-3.4.0/lib/rspec/core/example_status_persister.rb +0 -235
  324. data/vendor/cache/ruby/2.2.0/gems/rspec-core-3.4.0/lib/rspec/core/filter_manager.rb +0 -231
  325. data/vendor/cache/ruby/2.2.0/gems/rspec-core-3.4.0/lib/rspec/core/flat_map.rb +0 -20
  326. data/vendor/cache/ruby/2.2.0/gems/rspec-core-3.4.0/lib/rspec/core/formatters.rb +0 -255
  327. data/vendor/cache/ruby/2.2.0/gems/rspec-core-3.4.0/lib/rspec/core/formatters/base_formatter.rb +0 -70
  328. data/vendor/cache/ruby/2.2.0/gems/rspec-core-3.4.0/lib/rspec/core/formatters/base_text_formatter.rb +0 -77
  329. data/vendor/cache/ruby/2.2.0/gems/rspec-core-3.4.0/lib/rspec/core/formatters/bisect_formatter.rb +0 -68
  330. data/vendor/cache/ruby/2.2.0/gems/rspec-core-3.4.0/lib/rspec/core/formatters/bisect_progress_formatter.rb +0 -144
  331. data/vendor/cache/ruby/2.2.0/gems/rspec-core-3.4.0/lib/rspec/core/formatters/console_codes.rb +0 -65
  332. data/vendor/cache/ruby/2.2.0/gems/rspec-core-3.4.0/lib/rspec/core/formatters/deprecation_formatter.rb +0 -223
  333. data/vendor/cache/ruby/2.2.0/gems/rspec-core-3.4.0/lib/rspec/core/formatters/documentation_formatter.rb +0 -70
  334. data/vendor/cache/ruby/2.2.0/gems/rspec-core-3.4.0/lib/rspec/core/formatters/exception_presenter.rb +0 -480
  335. data/vendor/cache/ruby/2.2.0/gems/rspec-core-3.4.0/lib/rspec/core/formatters/fallback_message_formatter.rb +0 -28
  336. data/vendor/cache/ruby/2.2.0/gems/rspec-core-3.4.0/lib/rspec/core/formatters/helpers.rb +0 -109
  337. data/vendor/cache/ruby/2.2.0/gems/rspec-core-3.4.0/lib/rspec/core/formatters/html_formatter.rb +0 -151
  338. data/vendor/cache/ruby/2.2.0/gems/rspec-core-3.4.0/lib/rspec/core/formatters/html_printer.rb +0 -414
  339. data/vendor/cache/ruby/2.2.0/gems/rspec-core-3.4.0/lib/rspec/core/formatters/html_snippet_extractor.rb +0 -116
  340. data/vendor/cache/ruby/2.2.0/gems/rspec-core-3.4.0/lib/rspec/core/formatters/json_formatter.rb +0 -96
  341. data/vendor/cache/ruby/2.2.0/gems/rspec-core-3.4.0/lib/rspec/core/formatters/profile_formatter.rb +0 -68
  342. data/vendor/cache/ruby/2.2.0/gems/rspec-core-3.4.0/lib/rspec/core/formatters/progress_formatter.rb +0 -28
  343. data/vendor/cache/ruby/2.2.0/gems/rspec-core-3.4.0/lib/rspec/core/formatters/protocol.rb +0 -181
  344. data/vendor/cache/ruby/2.2.0/gems/rspec-core-3.4.0/lib/rspec/core/formatters/snippet_extractor.rb +0 -143
  345. data/vendor/cache/ruby/2.2.0/gems/rspec-core-3.4.0/lib/rspec/core/hooks.rb +0 -638
  346. data/vendor/cache/ruby/2.2.0/gems/rspec-core-3.4.0/lib/rspec/core/memoized_helpers.rb +0 -532
  347. data/vendor/cache/ruby/2.2.0/gems/rspec-core-3.4.0/lib/rspec/core/metadata.rb +0 -491
  348. data/vendor/cache/ruby/2.2.0/gems/rspec-core-3.4.0/lib/rspec/core/metadata_filter.rb +0 -240
  349. data/vendor/cache/ruby/2.2.0/gems/rspec-core-3.4.0/lib/rspec/core/minitest_assertions_adapter.rb +0 -31
  350. data/vendor/cache/ruby/2.2.0/gems/rspec-core-3.4.0/lib/rspec/core/mocking_adapters/flexmock.rb +0 -31
  351. data/vendor/cache/ruby/2.2.0/gems/rspec-core-3.4.0/lib/rspec/core/mocking_adapters/mocha.rb +0 -57
  352. data/vendor/cache/ruby/2.2.0/gems/rspec-core-3.4.0/lib/rspec/core/mocking_adapters/null.rb +0 -14
  353. data/vendor/cache/ruby/2.2.0/gems/rspec-core-3.4.0/lib/rspec/core/mocking_adapters/rr.rb +0 -31
  354. data/vendor/cache/ruby/2.2.0/gems/rspec-core-3.4.0/lib/rspec/core/mocking_adapters/rspec.rb +0 -32
  355. data/vendor/cache/ruby/2.2.0/gems/rspec-core-3.4.0/lib/rspec/core/notifications.rb +0 -499
  356. data/vendor/cache/ruby/2.2.0/gems/rspec-core-3.4.0/lib/rspec/core/option_parser.rb +0 -319
  357. data/vendor/cache/ruby/2.2.0/gems/rspec-core-3.4.0/lib/rspec/core/ordering.rb +0 -158
  358. data/vendor/cache/ruby/2.2.0/gems/rspec-core-3.4.0/lib/rspec/core/pending.rb +0 -165
  359. data/vendor/cache/ruby/2.2.0/gems/rspec-core-3.4.0/lib/rspec/core/profiler.rb +0 -32
  360. data/vendor/cache/ruby/2.2.0/gems/rspec-core-3.4.0/lib/rspec/core/project_initializer.rb +0 -48
  361. data/vendor/cache/ruby/2.2.0/gems/rspec-core-3.4.0/lib/rspec/core/project_initializer/.rspec +0 -2
  362. data/vendor/cache/ruby/2.2.0/gems/rspec-core-3.4.0/lib/rspec/core/project_initializer/spec/spec_helper.rb +0 -96
  363. data/vendor/cache/ruby/2.2.0/gems/rspec-core-3.4.0/lib/rspec/core/rake_task.rb +0 -167
  364. data/vendor/cache/ruby/2.2.0/gems/rspec-core-3.4.0/lib/rspec/core/reporter.rb +0 -236
  365. data/vendor/cache/ruby/2.2.0/gems/rspec-core-3.4.0/lib/rspec/core/ruby_project.rb +0 -53
  366. data/vendor/cache/ruby/2.2.0/gems/rspec-core-3.4.0/lib/rspec/core/runner.rb +0 -179
  367. data/vendor/cache/ruby/2.2.0/gems/rspec-core-3.4.0/lib/rspec/core/sandbox.rb +0 -37
  368. data/vendor/cache/ruby/2.2.0/gems/rspec-core-3.4.0/lib/rspec/core/set.rb +0 -49
  369. data/vendor/cache/ruby/2.2.0/gems/rspec-core-3.4.0/lib/rspec/core/shared_context.rb +0 -55
  370. data/vendor/cache/ruby/2.2.0/gems/rspec-core-3.4.0/lib/rspec/core/shared_example_group.rb +0 -212
  371. data/vendor/cache/ruby/2.2.0/gems/rspec-core-3.4.0/lib/rspec/core/shell_escape.rb +0 -49
  372. data/vendor/cache/ruby/2.2.0/gems/rspec-core-3.4.0/lib/rspec/core/source.rb +0 -76
  373. data/vendor/cache/ruby/2.2.0/gems/rspec-core-3.4.0/lib/rspec/core/source/location.rb +0 -13
  374. data/vendor/cache/ruby/2.2.0/gems/rspec-core-3.4.0/lib/rspec/core/source/node.rb +0 -93
  375. data/vendor/cache/ruby/2.2.0/gems/rspec-core-3.4.0/lib/rspec/core/source/syntax_highlighter.rb +0 -71
  376. data/vendor/cache/ruby/2.2.0/gems/rspec-core-3.4.0/lib/rspec/core/source/token.rb +0 -43
  377. data/vendor/cache/ruby/2.2.0/gems/rspec-core-3.4.0/lib/rspec/core/test_unit_assertions_adapter.rb +0 -30
  378. data/vendor/cache/ruby/2.2.0/gems/rspec-core-3.4.0/lib/rspec/core/version.rb +0 -9
  379. data/vendor/cache/ruby/2.2.0/gems/rspec-core-3.4.0/lib/rspec/core/warnings.rb +0 -40
  380. data/vendor/cache/ruby/2.2.0/gems/rspec-core-3.4.0/lib/rspec/core/world.rb +0 -197
  381. data/vendor/cache/ruby/2.2.0/gems/rspec-expectations-3.4.0/.document +0 -5
  382. data/vendor/cache/ruby/2.2.0/gems/rspec-expectations-3.4.0/.yardopts +0 -6
  383. data/vendor/cache/ruby/2.2.0/gems/rspec-expectations-3.4.0/Changelog.md +0 -979
  384. data/vendor/cache/ruby/2.2.0/gems/rspec-expectations-3.4.0/LICENSE.md +0 -25
  385. data/vendor/cache/ruby/2.2.0/gems/rspec-expectations-3.4.0/README.md +0 -303
  386. data/vendor/cache/ruby/2.2.0/gems/rspec-expectations-3.4.0/lib/rspec/expectations.rb +0 -81
  387. data/vendor/cache/ruby/2.2.0/gems/rspec-expectations-3.4.0/lib/rspec/expectations/configuration.rb +0 -164
  388. data/vendor/cache/ruby/2.2.0/gems/rspec-expectations-3.4.0/lib/rspec/expectations/expectation_target.rb +0 -113
  389. data/vendor/cache/ruby/2.2.0/gems/rspec-expectations-3.4.0/lib/rspec/expectations/fail_with.rb +0 -31
  390. data/vendor/cache/ruby/2.2.0/gems/rspec-expectations-3.4.0/lib/rspec/expectations/failure_aggregator.rb +0 -194
  391. data/vendor/cache/ruby/2.2.0/gems/rspec-expectations-3.4.0/lib/rspec/expectations/handler.rb +0 -170
  392. data/vendor/cache/ruby/2.2.0/gems/rspec-expectations-3.4.0/lib/rspec/expectations/minitest_integration.rb +0 -31
  393. data/vendor/cache/ruby/2.2.0/gems/rspec-expectations-3.4.0/lib/rspec/expectations/syntax.rb +0 -132
  394. data/vendor/cache/ruby/2.2.0/gems/rspec-expectations-3.4.0/lib/rspec/expectations/version.rb +0 -8
  395. data/vendor/cache/ruby/2.2.0/gems/rspec-expectations-3.4.0/lib/rspec/matchers.rb +0 -1037
  396. data/vendor/cache/ruby/2.2.0/gems/rspec-expectations-3.4.0/lib/rspec/matchers/aliased_matcher.rb +0 -116
  397. data/vendor/cache/ruby/2.2.0/gems/rspec-expectations-3.4.0/lib/rspec/matchers/built_in.rb +0 -52
  398. data/vendor/cache/ruby/2.2.0/gems/rspec-expectations-3.4.0/lib/rspec/matchers/built_in/all.rb +0 -85
  399. data/vendor/cache/ruby/2.2.0/gems/rspec-expectations-3.4.0/lib/rspec/matchers/built_in/base_matcher.rb +0 -181
  400. data/vendor/cache/ruby/2.2.0/gems/rspec-expectations-3.4.0/lib/rspec/matchers/built_in/be.rb +0 -285
  401. data/vendor/cache/ruby/2.2.0/gems/rspec-expectations-3.4.0/lib/rspec/matchers/built_in/be_between.rb +0 -77
  402. data/vendor/cache/ruby/2.2.0/gems/rspec-expectations-3.4.0/lib/rspec/matchers/built_in/be_instance_of.rb +0 -22
  403. data/vendor/cache/ruby/2.2.0/gems/rspec-expectations-3.4.0/lib/rspec/matchers/built_in/be_kind_of.rb +0 -16
  404. data/vendor/cache/ruby/2.2.0/gems/rspec-expectations-3.4.0/lib/rspec/matchers/built_in/be_within.rb +0 -72
  405. data/vendor/cache/ruby/2.2.0/gems/rspec-expectations-3.4.0/lib/rspec/matchers/built_in/change.rb +0 -354
  406. data/vendor/cache/ruby/2.2.0/gems/rspec-expectations-3.4.0/lib/rspec/matchers/built_in/compound.rb +0 -272
  407. data/vendor/cache/ruby/2.2.0/gems/rspec-expectations-3.4.0/lib/rspec/matchers/built_in/contain_exactly.rb +0 -286
  408. data/vendor/cache/ruby/2.2.0/gems/rspec-expectations-3.4.0/lib/rspec/matchers/built_in/cover.rb +0 -24
  409. data/vendor/cache/ruby/2.2.0/gems/rspec-expectations-3.4.0/lib/rspec/matchers/built_in/eq.rb +0 -40
  410. data/vendor/cache/ruby/2.2.0/gems/rspec-expectations-3.4.0/lib/rspec/matchers/built_in/eql.rb +0 -34
  411. data/vendor/cache/ruby/2.2.0/gems/rspec-expectations-3.4.0/lib/rspec/matchers/built_in/equal.rb +0 -81
  412. data/vendor/cache/ruby/2.2.0/gems/rspec-expectations-3.4.0/lib/rspec/matchers/built_in/exist.rb +0 -86
  413. data/vendor/cache/ruby/2.2.0/gems/rspec-expectations-3.4.0/lib/rspec/matchers/built_in/has.rb +0 -103
  414. data/vendor/cache/ruby/2.2.0/gems/rspec-expectations-3.4.0/lib/rspec/matchers/built_in/have_attributes.rb +0 -114
  415. data/vendor/cache/ruby/2.2.0/gems/rspec-expectations-3.4.0/lib/rspec/matchers/built_in/include.rb +0 -130
  416. data/vendor/cache/ruby/2.2.0/gems/rspec-expectations-3.4.0/lib/rspec/matchers/built_in/match.rb +0 -106
  417. data/vendor/cache/ruby/2.2.0/gems/rspec-expectations-3.4.0/lib/rspec/matchers/built_in/operators.rb +0 -128
  418. data/vendor/cache/ruby/2.2.0/gems/rspec-expectations-3.4.0/lib/rspec/matchers/built_in/output.rb +0 -200
  419. data/vendor/cache/ruby/2.2.0/gems/rspec-expectations-3.4.0/lib/rspec/matchers/built_in/raise_error.rb +0 -228
  420. data/vendor/cache/ruby/2.2.0/gems/rspec-expectations-3.4.0/lib/rspec/matchers/built_in/respond_to.rb +0 -90
  421. data/vendor/cache/ruby/2.2.0/gems/rspec-expectations-3.4.0/lib/rspec/matchers/built_in/satisfy.rb +0 -37
  422. data/vendor/cache/ruby/2.2.0/gems/rspec-expectations-3.4.0/lib/rspec/matchers/built_in/start_or_end_with.rb +0 -94
  423. data/vendor/cache/ruby/2.2.0/gems/rspec-expectations-3.4.0/lib/rspec/matchers/built_in/throw_symbol.rb +0 -132
  424. data/vendor/cache/ruby/2.2.0/gems/rspec-expectations-3.4.0/lib/rspec/matchers/built_in/yield.rb +0 -419
  425. data/vendor/cache/ruby/2.2.0/gems/rspec-expectations-3.4.0/lib/rspec/matchers/composable.rb +0 -185
  426. data/vendor/cache/ruby/2.2.0/gems/rspec-expectations-3.4.0/lib/rspec/matchers/dsl.rb +0 -453
  427. data/vendor/cache/ruby/2.2.0/gems/rspec-expectations-3.4.0/lib/rspec/matchers/english_phrasing.rb +0 -42
  428. data/vendor/cache/ruby/2.2.0/gems/rspec-expectations-3.4.0/lib/rspec/matchers/expecteds_for_multiple_diffs.rb +0 -73
  429. data/vendor/cache/ruby/2.2.0/gems/rspec-expectations-3.4.0/lib/rspec/matchers/fail_matchers.rb +0 -42
  430. data/vendor/cache/ruby/2.2.0/gems/rspec-expectations-3.4.0/lib/rspec/matchers/generated_descriptions.rb +0 -42
  431. data/vendor/cache/ruby/2.2.0/gems/rspec-expectations-3.4.0/lib/rspec/matchers/matcher_delegator.rb +0 -35
  432. data/vendor/cache/ruby/2.2.0/gems/rspec-expectations-3.4.0/lib/rspec/matchers/matcher_protocol.rb +0 -99
  433. data/vendor/cache/ruby/2.2.0/gems/rspec-its-1.2.0/.gitignore +0 -19
  434. data/vendor/cache/ruby/2.2.0/gems/rspec-its-1.2.0/.rspec +0 -3
  435. data/vendor/cache/ruby/2.2.0/gems/rspec-its-1.2.0/.travis.yml +0 -24
  436. data/vendor/cache/ruby/2.2.0/gems/rspec-its-1.2.0/Changelog.md +0 -49
  437. data/vendor/cache/ruby/2.2.0/gems/rspec-its-1.2.0/Gemfile +0 -26
  438. data/vendor/cache/ruby/2.2.0/gems/rspec-its-1.2.0/LICENSE.txt +0 -27
  439. data/vendor/cache/ruby/2.2.0/gems/rspec-its-1.2.0/README.md +0 -72
  440. data/vendor/cache/ruby/2.2.0/gems/rspec-its-1.2.0/Rakefile +0 -16
  441. data/vendor/cache/ruby/2.2.0/gems/rspec-its-1.2.0/cucumber.yml +0 -2
  442. data/vendor/cache/ruby/2.2.0/gems/rspec-its-1.2.0/features/its.feature +0 -125
  443. data/vendor/cache/ruby/2.2.0/gems/rspec-its-1.2.0/features/step_definitions/additional_cli_steps.rb +0 -21
  444. data/vendor/cache/ruby/2.2.0/gems/rspec-its-1.2.0/features/support/env.rb +0 -23
  445. data/vendor/cache/ruby/2.2.0/gems/rspec-its-1.2.0/lib/rspec/its.rb +0 -149
  446. data/vendor/cache/ruby/2.2.0/gems/rspec-its-1.2.0/lib/rspec/its/version.rb +0 -5
  447. data/vendor/cache/ruby/2.2.0/gems/rspec-its-1.2.0/rspec-its.gemspec +0 -28
  448. data/vendor/cache/ruby/2.2.0/gems/rspec-its-1.2.0/script/test_all +0 -20
  449. data/vendor/cache/ruby/2.2.0/gems/rspec-its-1.2.0/spec/rspec/its_spec.rb +0 -237
  450. data/vendor/cache/ruby/2.2.0/gems/rspec-its-1.2.0/spec/spec_helper.rb +0 -15
  451. data/vendor/cache/ruby/2.2.0/gems/rspec-mocks-3.4.0/.document +0 -5
  452. data/vendor/cache/ruby/2.2.0/gems/rspec-mocks-3.4.0/.yardopts +0 -6
  453. data/vendor/cache/ruby/2.2.0/gems/rspec-mocks-3.4.0/Changelog.md +0 -984
  454. data/vendor/cache/ruby/2.2.0/gems/rspec-mocks-3.4.0/LICENSE.md +0 -25
  455. data/vendor/cache/ruby/2.2.0/gems/rspec-mocks-3.4.0/README.md +0 -445
  456. data/vendor/cache/ruby/2.2.0/gems/rspec-mocks-3.4.0/lib/rspec/mocks.rb +0 -126
  457. data/vendor/cache/ruby/2.2.0/gems/rspec-mocks-3.4.0/lib/rspec/mocks/any_instance.rb +0 -11
  458. data/vendor/cache/ruby/2.2.0/gems/rspec-mocks-3.4.0/lib/rspec/mocks/any_instance/chain.rb +0 -110
  459. data/vendor/cache/ruby/2.2.0/gems/rspec-mocks-3.4.0/lib/rspec/mocks/any_instance/error_generator.rb +0 -31
  460. data/vendor/cache/ruby/2.2.0/gems/rspec-mocks-3.4.0/lib/rspec/mocks/any_instance/expect_chain_chain.rb +0 -35
  461. data/vendor/cache/ruby/2.2.0/gems/rspec-mocks-3.4.0/lib/rspec/mocks/any_instance/expectation_chain.rb +0 -48
  462. data/vendor/cache/ruby/2.2.0/gems/rspec-mocks-3.4.0/lib/rspec/mocks/any_instance/message_chains.rb +0 -83
  463. data/vendor/cache/ruby/2.2.0/gems/rspec-mocks-3.4.0/lib/rspec/mocks/any_instance/proxy.rb +0 -116
  464. data/vendor/cache/ruby/2.2.0/gems/rspec-mocks-3.4.0/lib/rspec/mocks/any_instance/recorder.rb +0 -264
  465. data/vendor/cache/ruby/2.2.0/gems/rspec-mocks-3.4.0/lib/rspec/mocks/any_instance/stub_chain.rb +0 -46
  466. data/vendor/cache/ruby/2.2.0/gems/rspec-mocks-3.4.0/lib/rspec/mocks/any_instance/stub_chain_chain.rb +0 -27
  467. data/vendor/cache/ruby/2.2.0/gems/rspec-mocks-3.4.0/lib/rspec/mocks/argument_list_matcher.rb +0 -100
  468. data/vendor/cache/ruby/2.2.0/gems/rspec-mocks-3.4.0/lib/rspec/mocks/argument_matchers.rb +0 -320
  469. data/vendor/cache/ruby/2.2.0/gems/rspec-mocks-3.4.0/lib/rspec/mocks/configuration.rb +0 -205
  470. data/vendor/cache/ruby/2.2.0/gems/rspec-mocks-3.4.0/lib/rspec/mocks/error_generator.rb +0 -367
  471. data/vendor/cache/ruby/2.2.0/gems/rspec-mocks-3.4.0/lib/rspec/mocks/example_methods.rb +0 -422
  472. data/vendor/cache/ruby/2.2.0/gems/rspec-mocks-3.4.0/lib/rspec/mocks/instance_method_stasher.rb +0 -134
  473. data/vendor/cache/ruby/2.2.0/gems/rspec-mocks-3.4.0/lib/rspec/mocks/marshal_extension.rb +0 -41
  474. data/vendor/cache/ruby/2.2.0/gems/rspec-mocks-3.4.0/lib/rspec/mocks/matchers/expectation_customization.rb +0 -20
  475. data/vendor/cache/ruby/2.2.0/gems/rspec-mocks-3.4.0/lib/rspec/mocks/matchers/have_received.rb +0 -128
  476. data/vendor/cache/ruby/2.2.0/gems/rspec-mocks-3.4.0/lib/rspec/mocks/matchers/receive.rb +0 -130
  477. data/vendor/cache/ruby/2.2.0/gems/rspec-mocks-3.4.0/lib/rspec/mocks/matchers/receive_message_chain.rb +0 -80
  478. data/vendor/cache/ruby/2.2.0/gems/rspec-mocks-3.4.0/lib/rspec/mocks/matchers/receive_messages.rb +0 -75
  479. data/vendor/cache/ruby/2.2.0/gems/rspec-mocks-3.4.0/lib/rspec/mocks/message_chain.rb +0 -87
  480. data/vendor/cache/ruby/2.2.0/gems/rspec-mocks-3.4.0/lib/rspec/mocks/message_expectation.rb +0 -717
  481. data/vendor/cache/ruby/2.2.0/gems/rspec-mocks-3.4.0/lib/rspec/mocks/method_double.rb +0 -287
  482. data/vendor/cache/ruby/2.2.0/gems/rspec-mocks-3.4.0/lib/rspec/mocks/method_reference.rb +0 -192
  483. data/vendor/cache/ruby/2.2.0/gems/rspec-mocks-3.4.0/lib/rspec/mocks/mutate_const.rb +0 -335
  484. data/vendor/cache/ruby/2.2.0/gems/rspec-mocks-3.4.0/lib/rspec/mocks/object_reference.rb +0 -149
  485. data/vendor/cache/ruby/2.2.0/gems/rspec-mocks-3.4.0/lib/rspec/mocks/order_group.rb +0 -81
  486. data/vendor/cache/ruby/2.2.0/gems/rspec-mocks-3.4.0/lib/rspec/mocks/proxy.rb +0 -484
  487. data/vendor/cache/ruby/2.2.0/gems/rspec-mocks-3.4.0/lib/rspec/mocks/space.rb +0 -238
  488. data/vendor/cache/ruby/2.2.0/gems/rspec-mocks-3.4.0/lib/rspec/mocks/standalone.rb +0 -3
  489. data/vendor/cache/ruby/2.2.0/gems/rspec-mocks-3.4.0/lib/rspec/mocks/syntax.rb +0 -325
  490. data/vendor/cache/ruby/2.2.0/gems/rspec-mocks-3.4.0/lib/rspec/mocks/targets.rb +0 -97
  491. data/vendor/cache/ruby/2.2.0/gems/rspec-mocks-3.4.0/lib/rspec/mocks/test_double.rb +0 -170
  492. data/vendor/cache/ruby/2.2.0/gems/rspec-mocks-3.4.0/lib/rspec/mocks/verifying_double.rb +0 -129
  493. data/vendor/cache/ruby/2.2.0/gems/rspec-mocks-3.4.0/lib/rspec/mocks/verifying_message_expectation.rb +0 -54
  494. data/vendor/cache/ruby/2.2.0/gems/rspec-mocks-3.4.0/lib/rspec/mocks/verifying_proxy.rb +0 -213
  495. data/vendor/cache/ruby/2.2.0/gems/rspec-mocks-3.4.0/lib/rspec/mocks/version.rb +0 -9
  496. data/vendor/cache/ruby/2.2.0/gems/rspec-support-3.4.0/Changelog.md +0 -141
  497. data/vendor/cache/ruby/2.2.0/gems/rspec-support-3.4.0/LICENSE.md +0 -23
  498. data/vendor/cache/ruby/2.2.0/gems/rspec-support-3.4.0/README.md +0 -40
  499. data/vendor/cache/ruby/2.2.0/gems/rspec-support-3.4.0/lib/rspec/support.rb +0 -139
  500. data/vendor/cache/ruby/2.2.0/gems/rspec-support-3.4.0/lib/rspec/support/caller_filter.rb +0 -83
  501. data/vendor/cache/ruby/2.2.0/gems/rspec-support-3.4.0/lib/rspec/support/comparable_version.rb +0 -46
  502. data/vendor/cache/ruby/2.2.0/gems/rspec-support-3.4.0/lib/rspec/support/differ.rb +0 -215
  503. data/vendor/cache/ruby/2.2.0/gems/rspec-support-3.4.0/lib/rspec/support/directory_maker.rb +0 -63
  504. data/vendor/cache/ruby/2.2.0/gems/rspec-support-3.4.0/lib/rspec/support/encoded_string.rb +0 -155
  505. data/vendor/cache/ruby/2.2.0/gems/rspec-support-3.4.0/lib/rspec/support/fuzzy_matcher.rb +0 -48
  506. data/vendor/cache/ruby/2.2.0/gems/rspec-support-3.4.0/lib/rspec/support/hunk_generator.rb +0 -47
  507. data/vendor/cache/ruby/2.2.0/gems/rspec-support-3.4.0/lib/rspec/support/matcher_definition.rb +0 -42
  508. data/vendor/cache/ruby/2.2.0/gems/rspec-support-3.4.0/lib/rspec/support/method_signature_verifier.rb +0 -290
  509. data/vendor/cache/ruby/2.2.0/gems/rspec-support-3.4.0/lib/rspec/support/mutex.rb +0 -73
  510. data/vendor/cache/ruby/2.2.0/gems/rspec-support-3.4.0/lib/rspec/support/object_formatter.rb +0 -108
  511. data/vendor/cache/ruby/2.2.0/gems/rspec-support-3.4.0/lib/rspec/support/recursive_const_methods.rb +0 -76
  512. data/vendor/cache/ruby/2.2.0/gems/rspec-support-3.4.0/lib/rspec/support/reentrant_mutex.rb +0 -53
  513. data/vendor/cache/ruby/2.2.0/gems/rspec-support-3.4.0/lib/rspec/support/ruby_features.rb +0 -147
  514. data/vendor/cache/ruby/2.2.0/gems/rspec-support-3.4.0/lib/rspec/support/spec.rb +0 -81
  515. data/vendor/cache/ruby/2.2.0/gems/rspec-support-3.4.0/lib/rspec/support/spec/deprecation_helpers.rb +0 -64
  516. data/vendor/cache/ruby/2.2.0/gems/rspec-support-3.4.0/lib/rspec/support/spec/formatting_support.rb +0 -9
  517. data/vendor/cache/ruby/2.2.0/gems/rspec-support-3.4.0/lib/rspec/support/spec/in_sub_process.rb +0 -52
  518. data/vendor/cache/ruby/2.2.0/gems/rspec-support-3.4.0/lib/rspec/support/spec/library_wide_checks.rb +0 -152
  519. data/vendor/cache/ruby/2.2.0/gems/rspec-support-3.4.0/lib/rspec/support/spec/shell_out.rb +0 -71
  520. data/vendor/cache/ruby/2.2.0/gems/rspec-support-3.4.0/lib/rspec/support/spec/stderr_splitter.rb +0 -63
  521. data/vendor/cache/ruby/2.2.0/gems/rspec-support-3.4.0/lib/rspec/support/spec/string_matcher.rb +0 -46
  522. data/vendor/cache/ruby/2.2.0/gems/rspec-support-3.4.0/lib/rspec/support/spec/with_isolated_directory.rb +0 -9
  523. data/vendor/cache/ruby/2.2.0/gems/rspec-support-3.4.0/lib/rspec/support/spec/with_isolated_stderr.rb +0 -13
  524. data/vendor/cache/ruby/2.2.0/gems/rspec-support-3.4.0/lib/rspec/support/version.rb +0 -7
  525. data/vendor/cache/ruby/2.2.0/gems/rspec-support-3.4.0/lib/rspec/support/version_checker.rb +0 -53
  526. data/vendor/cache/ruby/2.2.0/gems/rspec-support-3.4.0/lib/rspec/support/warnings.rb +0 -39
  527. data/vendor/cache/ruby/2.2.0/gems/simplecov-0.11.2/.gitignore +0 -31
  528. data/vendor/cache/ruby/2.2.0/gems/simplecov-0.11.2/.rspec +0 -3
  529. data/vendor/cache/ruby/2.2.0/gems/simplecov-0.11.2/.rubocop.yml +0 -73
  530. data/vendor/cache/ruby/2.2.0/gems/simplecov-0.11.2/.travis.yml +0 -27
  531. data/vendor/cache/ruby/2.2.0/gems/simplecov-0.11.2/.yardopts +0 -1
  532. data/vendor/cache/ruby/2.2.0/gems/simplecov-0.11.2/CHANGELOG.md +0 -391
  533. data/vendor/cache/ruby/2.2.0/gems/simplecov-0.11.2/CONTRIBUTING.md +0 -48
  534. data/vendor/cache/ruby/2.2.0/gems/simplecov-0.11.2/Gemfile +0 -34
  535. data/vendor/cache/ruby/2.2.0/gems/simplecov-0.11.2/MIT-LICENSE +0 -20
  536. data/vendor/cache/ruby/2.2.0/gems/simplecov-0.11.2/README.md +0 -646
  537. data/vendor/cache/ruby/2.2.0/gems/simplecov-0.11.2/Rakefile +0 -36
  538. data/vendor/cache/ruby/2.2.0/gems/simplecov-0.11.2/cucumber.yml +0 -13
  539. data/vendor/cache/ruby/2.2.0/gems/simplecov-0.11.2/doc/alternate-formatters.md +0 -36
  540. data/vendor/cache/ruby/2.2.0/gems/simplecov-0.11.2/doc/commercial-services.md +0 -20
  541. data/vendor/cache/ruby/2.2.0/gems/simplecov-0.11.2/doc/editor-integration.md +0 -13
  542. data/vendor/cache/ruby/2.2.0/gems/simplecov-0.11.2/features/config_autoload.feature +0 -46
  543. data/vendor/cache/ruby/2.2.0/gems/simplecov-0.11.2/features/config_command_name.feature +0 -45
  544. data/vendor/cache/ruby/2.2.0/gems/simplecov-0.11.2/features/config_coverage_dir.feature +0 -33
  545. data/vendor/cache/ruby/2.2.0/gems/simplecov-0.11.2/features/config_deactivate_merging.feature +0 -42
  546. data/vendor/cache/ruby/2.2.0/gems/simplecov-0.11.2/features/config_formatters.feature +0 -77
  547. data/vendor/cache/ruby/2.2.0/gems/simplecov-0.11.2/features/config_merge_timeout.feature +0 -39
  548. data/vendor/cache/ruby/2.2.0/gems/simplecov-0.11.2/features/config_nocov_token.feature +0 -79
  549. data/vendor/cache/ruby/2.2.0/gems/simplecov-0.11.2/features/config_profiles.feature +0 -44
  550. data/vendor/cache/ruby/2.2.0/gems/simplecov-0.11.2/features/config_project_name.feature +0 -27
  551. data/vendor/cache/ruby/2.2.0/gems/simplecov-0.11.2/features/config_styles.feature +0 -121
  552. data/vendor/cache/ruby/2.2.0/gems/simplecov-0.11.2/features/config_tracked_files.feature +0 -29
  553. data/vendor/cache/ruby/2.2.0/gems/simplecov-0.11.2/features/cucumber_basic.feature +0 -29
  554. data/vendor/cache/ruby/2.2.0/gems/simplecov-0.11.2/features/maximum_coverage_drop.feature +0 -36
  555. data/vendor/cache/ruby/2.2.0/gems/simplecov-0.11.2/features/merging_test_unit_and_rspec.feature +0 -44
  556. data/vendor/cache/ruby/2.2.0/gems/simplecov-0.11.2/features/minimum_coverage.feature +0 -59
  557. data/vendor/cache/ruby/2.2.0/gems/simplecov-0.11.2/features/refuse_coverage_drop.feature +0 -35
  558. data/vendor/cache/ruby/2.2.0/gems/simplecov-0.11.2/features/rspec_basic.feature +0 -32
  559. data/vendor/cache/ruby/2.2.0/gems/simplecov-0.11.2/features/rspec_fails_on_initialization.feature +0 -14
  560. data/vendor/cache/ruby/2.2.0/gems/simplecov-0.11.2/features/rspec_groups_and_filters_basic.feature +0 -29
  561. data/vendor/cache/ruby/2.2.0/gems/simplecov-0.11.2/features/rspec_groups_and_filters_complex.feature +0 -37
  562. data/vendor/cache/ruby/2.2.0/gems/simplecov-0.11.2/features/rspec_groups_using_filter_class.feature +0 -41
  563. data/vendor/cache/ruby/2.2.0/gems/simplecov-0.11.2/features/rspec_without_simplecov.feature +0 -20
  564. data/vendor/cache/ruby/2.2.0/gems/simplecov-0.11.2/features/skipping_code_blocks_manually.feature +0 -70
  565. data/vendor/cache/ruby/2.2.0/gems/simplecov-0.11.2/features/step_definitions/html_steps.rb +0 -44
  566. data/vendor/cache/ruby/2.2.0/gems/simplecov-0.11.2/features/step_definitions/simplecov_steps.rb +0 -68
  567. data/vendor/cache/ruby/2.2.0/gems/simplecov-0.11.2/features/step_definitions/transformers.rb +0 -13
  568. data/vendor/cache/ruby/2.2.0/gems/simplecov-0.11.2/features/step_definitions/web_steps.rb +0 -64
  569. data/vendor/cache/ruby/2.2.0/gems/simplecov-0.11.2/features/support/env.rb +0 -50
  570. data/vendor/cache/ruby/2.2.0/gems/simplecov-0.11.2/features/test_unit_basic.feature +0 -34
  571. data/vendor/cache/ruby/2.2.0/gems/simplecov-0.11.2/features/test_unit_groups_and_filters_basic.feature +0 -29
  572. data/vendor/cache/ruby/2.2.0/gems/simplecov-0.11.2/features/test_unit_groups_and_filters_complex.feature +0 -35
  573. data/vendor/cache/ruby/2.2.0/gems/simplecov-0.11.2/features/test_unit_groups_using_filter_class.feature +0 -40
  574. data/vendor/cache/ruby/2.2.0/gems/simplecov-0.11.2/features/test_unit_without_simplecov.feature +0 -20
  575. data/vendor/cache/ruby/2.2.0/gems/simplecov-0.11.2/features/unicode_compatiblity.feature +0 -67
  576. data/vendor/cache/ruby/2.2.0/gems/simplecov-0.11.2/lib/simplecov.rb +0 -183
  577. data/vendor/cache/ruby/2.2.0/gems/simplecov-0.11.2/lib/simplecov/command_guesser.rb +0 -59
  578. data/vendor/cache/ruby/2.2.0/gems/simplecov-0.11.2/lib/simplecov/configuration.rb +0 -296
  579. data/vendor/cache/ruby/2.2.0/gems/simplecov-0.11.2/lib/simplecov/defaults.rb +0 -122
  580. data/vendor/cache/ruby/2.2.0/gems/simplecov-0.11.2/lib/simplecov/exit_codes.rb +0 -8
  581. data/vendor/cache/ruby/2.2.0/gems/simplecov-0.11.2/lib/simplecov/file_list.rb +0 -59
  582. data/vendor/cache/ruby/2.2.0/gems/simplecov-0.11.2/lib/simplecov/filter.rb +0 -54
  583. data/vendor/cache/ruby/2.2.0/gems/simplecov-0.11.2/lib/simplecov/formatter.rb +0 -8
  584. data/vendor/cache/ruby/2.2.0/gems/simplecov-0.11.2/lib/simplecov/formatter/multi_formatter.rb +0 -32
  585. data/vendor/cache/ruby/2.2.0/gems/simplecov-0.11.2/lib/simplecov/formatter/simple_formatter.rb +0 -23
  586. data/vendor/cache/ruby/2.2.0/gems/simplecov-0.11.2/lib/simplecov/jruby_fix.rb +0 -42
  587. data/vendor/cache/ruby/2.2.0/gems/simplecov-0.11.2/lib/simplecov/last_run.rb +0 -22
  588. data/vendor/cache/ruby/2.2.0/gems/simplecov-0.11.2/lib/simplecov/merge_helpers.rb +0 -35
  589. data/vendor/cache/ruby/2.2.0/gems/simplecov-0.11.2/lib/simplecov/no_defaults.rb +0 -2
  590. data/vendor/cache/ruby/2.2.0/gems/simplecov-0.11.2/lib/simplecov/profiles.rb +0 -31
  591. data/vendor/cache/ruby/2.2.0/gems/simplecov-0.11.2/lib/simplecov/railtie.rb +0 -7
  592. data/vendor/cache/ruby/2.2.0/gems/simplecov-0.11.2/lib/simplecov/railties/tasks.rake +0 -11
  593. data/vendor/cache/ruby/2.2.0/gems/simplecov-0.11.2/lib/simplecov/result.rb +0 -82
  594. data/vendor/cache/ruby/2.2.0/gems/simplecov-0.11.2/lib/simplecov/result_merger.rb +0 -88
  595. data/vendor/cache/ruby/2.2.0/gems/simplecov-0.11.2/lib/simplecov/source_file.rb +0 -190
  596. data/vendor/cache/ruby/2.2.0/gems/simplecov-0.11.2/lib/simplecov/version.rb +0 -25
  597. data/vendor/cache/ruby/2.2.0/gems/simplecov-0.11.2/simplecov.gemspec +0 -27
  598. data/vendor/cache/ruby/2.2.0/gems/simplecov-0.11.2/spec/1_8_fallbacks_spec.rb +0 -29
  599. data/vendor/cache/ruby/2.2.0/gems/simplecov-0.11.2/spec/command_guesser_spec.rb +0 -46
  600. data/vendor/cache/ruby/2.2.0/gems/simplecov-0.11.2/spec/deleted_source_spec.rb +0 -12
  601. data/vendor/cache/ruby/2.2.0/gems/simplecov-0.11.2/spec/faked_project/Gemfile +0 -6
  602. data/vendor/cache/ruby/2.2.0/gems/simplecov-0.11.2/spec/faked_project/Rakefile +0 -8
  603. data/vendor/cache/ruby/2.2.0/gems/simplecov-0.11.2/spec/faked_project/cucumber.yml +0 -13
  604. data/vendor/cache/ruby/2.2.0/gems/simplecov-0.11.2/spec/faked_project/features/step_definitions/my_steps.rb +0 -22
  605. data/vendor/cache/ruby/2.2.0/gems/simplecov-0.11.2/spec/faked_project/features/support/env.rb +0 -12
  606. data/vendor/cache/ruby/2.2.0/gems/simplecov-0.11.2/spec/faked_project/features/test_stuff.feature +0 -6
  607. data/vendor/cache/ruby/2.2.0/gems/simplecov-0.11.2/spec/faked_project/lib/faked_project.rb +0 -11
  608. data/vendor/cache/ruby/2.2.0/gems/simplecov-0.11.2/spec/faked_project/lib/faked_project/framework_specific.rb +0 -18
  609. data/vendor/cache/ruby/2.2.0/gems/simplecov-0.11.2/spec/faked_project/lib/faked_project/meta_magic.rb +0 -24
  610. data/vendor/cache/ruby/2.2.0/gems/simplecov-0.11.2/spec/faked_project/lib/faked_project/some_class.rb +0 -28
  611. data/vendor/cache/ruby/2.2.0/gems/simplecov-0.11.2/spec/faked_project/lib/faked_project/untested_class.rb +0 -11
  612. data/vendor/cache/ruby/2.2.0/gems/simplecov-0.11.2/spec/faked_project/spec/faked_spec.rb +0 -11
  613. data/vendor/cache/ruby/2.2.0/gems/simplecov-0.11.2/spec/faked_project/spec/forking_spec.rb +0 -7
  614. data/vendor/cache/ruby/2.2.0/gems/simplecov-0.11.2/spec/faked_project/spec/meta_magic_spec.rb +0 -15
  615. data/vendor/cache/ruby/2.2.0/gems/simplecov-0.11.2/spec/faked_project/spec/some_class_spec.rb +0 -13
  616. data/vendor/cache/ruby/2.2.0/gems/simplecov-0.11.2/spec/faked_project/spec/spec_helper.rb +0 -11
  617. data/vendor/cache/ruby/2.2.0/gems/simplecov-0.11.2/spec/faked_project/test/faked_test.rb +0 -11
  618. data/vendor/cache/ruby/2.2.0/gems/simplecov-0.11.2/spec/faked_project/test/meta_magic_test.rb +0 -13
  619. data/vendor/cache/ruby/2.2.0/gems/simplecov-0.11.2/spec/faked_project/test/some_class_test.rb +0 -15
  620. data/vendor/cache/ruby/2.2.0/gems/simplecov-0.11.2/spec/faked_project/test/test_helper.rb +0 -12
  621. data/vendor/cache/ruby/2.2.0/gems/simplecov-0.11.2/spec/file_list_spec.rb +0 -48
  622. data/vendor/cache/ruby/2.2.0/gems/simplecov-0.11.2/spec/filters_spec.rb +0 -96
  623. data/vendor/cache/ruby/2.2.0/gems/simplecov-0.11.2/spec/fixtures/app/controllers/sample_controller.rb +0 -10
  624. data/vendor/cache/ruby/2.2.0/gems/simplecov-0.11.2/spec/fixtures/app/models/user.rb +0 -10
  625. data/vendor/cache/ruby/2.2.0/gems/simplecov-0.11.2/spec/fixtures/deleted_source_sample.rb +0 -15
  626. data/vendor/cache/ruby/2.2.0/gems/simplecov-0.11.2/spec/fixtures/frameworks/rspec_bad.rb +0 -9
  627. data/vendor/cache/ruby/2.2.0/gems/simplecov-0.11.2/spec/fixtures/frameworks/rspec_good.rb +0 -9
  628. data/vendor/cache/ruby/2.2.0/gems/simplecov-0.11.2/spec/fixtures/frameworks/testunit_bad.rb +0 -9
  629. data/vendor/cache/ruby/2.2.0/gems/simplecov-0.11.2/spec/fixtures/frameworks/testunit_good.rb +0 -9
  630. data/vendor/cache/ruby/2.2.0/gems/simplecov-0.11.2/spec/fixtures/iso-8859.rb +0 -3
  631. data/vendor/cache/ruby/2.2.0/gems/simplecov-0.11.2/spec/fixtures/resultset1.rb +0 -4
  632. data/vendor/cache/ruby/2.2.0/gems/simplecov-0.11.2/spec/fixtures/resultset2.rb +0 -4
  633. data/vendor/cache/ruby/2.2.0/gems/simplecov-0.11.2/spec/fixtures/sample.rb +0 -16
  634. data/vendor/cache/ruby/2.2.0/gems/simplecov-0.11.2/spec/fixtures/utf-8.rb +0 -3
  635. data/vendor/cache/ruby/2.2.0/gems/simplecov-0.11.2/spec/helper.rb +0 -24
  636. data/vendor/cache/ruby/2.2.0/gems/simplecov-0.11.2/spec/merge_helpers_spec.rb +0 -108
  637. data/vendor/cache/ruby/2.2.0/gems/simplecov-0.11.2/spec/multi_formatter_spec.rb +0 -20
  638. data/vendor/cache/ruby/2.2.0/gems/simplecov-0.11.2/spec/result_spec.rb +0 -207
  639. data/vendor/cache/ruby/2.2.0/gems/simplecov-0.11.2/spec/return_codes_spec.rb +0 -37
  640. data/vendor/cache/ruby/2.2.0/gems/simplecov-0.11.2/spec/source_file_line_spec.rb +0 -153
  641. data/vendor/cache/ruby/2.2.0/gems/simplecov-0.11.2/spec/source_file_spec.rb +0 -75
  642. data/vendor/cache/ruby/2.2.0/gems/simplecov-html-0.10.0/.document +0 -5
  643. data/vendor/cache/ruby/2.2.0/gems/simplecov-html-0.10.0/.gitignore +0 -27
  644. data/vendor/cache/ruby/2.2.0/gems/simplecov-html-0.10.0/.rubocop.yml +0 -50
  645. data/vendor/cache/ruby/2.2.0/gems/simplecov-html-0.10.0/.travis.yml +0 -27
  646. data/vendor/cache/ruby/2.2.0/gems/simplecov-html-0.10.0/Gemfile +0 -22
  647. data/vendor/cache/ruby/2.2.0/gems/simplecov-html-0.10.0/Guardfile +0 -12
  648. data/vendor/cache/ruby/2.2.0/gems/simplecov-html-0.10.0/LICENSE +0 -20
  649. data/vendor/cache/ruby/2.2.0/gems/simplecov-html-0.10.0/README.md +0 -30
  650. data/vendor/cache/ruby/2.2.0/gems/simplecov-html-0.10.0/Rakefile +0 -41
  651. data/vendor/cache/ruby/2.2.0/gems/simplecov-html-0.10.0/assets/javascripts/application.js +0 -127
  652. data/vendor/cache/ruby/2.2.0/gems/simplecov-html-0.10.0/assets/javascripts/libraries/jquery-1.6.2.min.js +0 -18
  653. data/vendor/cache/ruby/2.2.0/gems/simplecov-html-0.10.0/assets/javascripts/plugins/highlight.pack.js +0 -1
  654. data/vendor/cache/ruby/2.2.0/gems/simplecov-html-0.10.0/assets/javascripts/plugins/jquery.colorbox.js +0 -1090
  655. data/vendor/cache/ruby/2.2.0/gems/simplecov-html-0.10.0/assets/javascripts/plugins/jquery.dataTables.min.js +0 -152
  656. data/vendor/cache/ruby/2.2.0/gems/simplecov-html-0.10.0/assets/javascripts/plugins/jquery.timeago.js +0 -141
  657. data/vendor/cache/ruby/2.2.0/gems/simplecov-html-0.10.0/assets/javascripts/plugins/jquery.url.js +0 -174
  658. data/vendor/cache/ruby/2.2.0/gems/simplecov-html-0.10.0/assets/stylesheets/application.css +0 -3
  659. data/vendor/cache/ruby/2.2.0/gems/simplecov-html-0.10.0/assets/stylesheets/plugins/highlight.css +0 -129
  660. data/vendor/cache/ruby/2.2.0/gems/simplecov-html-0.10.0/assets/stylesheets/plugins/jquery-ui-1.8.4.custom.css +0 -295
  661. data/vendor/cache/ruby/2.2.0/gems/simplecov-html-0.10.0/assets/stylesheets/plugins/jquery.colorbox.css +0 -52
  662. data/vendor/cache/ruby/2.2.0/gems/simplecov-html-0.10.0/assets/stylesheets/reset.css +0 -103
  663. data/vendor/cache/ruby/2.2.0/gems/simplecov-html-0.10.0/assets/stylesheets/screen.css.sass +0 -220
  664. data/vendor/cache/ruby/2.2.0/gems/simplecov-html-0.10.0/lib/simplecov-html.rb +0 -110
  665. data/vendor/cache/ruby/2.2.0/gems/simplecov-html-0.10.0/lib/simplecov-html/version.rb +0 -27
  666. data/vendor/cache/ruby/2.2.0/gems/simplecov-html-0.10.0/public/application.css +0 -799
  667. data/vendor/cache/ruby/2.2.0/gems/simplecov-html-0.10.0/public/application.js +0 -1707
  668. data/vendor/cache/ruby/2.2.0/gems/simplecov-html-0.10.0/public/colorbox/border.png +0 -0
  669. data/vendor/cache/ruby/2.2.0/gems/simplecov-html-0.10.0/public/colorbox/controls.png +0 -0
  670. data/vendor/cache/ruby/2.2.0/gems/simplecov-html-0.10.0/public/colorbox/loading.gif +0 -0
  671. data/vendor/cache/ruby/2.2.0/gems/simplecov-html-0.10.0/public/colorbox/loading_background.png +0 -0
  672. data/vendor/cache/ruby/2.2.0/gems/simplecov-html-0.10.0/public/favicon_green.png +0 -0
  673. data/vendor/cache/ruby/2.2.0/gems/simplecov-html-0.10.0/public/favicon_red.png +0 -0
  674. data/vendor/cache/ruby/2.2.0/gems/simplecov-html-0.10.0/public/favicon_yellow.png +0 -0
  675. data/vendor/cache/ruby/2.2.0/gems/simplecov-html-0.10.0/public/loading.gif +0 -0
  676. data/vendor/cache/ruby/2.2.0/gems/simplecov-html-0.10.0/public/magnify.png +0 -0
  677. data/vendor/cache/ruby/2.2.0/gems/simplecov-html-0.10.0/public/smoothness/images/ui-bg_flat_0_aaaaaa_40x100.png +0 -0
  678. data/vendor/cache/ruby/2.2.0/gems/simplecov-html-0.10.0/public/smoothness/images/ui-bg_flat_75_ffffff_40x100.png +0 -0
  679. data/vendor/cache/ruby/2.2.0/gems/simplecov-html-0.10.0/public/smoothness/images/ui-bg_glass_55_fbf9ee_1x400.png +0 -0
  680. data/vendor/cache/ruby/2.2.0/gems/simplecov-html-0.10.0/public/smoothness/images/ui-bg_glass_65_ffffff_1x400.png +0 -0
  681. data/vendor/cache/ruby/2.2.0/gems/simplecov-html-0.10.0/public/smoothness/images/ui-bg_glass_75_dadada_1x400.png +0 -0
  682. data/vendor/cache/ruby/2.2.0/gems/simplecov-html-0.10.0/public/smoothness/images/ui-bg_glass_75_e6e6e6_1x400.png +0 -0
  683. data/vendor/cache/ruby/2.2.0/gems/simplecov-html-0.10.0/public/smoothness/images/ui-bg_glass_95_fef1ec_1x400.png +0 -0
  684. data/vendor/cache/ruby/2.2.0/gems/simplecov-html-0.10.0/public/smoothness/images/ui-bg_highlight-soft_75_cccccc_1x100.png +0 -0
  685. data/vendor/cache/ruby/2.2.0/gems/simplecov-html-0.10.0/public/smoothness/images/ui-icons_222222_256x240.png +0 -0
  686. data/vendor/cache/ruby/2.2.0/gems/simplecov-html-0.10.0/public/smoothness/images/ui-icons_2e83ff_256x240.png +0 -0
  687. data/vendor/cache/ruby/2.2.0/gems/simplecov-html-0.10.0/public/smoothness/images/ui-icons_454545_256x240.png +0 -0
  688. data/vendor/cache/ruby/2.2.0/gems/simplecov-html-0.10.0/public/smoothness/images/ui-icons_888888_256x240.png +0 -0
  689. data/vendor/cache/ruby/2.2.0/gems/simplecov-html-0.10.0/public/smoothness/images/ui-icons_cd0a0a_256x240.png +0 -0
  690. data/vendor/cache/ruby/2.2.0/gems/simplecov-html-0.10.0/simplecov-html.gemspec +0 -22
  691. data/vendor/cache/ruby/2.2.0/gems/simplecov-html-0.10.0/test/helper.rb +0 -4
  692. data/vendor/cache/ruby/2.2.0/gems/simplecov-html-0.10.0/test/test_simple_cov-html.rb +0 -8
  693. data/vendor/cache/ruby/2.2.0/gems/simplecov-html-0.10.0/views/file_list.erb +0 -45
  694. data/vendor/cache/ruby/2.2.0/gems/simplecov-html-0.10.0/views/layout.erb +0 -41
  695. data/vendor/cache/ruby/2.2.0/gems/simplecov-html-0.10.0/views/source_file.erb +0 -23
  696. data/vendor/cache/ruby/2.2.0/gems/thor-0.19.1/.document +0 -5
  697. data/vendor/cache/ruby/2.2.0/gems/thor-0.19.1/CHANGELOG.md +0 -139
  698. data/vendor/cache/ruby/2.2.0/gems/thor-0.19.1/LICENSE.md +0 -20
  699. data/vendor/cache/ruby/2.2.0/gems/thor-0.19.1/README.md +0 -41
  700. data/vendor/cache/ruby/2.2.0/gems/thor-0.19.1/Thorfile +0 -29
  701. data/vendor/cache/ruby/2.2.0/gems/thor-0.19.1/bin/thor +0 -6
  702. data/vendor/cache/ruby/2.2.0/gems/thor-0.19.1/lib/thor.rb +0 -484
  703. data/vendor/cache/ruby/2.2.0/gems/thor-0.19.1/lib/thor/actions.rb +0 -319
  704. data/vendor/cache/ruby/2.2.0/gems/thor-0.19.1/lib/thor/actions/create_file.rb +0 -103
  705. data/vendor/cache/ruby/2.2.0/gems/thor-0.19.1/lib/thor/actions/create_link.rb +0 -59
  706. data/vendor/cache/ruby/2.2.0/gems/thor-0.19.1/lib/thor/actions/directory.rb +0 -118
  707. data/vendor/cache/ruby/2.2.0/gems/thor-0.19.1/lib/thor/actions/empty_directory.rb +0 -135
  708. data/vendor/cache/ruby/2.2.0/gems/thor-0.19.1/lib/thor/actions/file_manipulation.rb +0 -316
  709. data/vendor/cache/ruby/2.2.0/gems/thor-0.19.1/lib/thor/actions/inject_into_file.rb +0 -107
  710. data/vendor/cache/ruby/2.2.0/gems/thor-0.19.1/lib/thor/base.rb +0 -656
  711. data/vendor/cache/ruby/2.2.0/gems/thor-0.19.1/lib/thor/command.rb +0 -133
  712. data/vendor/cache/ruby/2.2.0/gems/thor-0.19.1/lib/thor/core_ext/hash_with_indifferent_access.rb +0 -77
  713. data/vendor/cache/ruby/2.2.0/gems/thor-0.19.1/lib/thor/core_ext/io_binary_read.rb +0 -10
  714. data/vendor/cache/ruby/2.2.0/gems/thor-0.19.1/lib/thor/core_ext/ordered_hash.rb +0 -98
  715. data/vendor/cache/ruby/2.2.0/gems/thor-0.19.1/lib/thor/error.rb +0 -32
  716. data/vendor/cache/ruby/2.2.0/gems/thor-0.19.1/lib/thor/group.rb +0 -281
  717. data/vendor/cache/ruby/2.2.0/gems/thor-0.19.1/lib/thor/invocation.rb +0 -178
  718. data/vendor/cache/ruby/2.2.0/gems/thor-0.19.1/lib/thor/line_editor.rb +0 -17
  719. data/vendor/cache/ruby/2.2.0/gems/thor-0.19.1/lib/thor/line_editor/basic.rb +0 -35
  720. data/vendor/cache/ruby/2.2.0/gems/thor-0.19.1/lib/thor/line_editor/readline.rb +0 -88
  721. data/vendor/cache/ruby/2.2.0/gems/thor-0.19.1/lib/thor/parser.rb +0 -4
  722. data/vendor/cache/ruby/2.2.0/gems/thor-0.19.1/lib/thor/parser/argument.rb +0 -73
  723. data/vendor/cache/ruby/2.2.0/gems/thor-0.19.1/lib/thor/parser/arguments.rb +0 -175
  724. data/vendor/cache/ruby/2.2.0/gems/thor-0.19.1/lib/thor/parser/option.rb +0 -125
  725. data/vendor/cache/ruby/2.2.0/gems/thor-0.19.1/lib/thor/parser/options.rb +0 -218
  726. data/vendor/cache/ruby/2.2.0/gems/thor-0.19.1/lib/thor/rake_compat.rb +0 -71
  727. data/vendor/cache/ruby/2.2.0/gems/thor-0.19.1/lib/thor/runner.rb +0 -322
  728. data/vendor/cache/ruby/2.2.0/gems/thor-0.19.1/lib/thor/shell.rb +0 -81
  729. data/vendor/cache/ruby/2.2.0/gems/thor-0.19.1/lib/thor/shell/basic.rb +0 -421
  730. data/vendor/cache/ruby/2.2.0/gems/thor-0.19.1/lib/thor/shell/color.rb +0 -149
  731. data/vendor/cache/ruby/2.2.0/gems/thor-0.19.1/lib/thor/shell/html.rb +0 -126
  732. data/vendor/cache/ruby/2.2.0/gems/thor-0.19.1/lib/thor/util.rb +0 -267
  733. data/vendor/cache/ruby/2.2.0/gems/thor-0.19.1/lib/thor/version.rb +0 -3
  734. data/vendor/cache/ruby/2.2.0/gems/thor-0.19.1/spec/actions/create_file_spec.rb +0 -168
  735. data/vendor/cache/ruby/2.2.0/gems/thor-0.19.1/spec/actions/create_link_spec.rb +0 -96
  736. data/vendor/cache/ruby/2.2.0/gems/thor-0.19.1/spec/actions/directory_spec.rb +0 -169
  737. data/vendor/cache/ruby/2.2.0/gems/thor-0.19.1/spec/actions/empty_directory_spec.rb +0 -129
  738. data/vendor/cache/ruby/2.2.0/gems/thor-0.19.1/spec/actions/file_manipulation_spec.rb +0 -392
  739. data/vendor/cache/ruby/2.2.0/gems/thor-0.19.1/spec/actions/inject_into_file_spec.rb +0 -135
  740. data/vendor/cache/ruby/2.2.0/gems/thor-0.19.1/spec/actions_spec.rb +0 -331
  741. data/vendor/cache/ruby/2.2.0/gems/thor-0.19.1/spec/base_spec.rb +0 -298
  742. data/vendor/cache/ruby/2.2.0/gems/thor-0.19.1/spec/command_spec.rb +0 -79
  743. data/vendor/cache/ruby/2.2.0/gems/thor-0.19.1/spec/core_ext/hash_with_indifferent_access_spec.rb +0 -48
  744. data/vendor/cache/ruby/2.2.0/gems/thor-0.19.1/spec/core_ext/ordered_hash_spec.rb +0 -115
  745. data/vendor/cache/ruby/2.2.0/gems/thor-0.19.1/spec/exit_condition_spec.rb +0 -19
  746. data/vendor/cache/ruby/2.2.0/gems/thor-0.19.1/spec/fixtures/application.rb +0 -2
  747. data/vendor/cache/ruby/2.2.0/gems/thor-0.19.1/spec/fixtures/app{1}/README +0 -3
  748. data/vendor/cache/ruby/2.2.0/gems/thor-0.19.1/spec/fixtures/bundle/execute.rb +0 -6
  749. data/vendor/cache/ruby/2.2.0/gems/thor-0.19.1/spec/fixtures/bundle/main.thor +0 -1
  750. data/vendor/cache/ruby/2.2.0/gems/thor-0.19.1/spec/fixtures/command.thor +0 -10
  751. data/vendor/cache/ruby/2.2.0/gems/thor-0.19.1/spec/fixtures/doc/%file_name%.rb.tt +0 -1
  752. data/vendor/cache/ruby/2.2.0/gems/thor-0.19.1/spec/fixtures/doc/COMMENTER +0 -11
  753. data/vendor/cache/ruby/2.2.0/gems/thor-0.19.1/spec/fixtures/doc/README +0 -3
  754. data/vendor/cache/ruby/2.2.0/gems/thor-0.19.1/spec/fixtures/doc/block_helper.rb +0 -3
  755. data/vendor/cache/ruby/2.2.0/gems/thor-0.19.1/spec/fixtures/doc/config.rb +0 -1
  756. data/vendor/cache/ruby/2.2.0/gems/thor-0.19.1/spec/fixtures/doc/config.yaml.tt +0 -1
  757. data/vendor/cache/ruby/2.2.0/gems/thor-0.19.1/spec/fixtures/doc/excluding/%file_name%.rb.tt +0 -1
  758. data/vendor/cache/ruby/2.2.0/gems/thor-0.19.1/spec/fixtures/enum.thor +0 -10
  759. data/vendor/cache/ruby/2.2.0/gems/thor-0.19.1/spec/fixtures/group.thor +0 -128
  760. data/vendor/cache/ruby/2.2.0/gems/thor-0.19.1/spec/fixtures/invoke.thor +0 -131
  761. data/vendor/cache/ruby/2.2.0/gems/thor-0.19.1/spec/fixtures/path with spaces b/data/vendor/cache/ruby/2.2.0/gems/thor-0.19.1/spec/fixtures/path with → spaces +0 -0
  762. data/vendor/cache/ruby/2.2.0/gems/thor-0.19.1/spec/fixtures/preserve/script.sh +0 -3
  763. data/vendor/cache/ruby/2.2.0/gems/thor-0.19.1/spec/fixtures/script.thor +0 -220
  764. data/vendor/cache/ruby/2.2.0/gems/thor-0.19.1/spec/fixtures/subcommand.thor +0 -17
  765. data/vendor/cache/ruby/2.2.0/gems/thor-0.19.1/spec/group_spec.rb +0 -222
  766. data/vendor/cache/ruby/2.2.0/gems/thor-0.19.1/spec/helper.rb +0 -80
  767. data/vendor/cache/ruby/2.2.0/gems/thor-0.19.1/spec/invocation_spec.rb +0 -120
  768. data/vendor/cache/ruby/2.2.0/gems/thor-0.19.1/spec/line_editor/basic_spec.rb +0 -28
  769. data/vendor/cache/ruby/2.2.0/gems/thor-0.19.1/spec/line_editor/readline_spec.rb +0 -69
  770. data/vendor/cache/ruby/2.2.0/gems/thor-0.19.1/spec/line_editor_spec.rb +0 -43
  771. data/vendor/cache/ruby/2.2.0/gems/thor-0.19.1/spec/parser/argument_spec.rb +0 -53
  772. data/vendor/cache/ruby/2.2.0/gems/thor-0.19.1/spec/parser/arguments_spec.rb +0 -66
  773. data/vendor/cache/ruby/2.2.0/gems/thor-0.19.1/spec/parser/option_spec.rb +0 -210
  774. data/vendor/cache/ruby/2.2.0/gems/thor-0.19.1/spec/parser/options_spec.rb +0 -414
  775. data/vendor/cache/ruby/2.2.0/gems/thor-0.19.1/spec/quality_spec.rb +0 -75
  776. data/vendor/cache/ruby/2.2.0/gems/thor-0.19.1/spec/rake_compat_spec.rb +0 -72
  777. data/vendor/cache/ruby/2.2.0/gems/thor-0.19.1/spec/register_spec.rb +0 -227
  778. data/vendor/cache/ruby/2.2.0/gems/thor-0.19.1/spec/runner_spec.rb +0 -246
  779. data/vendor/cache/ruby/2.2.0/gems/thor-0.19.1/spec/sandbox/application.rb +0 -2
  780. data/vendor/cache/ruby/2.2.0/gems/thor-0.19.1/spec/sandbox/app{1}/README +0 -3
  781. data/vendor/cache/ruby/2.2.0/gems/thor-0.19.1/spec/sandbox/bundle/execute.rb +0 -6
  782. data/vendor/cache/ruby/2.2.0/gems/thor-0.19.1/spec/sandbox/bundle/main.thor +0 -1
  783. data/vendor/cache/ruby/2.2.0/gems/thor-0.19.1/spec/sandbox/command.thor +0 -10
  784. data/vendor/cache/ruby/2.2.0/gems/thor-0.19.1/spec/sandbox/doc/%file_name%.rb.tt +0 -1
  785. data/vendor/cache/ruby/2.2.0/gems/thor-0.19.1/spec/sandbox/doc/COMMENTER +0 -11
  786. data/vendor/cache/ruby/2.2.0/gems/thor-0.19.1/spec/sandbox/doc/README +0 -3
  787. data/vendor/cache/ruby/2.2.0/gems/thor-0.19.1/spec/sandbox/doc/block_helper.rb +0 -3
  788. data/vendor/cache/ruby/2.2.0/gems/thor-0.19.1/spec/sandbox/doc/config.rb +0 -1
  789. data/vendor/cache/ruby/2.2.0/gems/thor-0.19.1/spec/sandbox/doc/config.yaml.tt +0 -1
  790. data/vendor/cache/ruby/2.2.0/gems/thor-0.19.1/spec/sandbox/doc/excluding/%file_name%.rb.tt +0 -1
  791. data/vendor/cache/ruby/2.2.0/gems/thor-0.19.1/spec/sandbox/enum.thor +0 -10
  792. data/vendor/cache/ruby/2.2.0/gems/thor-0.19.1/spec/sandbox/group.thor +0 -128
  793. data/vendor/cache/ruby/2.2.0/gems/thor-0.19.1/spec/sandbox/invoke.thor +0 -131
  794. data/vendor/cache/ruby/2.2.0/gems/thor-0.19.1/spec/sandbox/path with spaces b/data/vendor/cache/ruby/2.2.0/gems/thor-0.19.1/spec/sandbox/path with → spaces +0 -0
  795. data/vendor/cache/ruby/2.2.0/gems/thor-0.19.1/spec/sandbox/preserve/script.sh +0 -3
  796. data/vendor/cache/ruby/2.2.0/gems/thor-0.19.1/spec/sandbox/script.thor +0 -220
  797. data/vendor/cache/ruby/2.2.0/gems/thor-0.19.1/spec/sandbox/subcommand.thor +0 -17
  798. data/vendor/cache/ruby/2.2.0/gems/thor-0.19.1/spec/shell/basic_spec.rb +0 -337
  799. data/vendor/cache/ruby/2.2.0/gems/thor-0.19.1/spec/shell/color_spec.rb +0 -119
  800. data/vendor/cache/ruby/2.2.0/gems/thor-0.19.1/spec/shell/html_spec.rb +0 -31
  801. data/vendor/cache/ruby/2.2.0/gems/thor-0.19.1/spec/shell_spec.rb +0 -47
  802. data/vendor/cache/ruby/2.2.0/gems/thor-0.19.1/spec/subcommand_spec.rb +0 -48
  803. data/vendor/cache/ruby/2.2.0/gems/thor-0.19.1/spec/thor_spec.rb +0 -505
  804. data/vendor/cache/ruby/2.2.0/gems/thor-0.19.1/spec/util_spec.rb +0 -196
  805. data/vendor/cache/ruby/2.2.0/gems/thor-0.19.1/thor.gemspec +0 -24
  806. data/vendor/cache/ruby/2.2.0/specifications/badgerbadgerbadger-0.14.0.gemspec +0 -70
  807. data/vendor/cache/ruby/2.2.0/specifications/diff-lcs-1.2.5.gemspec +0 -68
  808. data/vendor/cache/ruby/2.2.0/specifications/docile-1.1.5.gemspec +0 -48
  809. data/vendor/cache/ruby/2.2.0/specifications/git-1.3.0.gemspec +0 -42
  810. data/vendor/cache/ruby/2.2.0/specifications/json-1.8.3.gemspec +0 -0
  811. data/vendor/cache/ruby/2.2.0/specifications/rspec-3.4.0.gemspec +0 -42
  812. data/vendor/cache/ruby/2.2.0/specifications/rspec-core-3.4.0.gemspec +0 -68
  813. data/vendor/cache/ruby/2.2.0/specifications/rspec-expectations-3.4.0.gemspec +0 -50
  814. data/vendor/cache/ruby/2.2.0/specifications/rspec-its-1.2.0.gemspec +0 -47
  815. data/vendor/cache/ruby/2.2.0/specifications/rspec-mocks-3.4.0.gemspec +0 -50
  816. data/vendor/cache/ruby/2.2.0/specifications/rspec-support-3.4.0.gemspec +0 -41
  817. data/vendor/cache/ruby/2.2.0/specifications/simplecov-0.11.2.gemspec +0 -42
  818. data/vendor/cache/ruby/2.2.0/specifications/simplecov-html-0.10.0.gemspec +0 -33
  819. data/vendor/cache/ruby/2.2.0/specifications/thor-0.19.1.gemspec +0 -34
  820. data/vendor/cache/simplecov-0.11.2.gem +0 -0
  821. data/vendor/cache/simplecov-html-0.10.0.gem +0 -0
@@ -1,31 +0,0 @@
1
- require 'rspec/expectations'
2
-
3
- Minitest::Test.class_eval do
4
- include ::RSpec::Matchers
5
-
6
- def expect(*a, &b)
7
- assert(true) # so each expectation gets counted in minitest's assertion stats
8
- super
9
- end
10
-
11
- # Convert a `MultipleExpectationsNotMetError` to a `Minitest::Assertion` error so
12
- # it gets counted in minitest's summary stats as a failure rather than an error.
13
- # It would be nice to make `MultipleExpectationsNotMetError` subclass
14
- # `Minitest::Assertion`, but Minitest's implementation does not treat subclasses
15
- # the same, so this is the best we can do.
16
- def aggregate_failures(*args, &block)
17
- super
18
- rescue RSpec::Expectations::MultipleExpectationsNotMetError => e
19
- assertion_failed = Minitest::Assertion.new(e.message)
20
- assertion_failed.set_backtrace e.backtrace
21
- raise assertion_failed
22
- end
23
- end
24
-
25
- module RSpec
26
- module Expectations
27
- remove_const :ExpectationNotMetError
28
- # Exception raised when an expectation fails.
29
- ExpectationNotMetError = ::Minitest::Assertion
30
- end
31
- end
@@ -1,132 +0,0 @@
1
- module RSpec
2
- module Expectations
3
- # @api private
4
- # Provides methods for enabling and disabling the available
5
- # syntaxes provided by rspec-expectations.
6
- module Syntax
7
- module_function
8
-
9
- # @api private
10
- # Determines where we add `should` and `should_not`.
11
- def default_should_host
12
- @default_should_host ||= ::Object.ancestors.last
13
- end
14
-
15
- # @api private
16
- # Instructs rspec-expectations to warn on first usage of `should` or `should_not`.
17
- # Enabled by default. This is largely here to facilitate testing.
18
- def warn_about_should!
19
- @warn_about_should = true
20
- end
21
-
22
- # @api private
23
- # Generates a deprecation warning for the given method if no warning
24
- # has already been issued.
25
- def warn_about_should_unless_configured(method_name)
26
- return unless @warn_about_should
27
-
28
- RSpec.deprecate(
29
- "Using `#{method_name}` from rspec-expectations' old `:should` syntax without explicitly enabling the syntax",
30
- :replacement => "the new `:expect` syntax or explicitly enable `:should` with `config.expect_with(:rspec) { |c| c.syntax = :should }`"
31
- )
32
-
33
- @warn_about_should = false
34
- end
35
-
36
- # @api private
37
- # Enables the `should` syntax.
38
- def enable_should(syntax_host=default_should_host)
39
- @warn_about_should = false if syntax_host == default_should_host
40
- return if should_enabled?(syntax_host)
41
-
42
- syntax_host.module_exec do
43
- def should(matcher=nil, message=nil, &block)
44
- ::RSpec::Expectations::Syntax.warn_about_should_unless_configured(__method__)
45
- ::RSpec::Expectations::PositiveExpectationHandler.handle_matcher(self, matcher, message, &block)
46
- end
47
-
48
- def should_not(matcher=nil, message=nil, &block)
49
- ::RSpec::Expectations::Syntax.warn_about_should_unless_configured(__method__)
50
- ::RSpec::Expectations::NegativeExpectationHandler.handle_matcher(self, matcher, message, &block)
51
- end
52
- end
53
- end
54
-
55
- # @api private
56
- # Disables the `should` syntax.
57
- def disable_should(syntax_host=default_should_host)
58
- return unless should_enabled?(syntax_host)
59
-
60
- syntax_host.module_exec do
61
- undef should
62
- undef should_not
63
- end
64
- end
65
-
66
- # @api private
67
- # Enables the `expect` syntax.
68
- def enable_expect(syntax_host=::RSpec::Matchers)
69
- return if expect_enabled?(syntax_host)
70
-
71
- syntax_host.module_exec do
72
- def expect(value=::RSpec::Expectations::ExpectationTarget::UndefinedValue, &block)
73
- ::RSpec::Expectations::ExpectationTarget.for(value, block)
74
- end
75
- end
76
- end
77
-
78
- # @api private
79
- # Disables the `expect` syntax.
80
- def disable_expect(syntax_host=::RSpec::Matchers)
81
- return unless expect_enabled?(syntax_host)
82
-
83
- syntax_host.module_exec do
84
- undef expect
85
- end
86
- end
87
-
88
- # @api private
89
- # Indicates whether or not the `should` syntax is enabled.
90
- def should_enabled?(syntax_host=default_should_host)
91
- syntax_host.method_defined?(:should)
92
- end
93
-
94
- # @api private
95
- # Indicates whether or not the `expect` syntax is enabled.
96
- def expect_enabled?(syntax_host=::RSpec::Matchers)
97
- syntax_host.method_defined?(:expect)
98
- end
99
- end
100
- end
101
- end
102
-
103
- if defined?(BasicObject)
104
- # The legacy `:should` syntax adds the following methods directly to
105
- # `BasicObject` so that they are available off of any object. Note, however,
106
- # that this syntax does not always play nice with delegate/proxy objects.
107
- # We recommend you use the non-monkeypatching `:expect` syntax instead.
108
- class BasicObject
109
- # @method should
110
- # Passes if `matcher` returns true. Available on every `Object`.
111
- # @example
112
- # actual.should eq expected
113
- # actual.should match /expression/
114
- # @param [Matcher]
115
- # matcher
116
- # @param [String] message optional message to display when the expectation fails
117
- # @return [Boolean] true if the expectation succeeds (else raises)
118
- # @note This is only available when you have enabled the `:should` syntax.
119
- # @see RSpec::Matchers
120
-
121
- # @method should_not
122
- # Passes if `matcher` returns false. Available on every `Object`.
123
- # @example
124
- # actual.should_not eq expected
125
- # @param [Matcher]
126
- # matcher
127
- # @param [String] message optional message to display when the expectation fails
128
- # @return [Boolean] false if the negative expectation succeeds (else raises)
129
- # @note This is only available when you have enabled the `:should` syntax.
130
- # @see RSpec::Matchers
131
- end
132
- end
@@ -1,8 +0,0 @@
1
- module RSpec
2
- module Expectations
3
- # @private
4
- module Version
5
- STRING = '3.4.0'
6
- end
7
- end
8
- end
@@ -1,1037 +0,0 @@
1
- require 'rspec/support'
2
- RSpec::Support.require_rspec_support 'matcher_definition'
3
- RSpec::Support.define_optimized_require_for_rspec(:matchers) { |f| require_relative(f) }
4
-
5
- %w[
6
- english_phrasing
7
- composable
8
- built_in
9
- generated_descriptions
10
- dsl
11
- matcher_delegator
12
- aliased_matcher
13
- expecteds_for_multiple_diffs
14
- ].each { |file| RSpec::Support.require_rspec_matchers(file) }
15
-
16
- # RSpec's top level namespace. All of rspec-expectations is contained
17
- # in the `RSpec::Expectations` and `RSpec::Matchers` namespaces.
18
- module RSpec
19
- # RSpec::Matchers provides a number of useful matchers we use to define
20
- # expectations. Any object that implements the [matcher protocol](Matchers/MatcherProtocol)
21
- # can be used as a matcher.
22
- #
23
- # ## Predicates
24
- #
25
- # In addition to matchers that are defined explicitly, RSpec will create
26
- # custom matchers on the fly for any arbitrary predicate, giving your specs a
27
- # much more natural language feel.
28
- #
29
- # A Ruby predicate is a method that ends with a "?" and returns true or false.
30
- # Common examples are `empty?`, `nil?`, and `instance_of?`.
31
- #
32
- # All you need to do is write `expect(..).to be_` followed by the predicate
33
- # without the question mark, and RSpec will figure it out from there.
34
- # For example:
35
- #
36
- # expect([]).to be_empty # => [].empty?() | passes
37
- # expect([]).not_to be_empty # => [].empty?() | fails
38
- #
39
- # In addtion to prefixing the predicate matchers with "be_", you can also use "be_a_"
40
- # and "be_an_", making your specs read much more naturally:
41
- #
42
- # expect("a string").to be_an_instance_of(String) # =>"a string".instance_of?(String) # passes
43
- #
44
- # expect(3).to be_a_kind_of(Fixnum) # => 3.kind_of?(Numeric) | passes
45
- # expect(3).to be_a_kind_of(Numeric) # => 3.kind_of?(Numeric) | passes
46
- # expect(3).to be_an_instance_of(Fixnum) # => 3.instance_of?(Fixnum) | passes
47
- # expect(3).not_to be_an_instance_of(Numeric) # => 3.instance_of?(Numeric) | fails
48
- #
49
- # RSpec will also create custom matchers for predicates like `has_key?`. To
50
- # use this feature, just state that the object should have_key(:key) and RSpec will
51
- # call has_key?(:key) on the target. For example:
52
- #
53
- # expect(:a => "A").to have_key(:a)
54
- # expect(:a => "A").to have_key(:b) # fails
55
- #
56
- # You can use this feature to invoke any predicate that begins with "has_", whether it is
57
- # part of the Ruby libraries (like `Hash#has_key?`) or a method you wrote on your own class.
58
- #
59
- # Note that RSpec does not provide composable aliases for these dynamic predicate
60
- # matchers. You can easily define your own aliases, though:
61
- #
62
- # RSpec::Matchers.alias_matcher :a_user_who_is_an_admin, :be_an_admin
63
- # expect(user_list).to include(a_user_who_is_an_admin)
64
- #
65
- # ## Custom Matchers
66
- #
67
- # When you find that none of the stock matchers provide a natural feeling
68
- # expectation, you can very easily write your own using RSpec's matcher DSL
69
- # or writing one from scratch.
70
- #
71
- # ### Matcher DSL
72
- #
73
- # Imagine that you are writing a game in which players can be in various
74
- # zones on a virtual board. To specify that bob should be in zone 4, you
75
- # could say:
76
- #
77
- # expect(bob.current_zone).to eql(Zone.new("4"))
78
- #
79
- # But you might find it more expressive to say:
80
- #
81
- # expect(bob).to be_in_zone("4")
82
- #
83
- # and/or
84
- #
85
- # expect(bob).not_to be_in_zone("3")
86
- #
87
- # You can create such a matcher like so:
88
- #
89
- # RSpec::Matchers.define :be_in_zone do |zone|
90
- # match do |player|
91
- # player.in_zone?(zone)
92
- # end
93
- # end
94
- #
95
- # This will generate a <tt>be_in_zone</tt> method that returns a matcher
96
- # with logical default messages for failures. You can override the failure
97
- # messages and the generated description as follows:
98
- #
99
- # RSpec::Matchers.define :be_in_zone do |zone|
100
- # match do |player|
101
- # player.in_zone?(zone)
102
- # end
103
- #
104
- # failure_message do |player|
105
- # # generate and return the appropriate string.
106
- # end
107
- #
108
- # failure_message_when_negated do |player|
109
- # # generate and return the appropriate string.
110
- # end
111
- #
112
- # description do
113
- # # generate and return the appropriate string.
114
- # end
115
- # end
116
- #
117
- # Each of the message-generation methods has access to the block arguments
118
- # passed to the <tt>create</tt> method (in this case, <tt>zone</tt>). The
119
- # failure message methods (<tt>failure_message</tt> and
120
- # <tt>failure_message_when_negated</tt>) are passed the actual value (the
121
- # receiver of <tt>expect(..)</tt> or <tt>expect(..).not_to</tt>).
122
- #
123
- # ### Custom Matcher from scratch
124
- #
125
- # You could also write a custom matcher from scratch, as follows:
126
- #
127
- # class BeInZone
128
- # def initialize(expected)
129
- # @expected = expected
130
- # end
131
- #
132
- # def matches?(target)
133
- # @target = target
134
- # @target.current_zone.eql?(Zone.new(@expected))
135
- # end
136
- #
137
- # def failure_message
138
- # "expected #{@target.inspect} to be in Zone #{@expected}"
139
- # end
140
- #
141
- # def failure_message_when_negated
142
- # "expected #{@target.inspect} not to be in Zone #{@expected}"
143
- # end
144
- # end
145
- #
146
- # ... and a method like this:
147
- #
148
- # def be_in_zone(expected)
149
- # BeInZone.new(expected)
150
- # end
151
- #
152
- # And then expose the method to your specs. This is normally done
153
- # by including the method and the class in a module, which is then
154
- # included in your spec:
155
- #
156
- # module CustomGameMatchers
157
- # class BeInZone
158
- # # ...
159
- # end
160
- #
161
- # def be_in_zone(expected)
162
- # # ...
163
- # end
164
- # end
165
- #
166
- # describe "Player behaviour" do
167
- # include CustomGameMatchers
168
- # # ...
169
- # end
170
- #
171
- # or you can include in globally in a spec_helper.rb file <tt>require</tt>d
172
- # from your spec file(s):
173
- #
174
- # RSpec::configure do |config|
175
- # config.include(CustomGameMatchers)
176
- # end
177
- #
178
- # ### Making custom matchers composable
179
- #
180
- # RSpec's built-in matchers are designed to be composed, in expressions like:
181
- #
182
- # expect(["barn", 2.45]).to contain_exactly(
183
- # a_value_within(0.1).of(2.5),
184
- # a_string_starting_with("bar")
185
- # )
186
- #
187
- # Custom matchers can easily participate in composed matcher expressions like these.
188
- # Include {RSpec::Matchers::Composable} in your custom matcher to make it support
189
- # being composed (matchers defined using the DSL have this included automatically).
190
- # Within your matcher's `matches?` method (or the `match` block, if using the DSL),
191
- # use `values_match?(expected, actual)` rather than `expected == actual`.
192
- # Under the covers, `values_match?` is able to match arbitrary
193
- # nested data structures containing a mix of both matchers and non-matcher objects.
194
- # It uses `===` and `==` to perform the matching, considering the values to
195
- # match if either returns `true`. The `Composable` mixin also provides some helper
196
- # methods for surfacing the matcher descriptions within your matcher's description
197
- # or failure messages.
198
- #
199
- # RSpec's built-in matchers each have a number of aliases that rephrase the matcher
200
- # from a verb phrase (such as `be_within`) to a noun phrase (such as `a_value_within`),
201
- # which reads better when the matcher is passed as an argument in a composed matcher
202
- # expressions, and also uses the noun-phrase wording in the matcher's `description`,
203
- # for readable failure messages. You can alias your custom matchers in similar fashion
204
- # using {RSpec::Matchers.alias_matcher}.
205
- module Matchers
206
- # @method expect
207
- # Supports `expect(actual).to matcher` syntax by wrapping `actual` in an
208
- # `ExpectationTarget`.
209
- # @example
210
- # expect(actual).to eq(expected)
211
- # expect(actual).not_to eq(expected)
212
- # @return [ExpectationTarget]
213
- # @see ExpectationTarget#to
214
- # @see ExpectationTarget#not_to
215
-
216
- # Defines a matcher alias. The returned matcher's `description` will be overriden
217
- # to reflect the phrasing of the new name, which will be used in failure messages
218
- # when passed as an argument to another matcher in a composed matcher expression.
219
- #
220
- # @param new_name [Symbol] the new name for the matcher
221
- # @param old_name [Symbol] the original name for the matcher
222
- # @param options [Hash] options for the aliased matcher
223
- # @option options [Class] :klass the ruby class to use as the decorator. (Not normally used).
224
- # @yield [String] optional block that, when given, is used to define the overriden
225
- # logic. The yielded arg is the original description or failure message. If no
226
- # block is provided, a default override is used based on the old and new names.
227
- #
228
- # @example
229
- # RSpec::Matchers.alias_matcher :a_list_that_sums_to, :sum_to
230
- # sum_to(3).description # => "sum to 3"
231
- # a_list_that_sums_to(3).description # => "a list that sums to 3"
232
- #
233
- # @example
234
- # RSpec::Matchers.alias_matcher :a_list_sorted_by, :be_sorted_by do |description|
235
- # description.sub("be sorted by", "a list sorted by")
236
- # end
237
- #
238
- # be_sorted_by(:age).description # => "be sorted by age"
239
- # a_list_sorted_by(:age).description # => "a list sorted by age"
240
- #
241
- # @!macro [attach] alias_matcher
242
- # @!parse
243
- # alias $1 $2
244
- def self.alias_matcher(new_name, old_name, options={}, &description_override)
245
- description_override ||= lambda do |old_desc|
246
- old_desc.gsub(EnglishPhrasing.split_words(old_name), EnglishPhrasing.split_words(new_name))
247
- end
248
- klass = options.fetch(:klass) { AliasedMatcher }
249
-
250
- define_method(new_name) do |*args, &block|
251
- matcher = __send__(old_name, *args, &block)
252
- klass.new(matcher, description_override)
253
- end
254
- end
255
-
256
- # Defines a negated matcher. The returned matcher's `description` and `failure_message`
257
- # will be overriden to reflect the phrasing of the new name, and the match logic will
258
- # be based on the original matcher but negated.
259
- #
260
- # @param negated_name [Symbol] the name for the negated matcher
261
- # @param base_name [Symbol] the name of the original matcher that will be negated
262
- # @yield [String] optional block that, when given, is used to define the overriden
263
- # logic. The yielded arg is the original description or failure message. If no
264
- # block is provided, a default override is used based on the old and new names.
265
- #
266
- # @example
267
- # RSpec::Matchers.define_negated_matcher :exclude, :include
268
- # include(1, 2).description # => "include 1 and 2"
269
- # exclude(1, 2).description # => "exclude 1 and 2"
270
- #
271
- # @note While the most obvious negated form may be to add a `not_` prefix,
272
- # the failure messages you get with that form can be confusing (e.g.
273
- # "expected [actual] to not [verb], but did not"). We've found it works
274
- # best to find a more positive name for the negated form, such as
275
- # `avoid_changing` rather than `not_change`.
276
- def self.define_negated_matcher(negated_name, base_name, &description_override)
277
- alias_matcher(negated_name, base_name, :klass => AliasedNegatedMatcher, &description_override)
278
- end
279
-
280
- # Allows multiple expectations in the provided block to fail, and then
281
- # aggregates them into a single exception, rather than aborting on the
282
- # first expectation failure like normal. This allows you to see all
283
- # failures from an entire set of expectations without splitting each
284
- # off into its own example (which may slow things down if the example
285
- # setup is expensive).
286
- #
287
- # @param label [String] label for this aggregation block, which will be
288
- # included in the aggregated exception message.
289
- # @param metadata [Hash] additional metadata about this failure aggregation
290
- # block. If multiple expectations fail, it will be exposed from the
291
- # {Expectations::MultipleExpectationsNotMetError} exception. Mostly
292
- # intended for internal RSpec use but you can use it as well.
293
- # @yield Block containing as many expectation as you want. The block is
294
- # simply yielded to, so you can trust that anything that works outside
295
- # the block should work within it.
296
- # @raise [Expectations::MultipleExpectationsNotMetError] raised when
297
- # multiple expectations fail.
298
- # @raise [Expectations::ExpectationNotMetError] raised when a single
299
- # expectation fails.
300
- # @raise [Exception] other sorts of exceptions will be raised as normal.
301
- #
302
- # @example
303
- # aggregate_failures("verifying response") do
304
- # expect(response.status).to eq(200)
305
- # expect(response.headers).to include("Content-Type" => "text/plain")
306
- # expect(response.body).to include("Success")
307
- # end
308
- #
309
- # @note The implementation of this feature uses a thread-local variable,
310
- # which means that if you have an expectation failure in another thread,
311
- # it'll abort like normal.
312
- def aggregate_failures(label=nil, metadata={}, &block)
313
- Expectations::FailureAggregator.new(label, metadata).aggregate(&block)
314
- end
315
-
316
- # Passes if actual is truthy (anything but false or nil)
317
- def be_truthy
318
- BuiltIn::BeTruthy.new
319
- end
320
- alias_matcher :a_truthy_value, :be_truthy
321
-
322
- # Passes if actual is falsey (false or nil)
323
- def be_falsey
324
- BuiltIn::BeFalsey.new
325
- end
326
- alias_matcher :be_falsy, :be_falsey
327
- alias_matcher :a_falsey_value, :be_falsey
328
- alias_matcher :a_falsy_value, :be_falsey
329
-
330
- # Passes if actual is nil
331
- def be_nil
332
- BuiltIn::BeNil.new
333
- end
334
- alias_matcher :a_nil_value, :be_nil
335
-
336
- # @example
337
- # expect(actual).to be_truthy
338
- # expect(actual).to be_falsey
339
- # expect(actual).to be_nil
340
- # expect(actual).to be_[arbitrary_predicate](*args)
341
- # expect(actual).not_to be_nil
342
- # expect(actual).not_to be_[arbitrary_predicate](*args)
343
- #
344
- # Given true, false, or nil, will pass if actual value is true, false or
345
- # nil (respectively). Given no args means the caller should satisfy an if
346
- # condition (to be or not to be).
347
- #
348
- # Predicates are any Ruby method that ends in a "?" and returns true or
349
- # false. Given be_ followed by arbitrary_predicate (without the "?"),
350
- # RSpec will match convert that into a query against the target object.
351
- #
352
- # The arbitrary_predicate feature will handle any predicate prefixed with
353
- # "be_an_" (e.g. be_an_instance_of), "be_a_" (e.g. be_a_kind_of) or "be_"
354
- # (e.g. be_empty), letting you choose the prefix that best suits the
355
- # predicate.
356
- def be(*args)
357
- args.empty? ? Matchers::BuiltIn::Be.new : equal(*args)
358
- end
359
- alias_matcher :a_value, :be, :klass => AliasedMatcherWithOperatorSupport
360
-
361
- # passes if target.kind_of?(klass)
362
- def be_a(klass)
363
- be_a_kind_of(klass)
364
- end
365
- alias_method :be_an, :be_a
366
-
367
- # Passes if actual.instance_of?(expected)
368
- #
369
- # @example
370
- # expect(5).to be_an_instance_of(Fixnum)
371
- # expect(5).not_to be_an_instance_of(Numeric)
372
- # expect(5).not_to be_an_instance_of(Float)
373
- def be_an_instance_of(expected)
374
- BuiltIn::BeAnInstanceOf.new(expected)
375
- end
376
- alias_method :be_instance_of, :be_an_instance_of
377
- alias_matcher :an_instance_of, :be_an_instance_of
378
-
379
- # Passes if actual.kind_of?(expected)
380
- #
381
- # @example
382
- # expect(5).to be_a_kind_of(Fixnum)
383
- # expect(5).to be_a_kind_of(Numeric)
384
- # expect(5).not_to be_a_kind_of(Float)
385
- def be_a_kind_of(expected)
386
- BuiltIn::BeAKindOf.new(expected)
387
- end
388
- alias_method :be_kind_of, :be_a_kind_of
389
- alias_matcher :a_kind_of, :be_a_kind_of
390
-
391
- # Passes if actual.between?(min, max). Works with any Comparable object,
392
- # including String, Symbol, Time, or Numeric (Fixnum, Bignum, Integer,
393
- # Float, Complex, and Rational).
394
- #
395
- # By default, `be_between` is inclusive (i.e. passes when given either the max or min value),
396
- # but you can make it `exclusive` by chaining that off the matcher.
397
- #
398
- # @example
399
- # expect(5).to be_between(1, 10)
400
- # expect(11).not_to be_between(1, 10)
401
- # expect(10).not_to be_between(1, 10).exclusive
402
- def be_between(min, max)
403
- BuiltIn::BeBetween.new(min, max)
404
- end
405
- alias_matcher :a_value_between, :be_between
406
-
407
- # Passes if actual == expected +/- delta
408
- #
409
- # @example
410
- # expect(result).to be_within(0.5).of(3.0)
411
- # expect(result).not_to be_within(0.5).of(3.0)
412
- def be_within(delta)
413
- BuiltIn::BeWithin.new(delta)
414
- end
415
- alias_matcher :a_value_within, :be_within
416
- alias_matcher :within, :be_within
417
-
418
- # Applied to a proc, specifies that its execution will cause some value to
419
- # change.
420
- #
421
- # @param [Object] receiver
422
- # @param [Symbol] message the message to send the receiver
423
- #
424
- # You can either pass <tt>receiver</tt> and <tt>message</tt>, or a block,
425
- # but not both.
426
- #
427
- # When passing a block, it must use the `{ ... }` format, not
428
- # do/end, as `{ ... }` binds to the `change` method, whereas do/end
429
- # would errantly bind to the `expect(..).to` or `expect(...).not_to` method.
430
- #
431
- # You can chain any of the following off of the end to specify details
432
- # about the change:
433
- #
434
- # * `from`
435
- # * `to`
436
- #
437
- # or any one of:
438
- #
439
- # * `by`
440
- # * `by_at_least`
441
- # * `by_at_most`
442
- #
443
- # @example
444
- # expect {
445
- # team.add_player(player)
446
- # }.to change(roster, :count)
447
- #
448
- # expect {
449
- # team.add_player(player)
450
- # }.to change(roster, :count).by(1)
451
- #
452
- # expect {
453
- # team.add_player(player)
454
- # }.to change(roster, :count).by_at_least(1)
455
- #
456
- # expect {
457
- # team.add_player(player)
458
- # }.to change(roster, :count).by_at_most(1)
459
- #
460
- # string = "string"
461
- # expect {
462
- # string.reverse!
463
- # }.to change { string }.from("string").to("gnirts")
464
- #
465
- # string = "string"
466
- # expect {
467
- # string
468
- # }.not_to change { string }.from("string")
469
- #
470
- # expect {
471
- # person.happy_birthday
472
- # }.to change(person, :birthday).from(32).to(33)
473
- #
474
- # expect {
475
- # employee.develop_great_new_social_networking_app
476
- # }.to change(employee, :title).from("Mail Clerk").to("CEO")
477
- #
478
- # expect {
479
- # doctor.leave_office
480
- # }.to change(doctor, :sign).from(/is in/).to(/is out/)
481
- #
482
- # user = User.new(:type => "admin")
483
- # expect {
484
- # user.symbolize_type
485
- # }.to change(user, :type).from(String).to(Symbol)
486
- #
487
- # == Notes
488
- #
489
- # Evaluates `receiver.message` or `block` before and after it
490
- # evaluates the block passed to `expect`.
491
- #
492
- # `expect( ... ).not_to change` supports the form that specifies `from`
493
- # (which specifies what you expect the starting, unchanged value to be)
494
- # but does not support forms with subsequent calls to `by`, `by_at_least`,
495
- # `by_at_most` or `to`.
496
- def change(receiver=nil, message=nil, &block)
497
- BuiltIn::Change.new(receiver, message, &block)
498
- end
499
- alias_matcher :a_block_changing, :change
500
- alias_matcher :changing, :change
501
-
502
- # Passes if actual contains all of the expected regardless of order.
503
- # This works for collections. Pass in multiple args and it will only
504
- # pass if all args are found in collection.
505
- #
506
- # @note This is also available using the `=~` operator with `should`,
507
- # but `=~` is not supported with `expect`.
508
- #
509
- # @example
510
- # expect([1, 2, 3]).to contain_exactly(1, 2, 3)
511
- # expect([1, 2, 3]).to contain_exactly(1, 3, 2)
512
- #
513
- # @see #match_array
514
- def contain_exactly(*items)
515
- BuiltIn::ContainExactly.new(items)
516
- end
517
- alias_matcher :a_collection_containing_exactly, :contain_exactly
518
- alias_matcher :containing_exactly, :contain_exactly
519
-
520
- # Passes if actual covers expected. This works for
521
- # Ranges. You can also pass in multiple args
522
- # and it will only pass if all args are found in Range.
523
- #
524
- # @example
525
- # expect(1..10).to cover(5)
526
- # expect(1..10).to cover(4, 6)
527
- # expect(1..10).to cover(4, 6, 11) # fails
528
- # expect(1..10).not_to cover(11)
529
- # expect(1..10).not_to cover(5) # fails
530
- #
531
- # ### Warning:: Ruby >= 1.9 only
532
- def cover(*values)
533
- BuiltIn::Cover.new(*values)
534
- end
535
- alias_matcher :a_range_covering, :cover
536
- alias_matcher :covering, :cover
537
-
538
- # Matches if the actual value ends with the expected value(s). In the case
539
- # of a string, matches against the last `expected.length` characters of the
540
- # actual string. In the case of an array, matches against the last
541
- # `expected.length` elements of the actual array.
542
- #
543
- # @example
544
- # expect("this string").to end_with "string"
545
- # expect([0, 1, 2, 3, 4]).to end_with 4
546
- # expect([0, 2, 3, 4, 4]).to end_with 3, 4
547
- def end_with(*expected)
548
- BuiltIn::EndWith.new(*expected)
549
- end
550
- alias_matcher :a_collection_ending_with, :end_with
551
- alias_matcher :a_string_ending_with, :end_with
552
- alias_matcher :ending_with, :end_with
553
-
554
- # Passes if <tt>actual == expected</tt>.
555
- #
556
- # See http://www.ruby-doc.org/core/classes/Object.html#M001057 for more
557
- # information about equality in Ruby.
558
- #
559
- # @example
560
- # expect(5).to eq(5)
561
- # expect(5).not_to eq(3)
562
- def eq(expected)
563
- BuiltIn::Eq.new(expected)
564
- end
565
- alias_matcher :an_object_eq_to, :eq
566
- alias_matcher :eq_to, :eq
567
-
568
- # Passes if `actual.eql?(expected)`
569
- #
570
- # See http://www.ruby-doc.org/core/classes/Object.html#M001057 for more
571
- # information about equality in Ruby.
572
- #
573
- # @example
574
- # expect(5).to eql(5)
575
- # expect(5).not_to eql(3)
576
- def eql(expected)
577
- BuiltIn::Eql.new(expected)
578
- end
579
- alias_matcher :an_object_eql_to, :eql
580
- alias_matcher :eql_to, :eql
581
-
582
- # Passes if <tt>actual.equal?(expected)</tt> (object identity).
583
- #
584
- # See http://www.ruby-doc.org/core/classes/Object.html#M001057 for more
585
- # information about equality in Ruby.
586
- #
587
- # @example
588
- # expect(5).to equal(5) # Fixnums are equal
589
- # expect("5").not_to equal("5") # Strings that look the same are not the same object
590
- def equal(expected)
591
- BuiltIn::Equal.new(expected)
592
- end
593
- alias_matcher :an_object_equal_to, :equal
594
- alias_matcher :equal_to, :equal
595
-
596
- # Passes if `actual.exist?` or `actual.exists?`
597
- #
598
- # @example
599
- # expect(File).to exist("path/to/file")
600
- def exist(*args)
601
- BuiltIn::Exist.new(*args)
602
- end
603
- alias_matcher :an_object_existing, :exist
604
- alias_matcher :existing, :exist
605
-
606
- # Passes if actual's attribute values match the expected attributes hash.
607
- # This works no matter how you define your attribute readers.
608
- #
609
- # @example
610
- # Person = Struct.new(:name, :age)
611
- # person = Person.new("Bob", 32)
612
- #
613
- # expect(person).to have_attributes(:name => "Bob", :age => 32)
614
- # expect(person).to have_attributes(:name => a_string_starting_with("B"), :age => (a_value > 30) )
615
- #
616
- # @note It will fail if actual doesn't respond to any of the expected attributes.
617
- #
618
- # @example
619
- # expect(person).to have_attributes(:color => "red")
620
- def have_attributes(expected)
621
- BuiltIn::HaveAttributes.new(expected)
622
- end
623
- alias_matcher :an_object_having_attributes, :have_attributes
624
-
625
- # Passes if actual includes expected. This works for
626
- # collections and Strings. You can also pass in multiple args
627
- # and it will only pass if all args are found in collection.
628
- #
629
- # @example
630
- # expect([1,2,3]).to include(3)
631
- # expect([1,2,3]).to include(2,3)
632
- # expect([1,2,3]).to include(2,3,4) # fails
633
- # expect([1,2,3]).not_to include(4)
634
- # expect("spread").to include("read")
635
- # expect("spread").not_to include("red")
636
- # expect(:a => 1, :b => 2).to include(:a)
637
- # expect(:a => 1, :b => 2).to include(:a, :b)
638
- # expect(:a => 1, :b => 2).to include(:a => 1)
639
- # expect(:a => 1, :b => 2).to include(:b => 2, :a => 1)
640
- # expect(:a => 1, :b => 2).to include(:c) # fails
641
- # expect(:a => 1, :b => 2).not_to include(:a => 2)
642
- def include(*expected)
643
- BuiltIn::Include.new(*expected)
644
- end
645
- alias_matcher :a_collection_including, :include
646
- alias_matcher :a_string_including, :include
647
- alias_matcher :a_hash_including, :include
648
- alias_matcher :including, :include
649
-
650
- # Passes if the provided matcher passes when checked against all
651
- # elements of the collection.
652
- #
653
- # @example
654
- # expect([1, 3, 5]).to all be_odd
655
- # expect([1, 3, 6]).to all be_odd # fails
656
- #
657
- # @note The negative form `not_to all` is not supported. Instead
658
- # use `not_to include` or pass a negative form of a matcher
659
- # as the argument (e.g. `all exclude(:foo)`).
660
- #
661
- # @note You can also use this with compound matchers as well.
662
- #
663
- # @example
664
- # expect([1, 3, 5]).to all( be_odd.and be_an(Integer) )
665
- def all(expected)
666
- BuiltIn::All.new(expected)
667
- end
668
-
669
- # Given a `Regexp` or `String`, passes if `actual.match(pattern)`
670
- # Given an arbitrary nested data structure (e.g. arrays and hashes),
671
- # matches if `expected === actual` || `actual == expected` for each
672
- # pair of elements.
673
- #
674
- # @example
675
- # expect(email).to match(/^([^\s]+)((?:[-a-z0-9]+\.)+[a-z]{2,})$/i)
676
- # expect(email).to match("@example.com")
677
- #
678
- # @example
679
- # hash = {
680
- # :a => {
681
- # :b => ["foo", 5],
682
- # :c => { :d => 2.05 }
683
- # }
684
- # }
685
- #
686
- # expect(hash).to match(
687
- # :a => {
688
- # :b => a_collection_containing_exactly(
689
- # a_string_starting_with("f"),
690
- # an_instance_of(Fixnum)
691
- # ),
692
- # :c => { :d => (a_value < 3) }
693
- # }
694
- # )
695
- #
696
- # @note The `match_regex` alias is deprecated and is not recommended for use.
697
- # It was added in 2.12.1 to facilitate its use from within custom
698
- # matchers (due to how the custom matcher DSL was evaluated in 2.x,
699
- # `match` could not be used there), but is no longer needed in 3.x.
700
- def match(expected)
701
- BuiltIn::Match.new(expected)
702
- end
703
- alias_matcher :match_regex, :match
704
- alias_matcher :an_object_matching, :match
705
- alias_matcher :a_string_matching, :match
706
- alias_matcher :matching, :match
707
-
708
- # An alternate form of `contain_exactly` that accepts
709
- # the expected contents as a single array arg rather
710
- # that splatted out as individual items.
711
- #
712
- # @example
713
- # expect(results).to contain_exactly(1, 2)
714
- # # is identical to:
715
- # expect(results).to match_array([1, 2])
716
- #
717
- # @see #contain_exactly
718
- def match_array(items)
719
- contain_exactly(*items)
720
- end
721
-
722
- # With no arg, passes if the block outputs `to_stdout` or `to_stderr`.
723
- # With a string, passes if the block outputs that specific string `to_stdout` or `to_stderr`.
724
- # With a regexp or matcher, passes if the block outputs a string `to_stdout` or `to_stderr` that matches.
725
- #
726
- # To capture output from any spawned subprocess as well, use `to_stdout_from_any_process` or
727
- # `to_stderr_from_any_process`. Output from any process that inherits the main process's corresponding
728
- # standard stream will be captured.
729
- #
730
- # @example
731
- # expect { print 'foo' }.to output.to_stdout
732
- # expect { print 'foo' }.to output('foo').to_stdout
733
- # expect { print 'foo' }.to output(/foo/).to_stdout
734
- #
735
- # expect { do_something }.to_not output.to_stdout
736
- #
737
- # expect { warn('foo') }.to output.to_stderr
738
- # expect { warn('foo') }.to output('foo').to_stderr
739
- # expect { warn('foo') }.to output(/foo/).to_stderr
740
- #
741
- # expect { do_something }.to_not output.to_stderr
742
- #
743
- # expect { system('echo foo') }.to output("foo\n").to_stdout_from_any_process
744
- # expect { system('echo foo', out: :err) }.to output("foo\n").to_stderr_from_any_process
745
- #
746
- # @note `to_stdout` and `to_stderr` work by temporarily replacing `$stdout` or `$stderr`,
747
- # so they're not able to intercept stream output that explicitly uses `STDOUT`/`STDERR`
748
- # or that uses a reference to `$stdout`/`$stderr` that was stored before the
749
- # matcher was used.
750
- # @note `to_stdout_from_any_process` and `to_stderr_from_any_process` use Tempfiles, and
751
- # are thus significantly (~30x) slower than `to_stdout` and `to_stderr`.
752
- def output(expected=nil)
753
- BuiltIn::Output.new(expected)
754
- end
755
- alias_matcher :a_block_outputting, :output
756
-
757
- # With no args, matches if any error is raised.
758
- # With a named error, matches only if that specific error is raised.
759
- # With a named error and messsage specified as a String, matches only if both match.
760
- # With a named error and messsage specified as a Regexp, matches only if both match.
761
- # Pass an optional block to perform extra verifications on the exception matched
762
- #
763
- # @example
764
- # expect { do_something_risky }.to raise_error
765
- # expect { do_something_risky }.to raise_error(PoorRiskDecisionError)
766
- # expect { do_something_risky }.to raise_error(PoorRiskDecisionError) { |error| expect(error.data).to eq 42 }
767
- # expect { do_something_risky }.to raise_error(PoorRiskDecisionError, "that was too risky")
768
- # expect { do_something_risky }.to raise_error(PoorRiskDecisionError, /oo ri/)
769
- #
770
- # expect { do_something_risky }.not_to raise_error
771
- def raise_error(error=nil, message=nil, &block)
772
- BuiltIn::RaiseError.new(error, message, &block)
773
- end
774
- alias_method :raise_exception, :raise_error
775
-
776
- alias_matcher :a_block_raising, :raise_error do |desc|
777
- desc.sub("raise", "a block raising")
778
- end
779
-
780
- alias_matcher :raising, :raise_error do |desc|
781
- desc.sub("raise", "raising")
782
- end
783
-
784
- # Matches if the target object responds to all of the names
785
- # provided. Names can be Strings or Symbols.
786
- #
787
- # @example
788
- # expect("string").to respond_to(:length)
789
- #
790
- def respond_to(*names)
791
- BuiltIn::RespondTo.new(*names)
792
- end
793
- alias_matcher :an_object_responding_to, :respond_to
794
- alias_matcher :responding_to, :respond_to
795
-
796
- # Passes if the submitted block returns true. Yields target to the
797
- # block.
798
- #
799
- # Generally speaking, this should be thought of as a last resort when
800
- # you can't find any other way to specify the behaviour you wish to
801
- # specify.
802
- #
803
- # If you do find yourself in such a situation, you could always write
804
- # a custom matcher, which would likely make your specs more expressive.
805
- #
806
- # @param description [String] optional description to be used for this matcher.
807
- #
808
- # @example
809
- # expect(5).to satisfy { |n| n > 3 }
810
- # expect(5).to satisfy("be greater than 3") { |n| n > 3 }
811
- def satisfy(description="satisfy block", &block)
812
- BuiltIn::Satisfy.new(description, &block)
813
- end
814
- alias_matcher :an_object_satisfying, :satisfy
815
- alias_matcher :satisfying, :satisfy
816
-
817
- # Matches if the actual value starts with the expected value(s). In the
818
- # case of a string, matches against the first `expected.length` characters
819
- # of the actual string. In the case of an array, matches against the first
820
- # `expected.length` elements of the actual array.
821
- #
822
- # @example
823
- # expect("this string").to start_with "this s"
824
- # expect([0, 1, 2, 3, 4]).to start_with 0
825
- # expect([0, 2, 3, 4, 4]).to start_with 0, 1
826
- def start_with(*expected)
827
- BuiltIn::StartWith.new(*expected)
828
- end
829
- alias_matcher :a_collection_starting_with, :start_with
830
- alias_matcher :a_string_starting_with, :start_with
831
- alias_matcher :starting_with, :start_with
832
-
833
- # Given no argument, matches if a proc throws any Symbol.
834
- #
835
- # Given a Symbol, matches if the given proc throws the specified Symbol.
836
- #
837
- # Given a Symbol and an arg, matches if the given proc throws the
838
- # specified Symbol with the specified arg.
839
- #
840
- # @example
841
- # expect { do_something_risky }.to throw_symbol
842
- # expect { do_something_risky }.to throw_symbol(:that_was_risky)
843
- # expect { do_something_risky }.to throw_symbol(:that_was_risky, 'culprit')
844
- #
845
- # expect { do_something_risky }.not_to throw_symbol
846
- # expect { do_something_risky }.not_to throw_symbol(:that_was_risky)
847
- # expect { do_something_risky }.not_to throw_symbol(:that_was_risky, 'culprit')
848
- def throw_symbol(expected_symbol=nil, expected_arg=nil)
849
- BuiltIn::ThrowSymbol.new(expected_symbol, expected_arg)
850
- end
851
-
852
- alias_matcher :a_block_throwing, :throw_symbol do |desc|
853
- desc.sub("throw", "a block throwing")
854
- end
855
-
856
- alias_matcher :throwing, :throw_symbol do |desc|
857
- desc.sub("throw", "throwing")
858
- end
859
-
860
- # Passes if the method called in the expect block yields, regardless
861
- # of whether or not arguments are yielded.
862
- #
863
- # @example
864
- # expect { |b| 5.tap(&b) }.to yield_control
865
- # expect { |b| "a".to_sym(&b) }.not_to yield_control
866
- #
867
- # @note Your expect block must accept a parameter and pass it on to
868
- # the method-under-test as a block.
869
- def yield_control
870
- BuiltIn::YieldControl.new
871
- end
872
- alias_matcher :a_block_yielding_control, :yield_control
873
- alias_matcher :yielding_control, :yield_control
874
-
875
- # Passes if the method called in the expect block yields with
876
- # no arguments. Fails if it does not yield, or yields with arguments.
877
- #
878
- # @example
879
- # expect { |b| User.transaction(&b) }.to yield_with_no_args
880
- # expect { |b| 5.tap(&b) }.not_to yield_with_no_args # because it yields with `5`
881
- # expect { |b| "a".to_sym(&b) }.not_to yield_with_no_args # because it does not yield
882
- #
883
- # @note Your expect block must accept a parameter and pass it on to
884
- # the method-under-test as a block.
885
- # @note This matcher is not designed for use with methods that yield
886
- # multiple times.
887
- def yield_with_no_args
888
- BuiltIn::YieldWithNoArgs.new
889
- end
890
- alias_matcher :a_block_yielding_with_no_args, :yield_with_no_args
891
- alias_matcher :yielding_with_no_args, :yield_with_no_args
892
-
893
- # Given no arguments, matches if the method called in the expect
894
- # block yields with arguments (regardless of what they are or how
895
- # many there are).
896
- #
897
- # Given arguments, matches if the method called in the expect block
898
- # yields with arguments that match the given arguments.
899
- #
900
- # Argument matching is done using `===` (the case match operator)
901
- # and `==`. If the expected and actual arguments match with either
902
- # operator, the matcher will pass.
903
- #
904
- # @example
905
- # expect { |b| 5.tap(&b) }.to yield_with_args # because #tap yields an arg
906
- # expect { |b| 5.tap(&b) }.to yield_with_args(5) # because 5 == 5
907
- # expect { |b| 5.tap(&b) }.to yield_with_args(Fixnum) # because Fixnum === 5
908
- # expect { |b| File.open("f.txt", &b) }.to yield_with_args(/txt/) # because /txt/ === "f.txt"
909
- #
910
- # expect { |b| User.transaction(&b) }.not_to yield_with_args # because it yields no args
911
- # expect { |b| 5.tap(&b) }.not_to yield_with_args(1, 2, 3)
912
- #
913
- # @note Your expect block must accept a parameter and pass it on to
914
- # the method-under-test as a block.
915
- # @note This matcher is not designed for use with methods that yield
916
- # multiple times.
917
- def yield_with_args(*args)
918
- BuiltIn::YieldWithArgs.new(*args)
919
- end
920
- alias_matcher :a_block_yielding_with_args, :yield_with_args
921
- alias_matcher :yielding_with_args, :yield_with_args
922
-
923
- # Designed for use with methods that repeatedly yield (such as
924
- # iterators). Passes if the method called in the expect block yields
925
- # multiple times with arguments matching those given.
926
- #
927
- # Argument matching is done using `===` (the case match operator)
928
- # and `==`. If the expected and actual arguments match with either
929
- # operator, the matcher will pass.
930
- #
931
- # @example
932
- # expect { |b| [1, 2, 3].each(&b) }.to yield_successive_args(1, 2, 3)
933
- # expect { |b| { :a => 1, :b => 2 }.each(&b) }.to yield_successive_args([:a, 1], [:b, 2])
934
- # expect { |b| [1, 2, 3].each(&b) }.not_to yield_successive_args(1, 2)
935
- #
936
- # @note Your expect block must accept a parameter and pass it on to
937
- # the method-under-test as a block.
938
- def yield_successive_args(*args)
939
- BuiltIn::YieldSuccessiveArgs.new(*args)
940
- end
941
- alias_matcher :a_block_yielding_successive_args, :yield_successive_args
942
- alias_matcher :yielding_successive_args, :yield_successive_args
943
-
944
- # Delegates to {RSpec::Expectations.configuration}.
945
- # This is here because rspec-core's `expect_with` option
946
- # looks for a `configuration` method on the mixin
947
- # (`RSpec::Matchers`) to yield to a block.
948
- # @return [RSpec::Expectations::Configuration] the configuration object
949
- def self.configuration
950
- Expectations.configuration
951
- end
952
-
953
- private
954
-
955
- BE_PREDICATE_REGEX = /^(be_(?:an?_)?)(.*)/
956
- HAS_REGEX = /^(?:have_)(.*)/
957
- DYNAMIC_MATCHER_REGEX = Regexp.union(BE_PREDICATE_REGEX, HAS_REGEX)
958
-
959
- def method_missing(method, *args, &block)
960
- case method.to_s
961
- when BE_PREDICATE_REGEX
962
- BuiltIn::BePredicate.new(method, *args, &block)
963
- when HAS_REGEX
964
- BuiltIn::Has.new(method, *args, &block)
965
- else
966
- super
967
- end
968
- end
969
-
970
- if RUBY_VERSION.to_f >= 1.9
971
- def respond_to_missing?(method, *)
972
- method =~ DYNAMIC_MATCHER_REGEX || super
973
- end
974
- else # for 1.8.7
975
- # :nocov:
976
- def respond_to?(method, *)
977
- method = method.to_s
978
- method =~ DYNAMIC_MATCHER_REGEX || super
979
- end
980
- public :respond_to?
981
- # :nocov:
982
- end
983
-
984
- # @api private
985
- def self.is_a_matcher?(obj)
986
- return true if ::RSpec::Matchers::BuiltIn::BaseMatcher === obj
987
- begin
988
- return false if obj.respond_to?(:i_respond_to_everything_so_im_not_really_a_matcher)
989
- rescue NoMethodError
990
- # Some objects, like BasicObject, don't implemented standard
991
- # reflection methods.
992
- return false
993
- end
994
- return false unless obj.respond_to?(:matches?)
995
-
996
- obj.respond_to?(:failure_message) ||
997
- obj.respond_to?(:failure_message_for_should) # support legacy matchers
998
- end
999
-
1000
- ::RSpec::Support.register_matcher_definition do |obj|
1001
- is_a_matcher?(obj)
1002
- end
1003
-
1004
- # @api private
1005
- def self.is_a_describable_matcher?(obj)
1006
- is_a_matcher?(obj) && obj.respond_to?(:description)
1007
- end
1008
-
1009
- if RSpec::Support::Ruby.mri? && RUBY_VERSION[0, 3] == '1.9'
1010
- # @api private
1011
- # Note that `included` doesn't work for this because it is triggered
1012
- # _after_ `RSpec::Matchers` is an ancestor of the inclusion host, rather
1013
- # than _before_, like `append_features`. It's important we check this before
1014
- # in order to find the cases where it was already previously included.
1015
- def self.append_features(mod)
1016
- return super if mod < self # `mod < self` indicates a re-inclusion.
1017
-
1018
- subclasses = ObjectSpace.each_object(Class).select { |c| c < mod && c < self }
1019
- return super unless subclasses.any?
1020
-
1021
- subclasses.reject! { |s| subclasses.any? { |s2| s < s2 } } # Filter to the root ancestor.
1022
- subclasses = subclasses.map { |s| "`#{s}`" }.join(", ")
1023
-
1024
- RSpec.warning "`#{self}` has been included in a superclass (`#{mod}`) " \
1025
- "after previously being included in subclasses (#{subclasses}), " \
1026
- "which can trigger infinite recursion from `super` due to an MRI 1.9 bug " \
1027
- "(https://redmine.ruby-lang.org/issues/3351). To work around this, " \
1028
- "either upgrade to MRI 2.0+, include a dup of the module (e.g. " \
1029
- "`include #{self}.dup`), or find a way to include `#{self}` in `#{mod}` " \
1030
- "before it is included in subclasses (#{subclasses}). See " \
1031
- "https://github.com/rspec/rspec-expectations/issues/814 for more info"
1032
-
1033
- super
1034
- end
1035
- end
1036
- end
1037
- end