sshp 0.0.1

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 (940) hide show
  1. data/.gitignore +17 -0
  2. data/Gemfile +4 -0
  3. data/LICENSE.txt +22 -0
  4. data/README.md +35 -0
  5. data/Rakefile +1 -0
  6. data/bin/sshp +16 -0
  7. data/bin/sshp-alias +17 -0
  8. data/lib/sshp.rb +3 -0
  9. data/lib/sshp/alias.rb +27 -0
  10. data/lib/sshp/version.rb +3 -0
  11. data/spec/spec_helper.rb +12 -0
  12. data/spec/sshp/alias_spec.rb +33 -0
  13. data/sshp.gemspec +24 -0
  14. data/vendor/ruby/1.9.1/bin/autospec +23 -0
  15. data/vendor/ruby/1.9.1/bin/coderay +23 -0
  16. data/vendor/ruby/1.9.1/bin/htmldiff +25 -0
  17. data/vendor/ruby/1.9.1/bin/ldiff +25 -0
  18. data/vendor/ruby/1.9.1/bin/pry +23 -0
  19. data/vendor/ruby/1.9.1/bin/rake +23 -0
  20. data/vendor/ruby/1.9.1/bin/rspec +23 -0
  21. data/vendor/ruby/1.9.1/gems/coderay-1.0.9/README_INDEX.rdoc +123 -0
  22. data/vendor/ruby/1.9.1/gems/coderay-1.0.9/Rakefile +35 -0
  23. data/vendor/ruby/1.9.1/gems/coderay-1.0.9/bin/coderay +215 -0
  24. data/vendor/ruby/1.9.1/gems/coderay-1.0.9/lib/coderay.rb +285 -0
  25. data/vendor/ruby/1.9.1/gems/coderay-1.0.9/lib/coderay/duo.rb +81 -0
  26. data/vendor/ruby/1.9.1/gems/coderay-1.0.9/lib/coderay/encoder.rb +201 -0
  27. data/vendor/ruby/1.9.1/gems/coderay-1.0.9/lib/coderay/encoders/_map.rb +17 -0
  28. data/vendor/ruby/1.9.1/gems/coderay-1.0.9/lib/coderay/encoders/comment_filter.rb +25 -0
  29. data/vendor/ruby/1.9.1/gems/coderay-1.0.9/lib/coderay/encoders/count.rb +39 -0
  30. data/vendor/ruby/1.9.1/gems/coderay-1.0.9/lib/coderay/encoders/debug.rb +61 -0
  31. data/vendor/ruby/1.9.1/gems/coderay-1.0.9/lib/coderay/encoders/div.rb +23 -0
  32. data/vendor/ruby/1.9.1/gems/coderay-1.0.9/lib/coderay/encoders/filter.rb +58 -0
  33. data/vendor/ruby/1.9.1/gems/coderay-1.0.9/lib/coderay/encoders/html.rb +327 -0
  34. data/vendor/ruby/1.9.1/gems/coderay-1.0.9/lib/coderay/encoders/html/css.rb +65 -0
  35. data/vendor/ruby/1.9.1/gems/coderay-1.0.9/lib/coderay/encoders/html/numbering.rb +103 -0
  36. data/vendor/ruby/1.9.1/gems/coderay-1.0.9/lib/coderay/encoders/html/output.rb +166 -0
  37. data/vendor/ruby/1.9.1/gems/coderay-1.0.9/lib/coderay/encoders/json.rb +83 -0
  38. data/vendor/ruby/1.9.1/gems/coderay-1.0.9/lib/coderay/encoders/lines_of_code.rb +45 -0
  39. data/vendor/ruby/1.9.1/gems/coderay-1.0.9/lib/coderay/encoders/null.rb +18 -0
  40. data/vendor/ruby/1.9.1/gems/coderay-1.0.9/lib/coderay/encoders/page.rb +24 -0
  41. data/vendor/ruby/1.9.1/gems/coderay-1.0.9/lib/coderay/encoders/span.rb +23 -0
  42. data/vendor/ruby/1.9.1/gems/coderay-1.0.9/lib/coderay/encoders/statistic.rb +96 -0
  43. data/vendor/ruby/1.9.1/gems/coderay-1.0.9/lib/coderay/encoders/terminal.rb +179 -0
  44. data/vendor/ruby/1.9.1/gems/coderay-1.0.9/lib/coderay/encoders/text.rb +46 -0
  45. data/vendor/ruby/1.9.1/gems/coderay-1.0.9/lib/coderay/encoders/token_kind_filter.rb +111 -0
  46. data/vendor/ruby/1.9.1/gems/coderay-1.0.9/lib/coderay/encoders/xml.rb +72 -0
  47. data/vendor/ruby/1.9.1/gems/coderay-1.0.9/lib/coderay/encoders/yaml.rb +50 -0
  48. data/vendor/ruby/1.9.1/gems/coderay-1.0.9/lib/coderay/for_redcloth.rb +95 -0
  49. data/vendor/ruby/1.9.1/gems/coderay-1.0.9/lib/coderay/helpers/file_type.rb +143 -0
  50. data/vendor/ruby/1.9.1/gems/coderay-1.0.9/lib/coderay/helpers/gzip.rb +41 -0
  51. data/vendor/ruby/1.9.1/gems/coderay-1.0.9/lib/coderay/helpers/plugin.rb +283 -0
  52. data/vendor/ruby/1.9.1/gems/coderay-1.0.9/lib/coderay/helpers/word_list.rb +72 -0
  53. data/vendor/ruby/1.9.1/gems/coderay-1.0.9/lib/coderay/scanner.rb +323 -0
  54. data/vendor/ruby/1.9.1/gems/coderay-1.0.9/lib/coderay/scanners/_map.rb +24 -0
  55. data/vendor/ruby/1.9.1/gems/coderay-1.0.9/lib/coderay/scanners/c.rb +189 -0
  56. data/vendor/ruby/1.9.1/gems/coderay-1.0.9/lib/coderay/scanners/clojure.rb +217 -0
  57. data/vendor/ruby/1.9.1/gems/coderay-1.0.9/lib/coderay/scanners/cpp.rb +215 -0
  58. data/vendor/ruby/1.9.1/gems/coderay-1.0.9/lib/coderay/scanners/css.rb +199 -0
  59. data/vendor/ruby/1.9.1/gems/coderay-1.0.9/lib/coderay/scanners/debug.rb +65 -0
  60. data/vendor/ruby/1.9.1/gems/coderay-1.0.9/lib/coderay/scanners/delphi.rb +144 -0
  61. data/vendor/ruby/1.9.1/gems/coderay-1.0.9/lib/coderay/scanners/diff.rb +199 -0
  62. data/vendor/ruby/1.9.1/gems/coderay-1.0.9/lib/coderay/scanners/erb.rb +81 -0
  63. data/vendor/ruby/1.9.1/gems/coderay-1.0.9/lib/coderay/scanners/groovy.rb +255 -0
  64. data/vendor/ruby/1.9.1/gems/coderay-1.0.9/lib/coderay/scanners/haml.rb +168 -0
  65. data/vendor/ruby/1.9.1/gems/coderay-1.0.9/lib/coderay/scanners/html.rb +253 -0
  66. data/vendor/ruby/1.9.1/gems/coderay-1.0.9/lib/coderay/scanners/java.rb +174 -0
  67. data/vendor/ruby/1.9.1/gems/coderay-1.0.9/lib/coderay/scanners/java/builtin_types.rb +421 -0
  68. data/vendor/ruby/1.9.1/gems/coderay-1.0.9/lib/coderay/scanners/java_script.rb +213 -0
  69. data/vendor/ruby/1.9.1/gems/coderay-1.0.9/lib/coderay/scanners/json.rb +95 -0
  70. data/vendor/ruby/1.9.1/gems/coderay-1.0.9/lib/coderay/scanners/php.rb +509 -0
  71. data/vendor/ruby/1.9.1/gems/coderay-1.0.9/lib/coderay/scanners/python.rb +287 -0
  72. data/vendor/ruby/1.9.1/gems/coderay-1.0.9/lib/coderay/scanners/raydebug.rb +66 -0
  73. data/vendor/ruby/1.9.1/gems/coderay-1.0.9/lib/coderay/scanners/ruby.rb +470 -0
  74. data/vendor/ruby/1.9.1/gems/coderay-1.0.9/lib/coderay/scanners/ruby/patterns.rb +175 -0
  75. data/vendor/ruby/1.9.1/gems/coderay-1.0.9/lib/coderay/scanners/ruby/string_state.rb +71 -0
  76. data/vendor/ruby/1.9.1/gems/coderay-1.0.9/lib/coderay/scanners/sql.rb +174 -0
  77. data/vendor/ruby/1.9.1/gems/coderay-1.0.9/lib/coderay/scanners/text.rb +26 -0
  78. data/vendor/ruby/1.9.1/gems/coderay-1.0.9/lib/coderay/scanners/xml.rb +17 -0
  79. data/vendor/ruby/1.9.1/gems/coderay-1.0.9/lib/coderay/scanners/yaml.rb +140 -0
  80. data/vendor/ruby/1.9.1/gems/coderay-1.0.9/lib/coderay/style.rb +23 -0
  81. data/vendor/ruby/1.9.1/gems/coderay-1.0.9/lib/coderay/styles/_map.rb +7 -0
  82. data/vendor/ruby/1.9.1/gems/coderay-1.0.9/lib/coderay/styles/alpha.rb +142 -0
  83. data/vendor/ruby/1.9.1/gems/coderay-1.0.9/lib/coderay/token_kinds.rb +90 -0
  84. data/vendor/ruby/1.9.1/gems/coderay-1.0.9/lib/coderay/tokens.rb +215 -0
  85. data/vendor/ruby/1.9.1/gems/coderay-1.0.9/lib/coderay/tokens_proxy.rb +55 -0
  86. data/vendor/ruby/1.9.1/gems/coderay-1.0.9/lib/coderay/version.rb +3 -0
  87. data/vendor/ruby/1.9.1/gems/coderay-1.0.9/test/functional/basic.rb +320 -0
  88. data/vendor/ruby/1.9.1/gems/coderay-1.0.9/test/functional/examples.rb +129 -0
  89. data/vendor/ruby/1.9.1/gems/coderay-1.0.9/test/functional/for_redcloth.rb +84 -0
  90. data/vendor/ruby/1.9.1/gems/coderay-1.0.9/test/functional/suite.rb +15 -0
  91. data/vendor/ruby/1.9.1/gems/diff-lcs-1.2.4/.autotest +3 -0
  92. data/vendor/ruby/1.9.1/gems/diff-lcs-1.2.4/.gemtest +0 -0
  93. data/vendor/ruby/1.9.1/gems/diff-lcs-1.2.4/.hoerc +2 -0
  94. data/vendor/ruby/1.9.1/gems/diff-lcs-1.2.4/.travis.yml +22 -0
  95. data/vendor/ruby/1.9.1/gems/diff-lcs-1.2.4/Contributing.rdoc +64 -0
  96. data/vendor/ruby/1.9.1/gems/diff-lcs-1.2.4/Gemfile +20 -0
  97. data/vendor/ruby/1.9.1/gems/diff-lcs-1.2.4/History.rdoc +146 -0
  98. data/vendor/ruby/1.9.1/gems/diff-lcs-1.2.4/License.rdoc +39 -0
  99. data/vendor/ruby/1.9.1/gems/diff-lcs-1.2.4/Manifest.txt +38 -0
  100. data/vendor/ruby/1.9.1/gems/diff-lcs-1.2.4/README.rdoc +85 -0
  101. data/vendor/ruby/1.9.1/gems/diff-lcs-1.2.4/Rakefile +39 -0
  102. data/vendor/ruby/1.9.1/gems/diff-lcs-1.2.4/autotest/discover.rb +1 -0
  103. data/vendor/ruby/1.9.1/gems/diff-lcs-1.2.4/bin/htmldiff +32 -0
  104. data/vendor/ruby/1.9.1/gems/diff-lcs-1.2.4/bin/ldiff +6 -0
  105. data/vendor/ruby/1.9.1/gems/diff-lcs-1.2.4/docs/COPYING.txt +339 -0
  106. data/vendor/ruby/1.9.1/gems/diff-lcs-1.2.4/docs/artistic.txt +127 -0
  107. data/vendor/ruby/1.9.1/gems/diff-lcs-1.2.4/lib/diff-lcs.rb +3 -0
  108. data/vendor/ruby/1.9.1/gems/diff-lcs-1.2.4/lib/diff/lcs.rb +805 -0
  109. data/vendor/ruby/1.9.1/gems/diff-lcs-1.2.4/lib/diff/lcs/array.rb +7 -0
  110. data/vendor/ruby/1.9.1/gems/diff-lcs-1.2.4/lib/diff/lcs/block.rb +37 -0
  111. data/vendor/ruby/1.9.1/gems/diff-lcs-1.2.4/lib/diff/lcs/callbacks.rb +322 -0
  112. data/vendor/ruby/1.9.1/gems/diff-lcs-1.2.4/lib/diff/lcs/change.rb +177 -0
  113. data/vendor/ruby/1.9.1/gems/diff-lcs-1.2.4/lib/diff/lcs/htmldiff.rb +149 -0
  114. data/vendor/ruby/1.9.1/gems/diff-lcs-1.2.4/lib/diff/lcs/hunk.rb +276 -0
  115. data/vendor/ruby/1.9.1/gems/diff-lcs-1.2.4/lib/diff/lcs/internals.rb +301 -0
  116. data/vendor/ruby/1.9.1/gems/diff-lcs-1.2.4/lib/diff/lcs/ldiff.rb +195 -0
  117. data/vendor/ruby/1.9.1/gems/diff-lcs-1.2.4/lib/diff/lcs/string.rb +5 -0
  118. data/vendor/ruby/1.9.1/gems/diff-lcs-1.2.4/spec/change_spec.rb +65 -0
  119. data/vendor/ruby/1.9.1/gems/diff-lcs-1.2.4/spec/diff_spec.rb +47 -0
  120. data/vendor/ruby/1.9.1/gems/diff-lcs-1.2.4/spec/hunk_spec.rb +72 -0
  121. data/vendor/ruby/1.9.1/gems/diff-lcs-1.2.4/spec/issues_spec.rb +24 -0
  122. data/vendor/ruby/1.9.1/gems/diff-lcs-1.2.4/spec/lcs_spec.rb +54 -0
  123. data/vendor/ruby/1.9.1/gems/diff-lcs-1.2.4/spec/patch_spec.rb +414 -0
  124. data/vendor/ruby/1.9.1/gems/diff-lcs-1.2.4/spec/sdiff_spec.rb +202 -0
  125. data/vendor/ruby/1.9.1/gems/diff-lcs-1.2.4/spec/spec_helper.rb +290 -0
  126. data/vendor/ruby/1.9.1/gems/diff-lcs-1.2.4/spec/traverse_balanced_spec.rb +310 -0
  127. data/vendor/ruby/1.9.1/gems/diff-lcs-1.2.4/spec/traverse_sequences_spec.rb +139 -0
  128. data/vendor/ruby/1.9.1/gems/highline-1.6.19/.gitignore +2 -0
  129. data/vendor/ruby/1.9.1/gems/highline-1.6.19/AUTHORS +3 -0
  130. data/vendor/ruby/1.9.1/gems/highline-1.6.19/CHANGELOG +346 -0
  131. data/vendor/ruby/1.9.1/gems/highline-1.6.19/COPYING +340 -0
  132. data/vendor/ruby/1.9.1/gems/highline-1.6.19/INSTALL +55 -0
  133. data/vendor/ruby/1.9.1/gems/highline-1.6.19/LICENSE +7 -0
  134. data/vendor/ruby/1.9.1/gems/highline-1.6.19/README.rdoc +63 -0
  135. data/vendor/ruby/1.9.1/gems/highline-1.6.19/Rakefile +50 -0
  136. data/vendor/ruby/1.9.1/gems/highline-1.6.19/TODO +6 -0
  137. data/vendor/ruby/1.9.1/gems/highline-1.6.19/examples/ansi_colors.rb +38 -0
  138. data/vendor/ruby/1.9.1/gems/highline-1.6.19/examples/asking_for_arrays.rb +18 -0
  139. data/vendor/ruby/1.9.1/gems/highline-1.6.19/examples/basic_usage.rb +75 -0
  140. data/vendor/ruby/1.9.1/gems/highline-1.6.19/examples/color_scheme.rb +32 -0
  141. data/vendor/ruby/1.9.1/gems/highline-1.6.19/examples/get_character.rb +12 -0
  142. data/vendor/ruby/1.9.1/gems/highline-1.6.19/examples/limit.rb +12 -0
  143. data/vendor/ruby/1.9.1/gems/highline-1.6.19/examples/menus.rb +65 -0
  144. data/vendor/ruby/1.9.1/gems/highline-1.6.19/examples/overwrite.rb +19 -0
  145. data/vendor/ruby/1.9.1/gems/highline-1.6.19/examples/page_and_wrap.rb +322 -0
  146. data/vendor/ruby/1.9.1/gems/highline-1.6.19/examples/password.rb +7 -0
  147. data/vendor/ruby/1.9.1/gems/highline-1.6.19/examples/repeat_entry.rb +21 -0
  148. data/vendor/ruby/1.9.1/gems/highline-1.6.19/examples/trapping_eof.rb +22 -0
  149. data/vendor/ruby/1.9.1/gems/highline-1.6.19/examples/using_readline.rb +17 -0
  150. data/vendor/ruby/1.9.1/gems/highline-1.6.19/highline.gemspec +37 -0
  151. data/vendor/ruby/1.9.1/gems/highline-1.6.19/lib/highline.rb +1012 -0
  152. data/vendor/ruby/1.9.1/gems/highline-1.6.19/lib/highline/color_scheme.rb +134 -0
  153. data/vendor/ruby/1.9.1/gems/highline-1.6.19/lib/highline/compatibility.rb +16 -0
  154. data/vendor/ruby/1.9.1/gems/highline-1.6.19/lib/highline/import.rb +41 -0
  155. data/vendor/ruby/1.9.1/gems/highline-1.6.19/lib/highline/menu.rb +398 -0
  156. data/vendor/ruby/1.9.1/gems/highline-1.6.19/lib/highline/question.rb +475 -0
  157. data/vendor/ruby/1.9.1/gems/highline-1.6.19/lib/highline/simulate.rb +48 -0
  158. data/vendor/ruby/1.9.1/gems/highline-1.6.19/lib/highline/string_extensions.rb +131 -0
  159. data/vendor/ruby/1.9.1/gems/highline-1.6.19/lib/highline/style.rb +181 -0
  160. data/vendor/ruby/1.9.1/gems/highline-1.6.19/lib/highline/system_extensions.rb +222 -0
  161. data/vendor/ruby/1.9.1/gems/highline-1.6.19/setup.rb +1360 -0
  162. data/vendor/ruby/1.9.1/gems/highline-1.6.19/site/.cvsignore +1 -0
  163. data/vendor/ruby/1.9.1/gems/highline-1.6.19/site/highline.css +65 -0
  164. data/vendor/ruby/1.9.1/gems/highline-1.6.19/site/images/logo.png +0 -0
  165. data/vendor/ruby/1.9.1/gems/highline-1.6.19/site/index.html +58 -0
  166. data/vendor/ruby/1.9.1/gems/highline-1.6.19/test/string_methods.rb +32 -0
  167. data/vendor/ruby/1.9.1/gems/highline-1.6.19/test/tc_color_scheme.rb +96 -0
  168. data/vendor/ruby/1.9.1/gems/highline-1.6.19/test/tc_highline.rb +1128 -0
  169. data/vendor/ruby/1.9.1/gems/highline-1.6.19/test/tc_import.rb +52 -0
  170. data/vendor/ruby/1.9.1/gems/highline-1.6.19/test/tc_menu.rb +439 -0
  171. data/vendor/ruby/1.9.1/gems/highline-1.6.19/test/tc_string_extension.rb +20 -0
  172. data/vendor/ruby/1.9.1/gems/highline-1.6.19/test/tc_string_highline.rb +38 -0
  173. data/vendor/ruby/1.9.1/gems/highline-1.6.19/test/tc_style.rb +567 -0
  174. data/vendor/ruby/1.9.1/gems/highline-1.6.19/test/ts_all.rb +16 -0
  175. data/vendor/ruby/1.9.1/gems/method_source-0.8.1/.gemtest +0 -0
  176. data/vendor/ruby/1.9.1/gems/method_source-0.8.1/.travis.yml +17 -0
  177. data/vendor/ruby/1.9.1/gems/method_source-0.8.1/.yardopts +1 -0
  178. data/vendor/ruby/1.9.1/gems/method_source-0.8.1/Gemfile +2 -0
  179. data/vendor/ruby/1.9.1/gems/method_source-0.8.1/LICENSE +25 -0
  180. data/vendor/ruby/1.9.1/gems/method_source-0.8.1/README.markdown +91 -0
  181. data/vendor/ruby/1.9.1/gems/method_source-0.8.1/Rakefile +79 -0
  182. data/vendor/ruby/1.9.1/gems/method_source-0.8.1/lib/method_source.rb +141 -0
  183. data/vendor/ruby/1.9.1/gems/method_source-0.8.1/lib/method_source/code_helpers.rb +139 -0
  184. data/vendor/ruby/1.9.1/gems/method_source-0.8.1/lib/method_source/source_location.rb +138 -0
  185. data/vendor/ruby/1.9.1/gems/method_source-0.8.1/lib/method_source/version.rb +3 -0
  186. data/vendor/ruby/1.9.1/gems/method_source-0.8.1/method_source.gemspec +33 -0
  187. data/vendor/ruby/1.9.1/gems/method_source-0.8.1/test/test.rb +138 -0
  188. data/vendor/ruby/1.9.1/gems/method_source-0.8.1/test/test_code_helpers.rb +41 -0
  189. data/vendor/ruby/1.9.1/gems/method_source-0.8.1/test/test_helper.rb +98 -0
  190. data/vendor/ruby/1.9.1/gems/pry-0.9.12.2/.document +2 -0
  191. data/vendor/ruby/1.9.1/gems/pry-0.9.12.2/.gitignore +16 -0
  192. data/vendor/ruby/1.9.1/gems/pry-0.9.12.2/.travis.yml +21 -0
  193. data/vendor/ruby/1.9.1/gems/pry-0.9.12.2/.yardopts +1 -0
  194. data/vendor/ruby/1.9.1/gems/pry-0.9.12.2/CHANGELOG +534 -0
  195. data/vendor/ruby/1.9.1/gems/pry-0.9.12.2/CONTRIBUTORS +55 -0
  196. data/vendor/ruby/1.9.1/gems/pry-0.9.12.2/Gemfile +9 -0
  197. data/vendor/ruby/1.9.1/gems/pry-0.9.12.2/Guardfile +62 -0
  198. data/vendor/ruby/1.9.1/gems/pry-0.9.12.2/LICENSE +25 -0
  199. data/vendor/ruby/1.9.1/gems/pry-0.9.12.2/README.markdown +400 -0
  200. data/vendor/ruby/1.9.1/gems/pry-0.9.12.2/Rakefile +140 -0
  201. data/vendor/ruby/1.9.1/gems/pry-0.9.12.2/TODO +117 -0
  202. data/vendor/ruby/1.9.1/gems/pry-0.9.12.2/bin/pry +16 -0
  203. data/vendor/ruby/1.9.1/gems/pry-0.9.12.2/lib/pry.rb +271 -0
  204. data/vendor/ruby/1.9.1/gems/pry-0.9.12.2/lib/pry/cli.rb +202 -0
  205. data/vendor/ruby/1.9.1/gems/pry-0.9.12.2/lib/pry/code.rb +385 -0
  206. data/vendor/ruby/1.9.1/gems/pry-0.9.12.2/lib/pry/code/code_range.rb +70 -0
  207. data/vendor/ruby/1.9.1/gems/pry-0.9.12.2/lib/pry/code/loc.rb +92 -0
  208. data/vendor/ruby/1.9.1/gems/pry-0.9.12.2/lib/pry/code_object.rb +153 -0
  209. data/vendor/ruby/1.9.1/gems/pry-0.9.12.2/lib/pry/command.rb +689 -0
  210. data/vendor/ruby/1.9.1/gems/pry-0.9.12.2/lib/pry/command_set.rb +400 -0
  211. data/vendor/ruby/1.9.1/gems/pry-0.9.12.2/lib/pry/commands.rb +6 -0
  212. data/vendor/ruby/1.9.1/gems/pry-0.9.12.2/lib/pry/commands/amend_line.rb +99 -0
  213. data/vendor/ruby/1.9.1/gems/pry-0.9.12.2/lib/pry/commands/bang.rb +20 -0
  214. data/vendor/ruby/1.9.1/gems/pry-0.9.12.2/lib/pry/commands/bang_pry.rb +17 -0
  215. data/vendor/ruby/1.9.1/gems/pry-0.9.12.2/lib/pry/commands/cat.rb +53 -0
  216. data/vendor/ruby/1.9.1/gems/pry-0.9.12.2/lib/pry/commands/cat/abstract_formatter.rb +27 -0
  217. data/vendor/ruby/1.9.1/gems/pry-0.9.12.2/lib/pry/commands/cat/exception_formatter.rb +78 -0
  218. data/vendor/ruby/1.9.1/gems/pry-0.9.12.2/lib/pry/commands/cat/file_formatter.rb +84 -0
  219. data/vendor/ruby/1.9.1/gems/pry-0.9.12.2/lib/pry/commands/cat/input_expression_formatter.rb +43 -0
  220. data/vendor/ruby/1.9.1/gems/pry-0.9.12.2/lib/pry/commands/cd.rb +30 -0
  221. data/vendor/ruby/1.9.1/gems/pry-0.9.12.2/lib/pry/commands/code_collector.rb +165 -0
  222. data/vendor/ruby/1.9.1/gems/pry-0.9.12.2/lib/pry/commands/disable_pry.rb +27 -0
  223. data/vendor/ruby/1.9.1/gems/pry-0.9.12.2/lib/pry/commands/disabled_commands.rb +2 -0
  224. data/vendor/ruby/1.9.1/gems/pry-0.9.12.2/lib/pry/commands/easter_eggs.rb +112 -0
  225. data/vendor/ruby/1.9.1/gems/pry-0.9.12.2/lib/pry/commands/edit.rb +207 -0
  226. data/vendor/ruby/1.9.1/gems/pry-0.9.12.2/lib/pry/commands/edit/exception_patcher.rb +25 -0
  227. data/vendor/ruby/1.9.1/gems/pry-0.9.12.2/lib/pry/commands/edit/file_and_line_locator.rb +38 -0
  228. data/vendor/ruby/1.9.1/gems/pry-0.9.12.2/lib/pry/commands/edit/method_patcher.rb +122 -0
  229. data/vendor/ruby/1.9.1/gems/pry-0.9.12.2/lib/pry/commands/exit.rb +42 -0
  230. data/vendor/ruby/1.9.1/gems/pry-0.9.12.2/lib/pry/commands/exit_all.rb +29 -0
  231. data/vendor/ruby/1.9.1/gems/pry-0.9.12.2/lib/pry/commands/exit_program.rb +24 -0
  232. data/vendor/ruby/1.9.1/gems/pry-0.9.12.2/lib/pry/commands/find_method.rb +199 -0
  233. data/vendor/ruby/1.9.1/gems/pry-0.9.12.2/lib/pry/commands/fix_indent.rb +19 -0
  234. data/vendor/ruby/1.9.1/gems/pry-0.9.12.2/lib/pry/commands/gem_cd.rb +26 -0
  235. data/vendor/ruby/1.9.1/gems/pry-0.9.12.2/lib/pry/commands/gem_install.rb +29 -0
  236. data/vendor/ruby/1.9.1/gems/pry-0.9.12.2/lib/pry/commands/gem_list.rb +33 -0
  237. data/vendor/ruby/1.9.1/gems/pry-0.9.12.2/lib/pry/commands/gem_open.rb +29 -0
  238. data/vendor/ruby/1.9.1/gems/pry-0.9.12.2/lib/pry/commands/gist.rb +102 -0
  239. data/vendor/ruby/1.9.1/gems/pry-0.9.12.2/lib/pry/commands/help.rb +164 -0
  240. data/vendor/ruby/1.9.1/gems/pry-0.9.12.2/lib/pry/commands/hist.rb +161 -0
  241. data/vendor/ruby/1.9.1/gems/pry-0.9.12.2/lib/pry/commands/import_set.rb +22 -0
  242. data/vendor/ruby/1.9.1/gems/pry-0.9.12.2/lib/pry/commands/install_command.rb +51 -0
  243. data/vendor/ruby/1.9.1/gems/pry-0.9.12.2/lib/pry/commands/jump_to.rb +29 -0
  244. data/vendor/ruby/1.9.1/gems/pry-0.9.12.2/lib/pry/commands/ls.rb +338 -0
  245. data/vendor/ruby/1.9.1/gems/pry-0.9.12.2/lib/pry/commands/nesting.rb +25 -0
  246. data/vendor/ruby/1.9.1/gems/pry-0.9.12.2/lib/pry/commands/play.rb +69 -0
  247. data/vendor/ruby/1.9.1/gems/pry-0.9.12.2/lib/pry/commands/pry_backtrace.rb +26 -0
  248. data/vendor/ruby/1.9.1/gems/pry-0.9.12.2/lib/pry/commands/pry_version.rb +17 -0
  249. data/vendor/ruby/1.9.1/gems/pry-0.9.12.2/lib/pry/commands/raise_up.rb +32 -0
  250. data/vendor/ruby/1.9.1/gems/pry-0.9.12.2/lib/pry/commands/reload_code.rb +65 -0
  251. data/vendor/ruby/1.9.1/gems/pry-0.9.12.2/lib/pry/commands/reset.rb +18 -0
  252. data/vendor/ruby/1.9.1/gems/pry-0.9.12.2/lib/pry/commands/ri.rb +56 -0
  253. data/vendor/ruby/1.9.1/gems/pry-0.9.12.2/lib/pry/commands/save_file.rb +61 -0
  254. data/vendor/ruby/1.9.1/gems/pry-0.9.12.2/lib/pry/commands/shell_command.rb +43 -0
  255. data/vendor/ruby/1.9.1/gems/pry-0.9.12.2/lib/pry/commands/shell_mode.rb +27 -0
  256. data/vendor/ruby/1.9.1/gems/pry-0.9.12.2/lib/pry/commands/show_doc.rb +78 -0
  257. data/vendor/ruby/1.9.1/gems/pry-0.9.12.2/lib/pry/commands/show_info.rb +200 -0
  258. data/vendor/ruby/1.9.1/gems/pry-0.9.12.2/lib/pry/commands/show_input.rb +17 -0
  259. data/vendor/ruby/1.9.1/gems/pry-0.9.12.2/lib/pry/commands/show_source.rb +38 -0
  260. data/vendor/ruby/1.9.1/gems/pry-0.9.12.2/lib/pry/commands/simple_prompt.rb +22 -0
  261. data/vendor/ruby/1.9.1/gems/pry-0.9.12.2/lib/pry/commands/stat.rb +40 -0
  262. data/vendor/ruby/1.9.1/gems/pry-0.9.12.2/lib/pry/commands/switch_to.rb +23 -0
  263. data/vendor/ruby/1.9.1/gems/pry-0.9.12.2/lib/pry/commands/toggle_color.rb +20 -0
  264. data/vendor/ruby/1.9.1/gems/pry-0.9.12.2/lib/pry/commands/whereami.rb +182 -0
  265. data/vendor/ruby/1.9.1/gems/pry-0.9.12.2/lib/pry/commands/wtf.rb +57 -0
  266. data/vendor/ruby/1.9.1/gems/pry-0.9.12.2/lib/pry/completion.rb +304 -0
  267. data/vendor/ruby/1.9.1/gems/pry-0.9.12.2/lib/pry/config.rb +244 -0
  268. data/vendor/ruby/1.9.1/gems/pry-0.9.12.2/lib/pry/core_extensions.rb +121 -0
  269. data/vendor/ruby/1.9.1/gems/pry-0.9.12.2/lib/pry/custom_completions.rb +6 -0
  270. data/vendor/ruby/1.9.1/gems/pry-0.9.12.2/lib/pry/editor.rb +129 -0
  271. data/vendor/ruby/1.9.1/gems/pry-0.9.12.2/lib/pry/helpers.rb +5 -0
  272. data/vendor/ruby/1.9.1/gems/pry-0.9.12.2/lib/pry/helpers/base_helpers.rb +200 -0
  273. data/vendor/ruby/1.9.1/gems/pry-0.9.12.2/lib/pry/helpers/command_helpers.rb +154 -0
  274. data/vendor/ruby/1.9.1/gems/pry-0.9.12.2/lib/pry/helpers/documentation_helpers.rb +76 -0
  275. data/vendor/ruby/1.9.1/gems/pry-0.9.12.2/lib/pry/helpers/options_helpers.rb +27 -0
  276. data/vendor/ruby/1.9.1/gems/pry-0.9.12.2/lib/pry/helpers/table.rb +109 -0
  277. data/vendor/ruby/1.9.1/gems/pry-0.9.12.2/lib/pry/helpers/text.rb +108 -0
  278. data/vendor/ruby/1.9.1/gems/pry-0.9.12.2/lib/pry/history.rb +122 -0
  279. data/vendor/ruby/1.9.1/gems/pry-0.9.12.2/lib/pry/history_array.rb +116 -0
  280. data/vendor/ruby/1.9.1/gems/pry-0.9.12.2/lib/pry/hooks.rb +250 -0
  281. data/vendor/ruby/1.9.1/gems/pry-0.9.12.2/lib/pry/indent.rb +406 -0
  282. data/vendor/ruby/1.9.1/gems/pry-0.9.12.2/lib/pry/method.rb +551 -0
  283. data/vendor/ruby/1.9.1/gems/pry-0.9.12.2/lib/pry/method/disowned.rb +53 -0
  284. data/vendor/ruby/1.9.1/gems/pry-0.9.12.2/lib/pry/method/weird_method_locator.rb +186 -0
  285. data/vendor/ruby/1.9.1/gems/pry-0.9.12.2/lib/pry/module_candidate.rb +146 -0
  286. data/vendor/ruby/1.9.1/gems/pry-0.9.12.2/lib/pry/pager.rb +90 -0
  287. data/vendor/ruby/1.9.1/gems/pry-0.9.12.2/lib/pry/plugins.rb +103 -0
  288. data/vendor/ruby/1.9.1/gems/pry-0.9.12.2/lib/pry/pry_class.rb +469 -0
  289. data/vendor/ruby/1.9.1/gems/pry-0.9.12.2/lib/pry/pry_instance.rb +763 -0
  290. data/vendor/ruby/1.9.1/gems/pry-0.9.12.2/lib/pry/rbx_method.rb +13 -0
  291. data/vendor/ruby/1.9.1/gems/pry-0.9.12.2/lib/pry/rbx_path.rb +22 -0
  292. data/vendor/ruby/1.9.1/gems/pry-0.9.12.2/lib/pry/repl_file_loader.rb +80 -0
  293. data/vendor/ruby/1.9.1/gems/pry-0.9.12.2/lib/pry/rubygem.rb +74 -0
  294. data/vendor/ruby/1.9.1/gems/pry-0.9.12.2/lib/pry/terminal.rb +78 -0
  295. data/vendor/ruby/1.9.1/gems/pry-0.9.12.2/lib/pry/test/helper.rb +185 -0
  296. data/vendor/ruby/1.9.1/gems/pry-0.9.12.2/lib/pry/version.rb +3 -0
  297. data/vendor/ruby/1.9.1/gems/pry-0.9.12.2/lib/pry/wrapped_module.rb +383 -0
  298. data/vendor/ruby/1.9.1/gems/pry-0.9.12.2/man/pry.1 +195 -0
  299. data/vendor/ruby/1.9.1/gems/pry-0.9.12.2/man/pry.1.html +204 -0
  300. data/vendor/ruby/1.9.1/gems/pry-0.9.12.2/man/pry.1.ronn +141 -0
  301. data/vendor/ruby/1.9.1/gems/pry-0.9.12.2/pry.gemspec +30 -0
  302. data/vendor/ruby/1.9.1/gems/pry-0.9.12.2/spec/Procfile +3 -0
  303. data/vendor/ruby/1.9.1/gems/pry-0.9.12.2/spec/cli_spec.rb +78 -0
  304. data/vendor/ruby/1.9.1/gems/pry-0.9.12.2/spec/code_object_spec.rb +277 -0
  305. data/vendor/ruby/1.9.1/gems/pry-0.9.12.2/spec/code_spec.rb +219 -0
  306. data/vendor/ruby/1.9.1/gems/pry-0.9.12.2/spec/command_helpers_spec.rb +29 -0
  307. data/vendor/ruby/1.9.1/gems/pry-0.9.12.2/spec/command_integration_spec.rb +644 -0
  308. data/vendor/ruby/1.9.1/gems/pry-0.9.12.2/spec/command_set_spec.rb +627 -0
  309. data/vendor/ruby/1.9.1/gems/pry-0.9.12.2/spec/command_spec.rb +821 -0
  310. data/vendor/ruby/1.9.1/gems/pry-0.9.12.2/spec/commands/amend_line_spec.rb +247 -0
  311. data/vendor/ruby/1.9.1/gems/pry-0.9.12.2/spec/commands/bang_spec.rb +19 -0
  312. data/vendor/ruby/1.9.1/gems/pry-0.9.12.2/spec/commands/cat_spec.rb +164 -0
  313. data/vendor/ruby/1.9.1/gems/pry-0.9.12.2/spec/commands/cd_spec.rb +250 -0
  314. data/vendor/ruby/1.9.1/gems/pry-0.9.12.2/spec/commands/disable_pry_spec.rb +25 -0
  315. data/vendor/ruby/1.9.1/gems/pry-0.9.12.2/spec/commands/edit_spec.rb +727 -0
  316. data/vendor/ruby/1.9.1/gems/pry-0.9.12.2/spec/commands/exit_all_spec.rb +34 -0
  317. data/vendor/ruby/1.9.1/gems/pry-0.9.12.2/spec/commands/exit_program_spec.rb +19 -0
  318. data/vendor/ruby/1.9.1/gems/pry-0.9.12.2/spec/commands/exit_spec.rb +34 -0
  319. data/vendor/ruby/1.9.1/gems/pry-0.9.12.2/spec/commands/find_method_spec.rb +70 -0
  320. data/vendor/ruby/1.9.1/gems/pry-0.9.12.2/spec/commands/gem_list_spec.rb +26 -0
  321. data/vendor/ruby/1.9.1/gems/pry-0.9.12.2/spec/commands/gist_spec.rb +79 -0
  322. data/vendor/ruby/1.9.1/gems/pry-0.9.12.2/spec/commands/help_spec.rb +56 -0
  323. data/vendor/ruby/1.9.1/gems/pry-0.9.12.2/spec/commands/hist_spec.rb +181 -0
  324. data/vendor/ruby/1.9.1/gems/pry-0.9.12.2/spec/commands/jump_to_spec.rb +15 -0
  325. data/vendor/ruby/1.9.1/gems/pry-0.9.12.2/spec/commands/ls_spec.rb +181 -0
  326. data/vendor/ruby/1.9.1/gems/pry-0.9.12.2/spec/commands/play_spec.rb +140 -0
  327. data/vendor/ruby/1.9.1/gems/pry-0.9.12.2/spec/commands/raise_up_spec.rb +56 -0
  328. data/vendor/ruby/1.9.1/gems/pry-0.9.12.2/spec/commands/save_file_spec.rb +177 -0
  329. data/vendor/ruby/1.9.1/gems/pry-0.9.12.2/spec/commands/show_doc_spec.rb +510 -0
  330. data/vendor/ruby/1.9.1/gems/pry-0.9.12.2/spec/commands/show_input_spec.rb +17 -0
  331. data/vendor/ruby/1.9.1/gems/pry-0.9.12.2/spec/commands/show_source_spec.rb +782 -0
  332. data/vendor/ruby/1.9.1/gems/pry-0.9.12.2/spec/commands/whereami_spec.rb +203 -0
  333. data/vendor/ruby/1.9.1/gems/pry-0.9.12.2/spec/completion_spec.rb +239 -0
  334. data/vendor/ruby/1.9.1/gems/pry-0.9.12.2/spec/control_d_handler_spec.rb +58 -0
  335. data/vendor/ruby/1.9.1/gems/pry-0.9.12.2/spec/documentation_helper_spec.rb +73 -0
  336. data/vendor/ruby/1.9.1/gems/pry-0.9.12.2/spec/editor_spec.rb +79 -0
  337. data/vendor/ruby/1.9.1/gems/pry-0.9.12.2/spec/exception_whitelist_spec.rb +21 -0
  338. data/vendor/ruby/1.9.1/gems/pry-0.9.12.2/spec/fixtures/candidate_helper1.rb +11 -0
  339. data/vendor/ruby/1.9.1/gems/pry-0.9.12.2/spec/fixtures/candidate_helper2.rb +8 -0
  340. data/vendor/ruby/1.9.1/gems/pry-0.9.12.2/spec/fixtures/example.erb +5 -0
  341. data/vendor/ruby/1.9.1/gems/pry-0.9.12.2/spec/fixtures/example_nesting.rb +33 -0
  342. data/vendor/ruby/1.9.1/gems/pry-0.9.12.2/spec/fixtures/show_source_doc_examples.rb +15 -0
  343. data/vendor/ruby/1.9.1/gems/pry-0.9.12.2/spec/fixtures/testrc +2 -0
  344. data/vendor/ruby/1.9.1/gems/pry-0.9.12.2/spec/fixtures/testrcbad +2 -0
  345. data/vendor/ruby/1.9.1/gems/pry-0.9.12.2/spec/fixtures/whereami_helper.rb +6 -0
  346. data/vendor/ruby/1.9.1/gems/pry-0.9.12.2/spec/helper.rb +34 -0
  347. data/vendor/ruby/1.9.1/gems/pry-0.9.12.2/spec/helpers/bacon.rb +86 -0
  348. data/vendor/ruby/1.9.1/gems/pry-0.9.12.2/spec/helpers/mock_pry.rb +43 -0
  349. data/vendor/ruby/1.9.1/gems/pry-0.9.12.2/spec/helpers/table_spec.rb +105 -0
  350. data/vendor/ruby/1.9.1/gems/pry-0.9.12.2/spec/history_array_spec.rb +67 -0
  351. data/vendor/ruby/1.9.1/gems/pry-0.9.12.2/spec/hooks_spec.rb +522 -0
  352. data/vendor/ruby/1.9.1/gems/pry-0.9.12.2/spec/indent_spec.rb +301 -0
  353. data/vendor/ruby/1.9.1/gems/pry-0.9.12.2/spec/input_stack_spec.rb +90 -0
  354. data/vendor/ruby/1.9.1/gems/pry-0.9.12.2/spec/method_spec.rb +482 -0
  355. data/vendor/ruby/1.9.1/gems/pry-0.9.12.2/spec/prompt_spec.rb +60 -0
  356. data/vendor/ruby/1.9.1/gems/pry-0.9.12.2/spec/pry_defaults_spec.rb +419 -0
  357. data/vendor/ruby/1.9.1/gems/pry-0.9.12.2/spec/pry_history_spec.rb +99 -0
  358. data/vendor/ruby/1.9.1/gems/pry-0.9.12.2/spec/pry_output_spec.rb +95 -0
  359. data/vendor/ruby/1.9.1/gems/pry-0.9.12.2/spec/pry_spec.rb +504 -0
  360. data/vendor/ruby/1.9.1/gems/pry-0.9.12.2/spec/run_command_spec.rb +25 -0
  361. data/vendor/ruby/1.9.1/gems/pry-0.9.12.2/spec/sticky_locals_spec.rb +157 -0
  362. data/vendor/ruby/1.9.1/gems/pry-0.9.12.2/spec/syntax_checking_spec.rb +81 -0
  363. data/vendor/ruby/1.9.1/gems/pry-0.9.12.2/spec/wrapped_module_spec.rb +261 -0
  364. data/vendor/ruby/1.9.1/gems/pry-0.9.12.2/wiki/Customizing-pry.md +397 -0
  365. data/vendor/ruby/1.9.1/gems/pry-0.9.12.2/wiki/Home.md +4 -0
  366. data/vendor/ruby/1.9.1/gems/rake-10.0.4/.gemtest +0 -0
  367. data/vendor/ruby/1.9.1/gems/rake-10.0.4/CHANGES +530 -0
  368. data/vendor/ruby/1.9.1/gems/rake-10.0.4/MIT-LICENSE +21 -0
  369. data/vendor/ruby/1.9.1/gems/rake-10.0.4/README.rdoc +187 -0
  370. data/vendor/ruby/1.9.1/gems/rake-10.0.4/Rakefile +375 -0
  371. data/vendor/ruby/1.9.1/gems/rake-10.0.4/TODO +21 -0
  372. data/vendor/ruby/1.9.1/gems/rake-10.0.4/bin/rake +33 -0
  373. data/vendor/ruby/1.9.1/gems/rake-10.0.4/install.rb +90 -0
  374. data/vendor/ruby/1.9.1/gems/rake-10.0.4/lib/rake.rb +71 -0
  375. data/vendor/ruby/1.9.1/gems/rake-10.0.4/lib/rake/alt_system.rb +109 -0
  376. data/vendor/ruby/1.9.1/gems/rake-10.0.4/lib/rake/application.rb +681 -0
  377. data/vendor/ruby/1.9.1/gems/rake-10.0.4/lib/rake/backtrace.rb +19 -0
  378. data/vendor/ruby/1.9.1/gems/rake-10.0.4/lib/rake/clean.rb +32 -0
  379. data/vendor/ruby/1.9.1/gems/rake-10.0.4/lib/rake/cloneable.rb +16 -0
  380. data/vendor/ruby/1.9.1/gems/rake-10.0.4/lib/rake/contrib/compositepublisher.rb +21 -0
  381. data/vendor/ruby/1.9.1/gems/rake-10.0.4/lib/rake/contrib/ftptools.rb +151 -0
  382. data/vendor/ruby/1.9.1/gems/rake-10.0.4/lib/rake/contrib/publisher.rb +73 -0
  383. data/vendor/ruby/1.9.1/gems/rake-10.0.4/lib/rake/contrib/rubyforgepublisher.rb +16 -0
  384. data/vendor/ruby/1.9.1/gems/rake-10.0.4/lib/rake/contrib/sshpublisher.rb +50 -0
  385. data/vendor/ruby/1.9.1/gems/rake-10.0.4/lib/rake/contrib/sys.rb +1 -0
  386. data/vendor/ruby/1.9.1/gems/rake-10.0.4/lib/rake/default_loader.rb +10 -0
  387. data/vendor/ruby/1.9.1/gems/rake-10.0.4/lib/rake/dsl_definition.rb +156 -0
  388. data/vendor/ruby/1.9.1/gems/rake-10.0.4/lib/rake/early_time.rb +18 -0
  389. data/vendor/ruby/1.9.1/gems/rake-10.0.4/lib/rake/ext/core.rb +27 -0
  390. data/vendor/ruby/1.9.1/gems/rake-10.0.4/lib/rake/ext/module.rb +0 -0
  391. data/vendor/ruby/1.9.1/gems/rake-10.0.4/lib/rake/ext/string.rb +168 -0
  392. data/vendor/ruby/1.9.1/gems/rake-10.0.4/lib/rake/ext/time.rb +15 -0
  393. data/vendor/ruby/1.9.1/gems/rake-10.0.4/lib/rake/file_creation_task.rb +24 -0
  394. data/vendor/ruby/1.9.1/gems/rake-10.0.4/lib/rake/file_list.rb +410 -0
  395. data/vendor/ruby/1.9.1/gems/rake-10.0.4/lib/rake/file_task.rb +47 -0
  396. data/vendor/ruby/1.9.1/gems/rake-10.0.4/lib/rake/file_utils.rb +114 -0
  397. data/vendor/ruby/1.9.1/gems/rake-10.0.4/lib/rake/file_utils_ext.rb +143 -0
  398. data/vendor/ruby/1.9.1/gems/rake-10.0.4/lib/rake/gempackagetask.rb +1 -0
  399. data/vendor/ruby/1.9.1/gems/rake-10.0.4/lib/rake/invocation_chain.rb +51 -0
  400. data/vendor/ruby/1.9.1/gems/rake-10.0.4/lib/rake/invocation_exception_mixin.rb +16 -0
  401. data/vendor/ruby/1.9.1/gems/rake-10.0.4/lib/rake/loaders/makefile.rb +40 -0
  402. data/vendor/ruby/1.9.1/gems/rake-10.0.4/lib/rake/multi_task.rb +13 -0
  403. data/vendor/ruby/1.9.1/gems/rake-10.0.4/lib/rake/name_space.rb +25 -0
  404. data/vendor/ruby/1.9.1/gems/rake-10.0.4/lib/rake/packagetask.rb +185 -0
  405. data/vendor/ruby/1.9.1/gems/rake-10.0.4/lib/rake/pathmap.rb +1 -0
  406. data/vendor/ruby/1.9.1/gems/rake-10.0.4/lib/rake/phony.rb +15 -0
  407. data/vendor/ruby/1.9.1/gems/rake-10.0.4/lib/rake/private_reader.rb +20 -0
  408. data/vendor/ruby/1.9.1/gems/rake-10.0.4/lib/rake/promise.rb +99 -0
  409. data/vendor/ruby/1.9.1/gems/rake-10.0.4/lib/rake/pseudo_status.rb +24 -0
  410. data/vendor/ruby/1.9.1/gems/rake-10.0.4/lib/rake/rake_module.rb +37 -0
  411. data/vendor/ruby/1.9.1/gems/rake-10.0.4/lib/rake/rake_test_loader.rb +22 -0
  412. data/vendor/ruby/1.9.1/gems/rake-10.0.4/lib/rake/rdoctask.rb +1 -0
  413. data/vendor/ruby/1.9.1/gems/rake-10.0.4/lib/rake/ruby182_test_unit_fix.rb +25 -0
  414. data/vendor/ruby/1.9.1/gems/rake-10.0.4/lib/rake/rule_recursion_overflow_error.rb +20 -0
  415. data/vendor/ruby/1.9.1/gems/rake-10.0.4/lib/rake/runtest.rb +22 -0
  416. data/vendor/ruby/1.9.1/gems/rake-10.0.4/lib/rake/task.rb +368 -0
  417. data/vendor/ruby/1.9.1/gems/rake-10.0.4/lib/rake/task_argument_error.rb +7 -0
  418. data/vendor/ruby/1.9.1/gems/rake-10.0.4/lib/rake/task_arguments.rb +78 -0
  419. data/vendor/ruby/1.9.1/gems/rake-10.0.4/lib/rake/task_manager.rb +296 -0
  420. data/vendor/ruby/1.9.1/gems/rake-10.0.4/lib/rake/tasklib.rb +22 -0
  421. data/vendor/ruby/1.9.1/gems/rake-10.0.4/lib/rake/testtask.rb +198 -0
  422. data/vendor/ruby/1.9.1/gems/rake-10.0.4/lib/rake/thread_history_display.rb +48 -0
  423. data/vendor/ruby/1.9.1/gems/rake-10.0.4/lib/rake/thread_pool.rb +155 -0
  424. data/vendor/ruby/1.9.1/gems/rake-10.0.4/lib/rake/trace_output.rb +22 -0
  425. data/vendor/ruby/1.9.1/gems/rake-10.0.4/lib/rake/version.rb +13 -0
  426. data/vendor/ruby/1.9.1/gems/rake-10.0.4/lib/rake/win32.rb +55 -0
  427. data/vendor/ruby/1.9.1/gems/rake-10.0.4/test/file_creation.rb +34 -0
  428. data/vendor/ruby/1.9.1/gems/rake-10.0.4/test/helper.rb +562 -0
  429. data/vendor/ruby/1.9.1/gems/rake-10.0.4/test/test_private_reader.rb +42 -0
  430. data/vendor/ruby/1.9.1/gems/rake-10.0.4/test/test_rake.rb +40 -0
  431. data/vendor/ruby/1.9.1/gems/rake-10.0.4/test/test_rake_application.rb +515 -0
  432. data/vendor/ruby/1.9.1/gems/rake-10.0.4/test/test_rake_application_options.rb +455 -0
  433. data/vendor/ruby/1.9.1/gems/rake-10.0.4/test/test_rake_backtrace.rb +89 -0
  434. data/vendor/ruby/1.9.1/gems/rake-10.0.4/test/test_rake_clean.rb +14 -0
  435. data/vendor/ruby/1.9.1/gems/rake-10.0.4/test/test_rake_definitions.rb +80 -0
  436. data/vendor/ruby/1.9.1/gems/rake-10.0.4/test/test_rake_directory_task.rb +57 -0
  437. data/vendor/ruby/1.9.1/gems/rake-10.0.4/test/test_rake_dsl.rb +40 -0
  438. data/vendor/ruby/1.9.1/gems/rake-10.0.4/test/test_rake_early_time.rb +31 -0
  439. data/vendor/ruby/1.9.1/gems/rake-10.0.4/test/test_rake_extension.rb +59 -0
  440. data/vendor/ruby/1.9.1/gems/rake-10.0.4/test/test_rake_file_creation_task.rb +56 -0
  441. data/vendor/ruby/1.9.1/gems/rake-10.0.4/test/test_rake_file_list.rb +628 -0
  442. data/vendor/ruby/1.9.1/gems/rake-10.0.4/test/test_rake_file_list_path_map.rb +8 -0
  443. data/vendor/ruby/1.9.1/gems/rake-10.0.4/test/test_rake_file_task.rb +122 -0
  444. data/vendor/ruby/1.9.1/gems/rake-10.0.4/test/test_rake_file_utils.rb +305 -0
  445. data/vendor/ruby/1.9.1/gems/rake-10.0.4/test/test_rake_ftp_file.rb +59 -0
  446. data/vendor/ruby/1.9.1/gems/rake-10.0.4/test/test_rake_functional.rb +496 -0
  447. data/vendor/ruby/1.9.1/gems/rake-10.0.4/test/test_rake_invocation_chain.rb +52 -0
  448. data/vendor/ruby/1.9.1/gems/rake-10.0.4/test/test_rake_makefile_loader.rb +44 -0
  449. data/vendor/ruby/1.9.1/gems/rake-10.0.4/test/test_rake_multi_task.rb +59 -0
  450. data/vendor/ruby/1.9.1/gems/rake-10.0.4/test/test_rake_name_space.rb +43 -0
  451. data/vendor/ruby/1.9.1/gems/rake-10.0.4/test/test_rake_package_task.rb +79 -0
  452. data/vendor/ruby/1.9.1/gems/rake-10.0.4/test/test_rake_path_map.rb +157 -0
  453. data/vendor/ruby/1.9.1/gems/rake-10.0.4/test/test_rake_path_map_explode.rb +34 -0
  454. data/vendor/ruby/1.9.1/gems/rake-10.0.4/test/test_rake_path_map_partial.rb +18 -0
  455. data/vendor/ruby/1.9.1/gems/rake-10.0.4/test/test_rake_pseudo_status.rb +21 -0
  456. data/vendor/ruby/1.9.1/gems/rake-10.0.4/test/test_rake_rake_test_loader.rb +21 -0
  457. data/vendor/ruby/1.9.1/gems/rake-10.0.4/test/test_rake_reduce_compat.rb +30 -0
  458. data/vendor/ruby/1.9.1/gems/rake-10.0.4/test/test_rake_require.rb +40 -0
  459. data/vendor/ruby/1.9.1/gems/rake-10.0.4/test/test_rake_rules.rb +327 -0
  460. data/vendor/ruby/1.9.1/gems/rake-10.0.4/test/test_rake_task.rb +340 -0
  461. data/vendor/ruby/1.9.1/gems/rake-10.0.4/test/test_rake_task_argument_parsing.rb +103 -0
  462. data/vendor/ruby/1.9.1/gems/rake-10.0.4/test/test_rake_task_arguments.rb +88 -0
  463. data/vendor/ruby/1.9.1/gems/rake-10.0.4/test/test_rake_task_lib.rb +9 -0
  464. data/vendor/ruby/1.9.1/gems/rake-10.0.4/test/test_rake_task_manager.rb +157 -0
  465. data/vendor/ruby/1.9.1/gems/rake-10.0.4/test/test_rake_task_manager_argument_resolution.rb +19 -0
  466. data/vendor/ruby/1.9.1/gems/rake-10.0.4/test/test_rake_task_with_arguments.rb +171 -0
  467. data/vendor/ruby/1.9.1/gems/rake-10.0.4/test/test_rake_test_task.rb +120 -0
  468. data/vendor/ruby/1.9.1/gems/rake-10.0.4/test/test_rake_thread_pool.rb +122 -0
  469. data/vendor/ruby/1.9.1/gems/rake-10.0.4/test/test_rake_top_level_functions.rb +71 -0
  470. data/vendor/ruby/1.9.1/gems/rake-10.0.4/test/test_rake_win32.rb +72 -0
  471. data/vendor/ruby/1.9.1/gems/rake-10.0.4/test/test_thread_history_display.rb +91 -0
  472. data/vendor/ruby/1.9.1/gems/rake-10.0.4/test/test_trace_output.rb +50 -0
  473. data/vendor/ruby/1.9.1/gems/rspec-2.13.0/License.txt +24 -0
  474. data/vendor/ruby/1.9.1/gems/rspec-2.13.0/README.md +47 -0
  475. data/vendor/ruby/1.9.1/gems/rspec-2.13.0/lib/rspec.rb +4 -0
  476. data/vendor/ruby/1.9.1/gems/rspec-2.13.0/lib/rspec/version.rb +5 -0
  477. data/vendor/ruby/1.9.1/gems/rspec-core-2.13.1/.document +5 -0
  478. data/vendor/ruby/1.9.1/gems/rspec-core-2.13.1/.yardopts +6 -0
  479. data/vendor/ruby/1.9.1/gems/rspec-core-2.13.1/Changelog.md +718 -0
  480. data/vendor/ruby/1.9.1/gems/rspec-core-2.13.1/License.txt +24 -0
  481. data/vendor/ruby/1.9.1/gems/rspec-core-2.13.1/README.md +261 -0
  482. data/vendor/ruby/1.9.1/gems/rspec-core-2.13.1/exe/autospec +13 -0
  483. data/vendor/ruby/1.9.1/gems/rspec-core-2.13.1/exe/rspec +25 -0
  484. data/vendor/ruby/1.9.1/gems/rspec-core-2.13.1/features/Autotest.md +38 -0
  485. data/vendor/ruby/1.9.1/gems/rspec-core-2.13.1/features/README.md +17 -0
  486. data/vendor/ruby/1.9.1/gems/rspec-core-2.13.1/features/Upgrade.md +364 -0
  487. data/vendor/ruby/1.9.1/gems/rspec-core-2.13.1/features/command_line/README.md +28 -0
  488. data/vendor/ruby/1.9.1/gems/rspec-core-2.13.1/features/command_line/example_name_option.feature +97 -0
  489. data/vendor/ruby/1.9.1/gems/rspec-core-2.13.1/features/command_line/exit_status.feature +82 -0
  490. data/vendor/ruby/1.9.1/gems/rspec-core-2.13.1/features/command_line/format_option.feature +81 -0
  491. data/vendor/ruby/1.9.1/gems/rspec-core-2.13.1/features/command_line/init.feature +18 -0
  492. data/vendor/ruby/1.9.1/gems/rspec-core-2.13.1/features/command_line/line_number_appended_to_path.feature +140 -0
  493. data/vendor/ruby/1.9.1/gems/rspec-core-2.13.1/features/command_line/line_number_option.feature +58 -0
  494. data/vendor/ruby/1.9.1/gems/rspec-core-2.13.1/features/command_line/order.feature +29 -0
  495. data/vendor/ruby/1.9.1/gems/rspec-core-2.13.1/features/command_line/pattern_option.feature +31 -0
  496. data/vendor/ruby/1.9.1/gems/rspec-core-2.13.1/features/command_line/rake_task.feature +122 -0
  497. data/vendor/ruby/1.9.1/gems/rspec-core-2.13.1/features/command_line/ruby.feature +22 -0
  498. data/vendor/ruby/1.9.1/gems/rspec-core-2.13.1/features/command_line/tag.feature +98 -0
  499. data/vendor/ruby/1.9.1/gems/rspec-core-2.13.1/features/configuration/alias_example_to.feature +48 -0
  500. data/vendor/ruby/1.9.1/gems/rspec-core-2.13.1/features/configuration/backtrace_clean_patterns.feature +102 -0
  501. data/vendor/ruby/1.9.1/gems/rspec-core-2.13.1/features/configuration/custom_settings.feature +84 -0
  502. data/vendor/ruby/1.9.1/gems/rspec-core-2.13.1/features/configuration/default_path.feature +38 -0
  503. data/vendor/ruby/1.9.1/gems/rspec-core-2.13.1/features/configuration/fail_fast.feature +77 -0
  504. data/vendor/ruby/1.9.1/gems/rspec-core-2.13.1/features/configuration/failure_exit_code.feature +36 -0
  505. data/vendor/ruby/1.9.1/gems/rspec-core-2.13.1/features/configuration/order_and_seed.feature +3 -0
  506. data/vendor/ruby/1.9.1/gems/rspec-core-2.13.1/features/configuration/output_stream.feature +24 -0
  507. data/vendor/ruby/1.9.1/gems/rspec-core-2.13.1/features/configuration/pattern.feature +30 -0
  508. data/vendor/ruby/1.9.1/gems/rspec-core-2.13.1/features/configuration/profile.feature +163 -0
  509. data/vendor/ruby/1.9.1/gems/rspec-core-2.13.1/features/configuration/read_options_from_file.feature +87 -0
  510. data/vendor/ruby/1.9.1/gems/rspec-core-2.13.1/features/configuration/run_all_when_everything_filtered.feature +60 -0
  511. data/vendor/ruby/1.9.1/gems/rspec-core-2.13.1/features/configuration/show_failures_in_pending_blocks.feature +61 -0
  512. data/vendor/ruby/1.9.1/gems/rspec-core-2.13.1/features/configuration/treat_symbols_as_metadata_keys_with_true_values.feature +52 -0
  513. data/vendor/ruby/1.9.1/gems/rspec-core-2.13.1/features/example_groups/basic_structure.feature +55 -0
  514. data/vendor/ruby/1.9.1/gems/rspec-core-2.13.1/features/example_groups/shared_context.feature +74 -0
  515. data/vendor/ruby/1.9.1/gems/rspec-core-2.13.1/features/example_groups/shared_examples.feature +222 -0
  516. data/vendor/ruby/1.9.1/gems/rspec-core-2.13.1/features/expectation_framework_integration/configure_expectation_framework.feature +102 -0
  517. data/vendor/ruby/1.9.1/gems/rspec-core-2.13.1/features/filtering/exclusion_filters.feature +138 -0
  518. data/vendor/ruby/1.9.1/gems/rspec-core-2.13.1/features/filtering/if_and_unless.feature +168 -0
  519. data/vendor/ruby/1.9.1/gems/rspec-core-2.13.1/features/filtering/inclusion_filters.feature +105 -0
  520. data/vendor/ruby/1.9.1/gems/rspec-core-2.13.1/features/filtering/run_all_when_everything_filtered.feature +46 -0
  521. data/vendor/ruby/1.9.1/gems/rspec-core-2.13.1/features/formatters/configurable_colors.feature +31 -0
  522. data/vendor/ruby/1.9.1/gems/rspec-core-2.13.1/features/formatters/custom_formatter.feature +36 -0
  523. data/vendor/ruby/1.9.1/gems/rspec-core-2.13.1/features/formatters/json_formatter.feature +30 -0
  524. data/vendor/ruby/1.9.1/gems/rspec-core-2.13.1/features/formatters/text_formatter.feature +46 -0
  525. data/vendor/ruby/1.9.1/gems/rspec-core-2.13.1/features/helper_methods/arbitrary_methods.feature +40 -0
  526. data/vendor/ruby/1.9.1/gems/rspec-core-2.13.1/features/helper_methods/let.feature +50 -0
  527. data/vendor/ruby/1.9.1/gems/rspec-core-2.13.1/features/helper_methods/modules.feature +149 -0
  528. data/vendor/ruby/1.9.1/gems/rspec-core-2.13.1/features/hooks/around_hooks.feature +343 -0
  529. data/vendor/ruby/1.9.1/gems/rspec-core-2.13.1/features/hooks/before_and_after_hooks.feature +427 -0
  530. data/vendor/ruby/1.9.1/gems/rspec-core-2.13.1/features/hooks/filtering.feature +234 -0
  531. data/vendor/ruby/1.9.1/gems/rspec-core-2.13.1/features/metadata/current_example.feature +17 -0
  532. data/vendor/ruby/1.9.1/gems/rspec-core-2.13.1/features/metadata/described_class.feature +17 -0
  533. data/vendor/ruby/1.9.1/gems/rspec-core-2.13.1/features/metadata/user_defined.feature +113 -0
  534. data/vendor/ruby/1.9.1/gems/rspec-core-2.13.1/features/mock_framework_integration/use_any_framework.feature +106 -0
  535. data/vendor/ruby/1.9.1/gems/rspec-core-2.13.1/features/mock_framework_integration/use_flexmock.feature +96 -0
  536. data/vendor/ruby/1.9.1/gems/rspec-core-2.13.1/features/mock_framework_integration/use_mocha.feature +97 -0
  537. data/vendor/ruby/1.9.1/gems/rspec-core-2.13.1/features/mock_framework_integration/use_rr.feature +98 -0
  538. data/vendor/ruby/1.9.1/gems/rspec-core-2.13.1/features/mock_framework_integration/use_rspec.feature +97 -0
  539. data/vendor/ruby/1.9.1/gems/rspec-core-2.13.1/features/pending/pending_examples.feature +229 -0
  540. data/vendor/ruby/1.9.1/gems/rspec-core-2.13.1/features/spec_files/arbitrary_file_suffix.feature +13 -0
  541. data/vendor/ruby/1.9.1/gems/rspec-core-2.13.1/features/step_definitions/additional_cli_steps.rb +49 -0
  542. data/vendor/ruby/1.9.1/gems/rspec-core-2.13.1/features/subject/attribute_of_subject.feature +124 -0
  543. data/vendor/ruby/1.9.1/gems/rspec-core-2.13.1/features/subject/explicit_subject.feature +101 -0
  544. data/vendor/ruby/1.9.1/gems/rspec-core-2.13.1/features/subject/implicit_receiver.feature +29 -0
  545. data/vendor/ruby/1.9.1/gems/rspec-core-2.13.1/features/subject/implicit_subject.feature +63 -0
  546. data/vendor/ruby/1.9.1/gems/rspec-core-2.13.1/features/support/env.rb +14 -0
  547. data/vendor/ruby/1.9.1/gems/rspec-core-2.13.1/lib/autotest/discover.rb +1 -0
  548. data/vendor/ruby/1.9.1/gems/rspec-core-2.13.1/lib/autotest/rspec2.rb +73 -0
  549. data/vendor/ruby/1.9.1/gems/rspec-core-2.13.1/lib/rspec/autorun.rb +2 -0
  550. data/vendor/ruby/1.9.1/gems/rspec-core-2.13.1/lib/rspec/core.rb +146 -0
  551. data/vendor/ruby/1.9.1/gems/rspec-core-2.13.1/lib/rspec/core/backward_compatibility.rb +65 -0
  552. data/vendor/ruby/1.9.1/gems/rspec-core-2.13.1/lib/rspec/core/command_line.rb +36 -0
  553. data/vendor/ruby/1.9.1/gems/rspec-core-2.13.1/lib/rspec/core/configuration.rb +1087 -0
  554. data/vendor/ruby/1.9.1/gems/rspec-core-2.13.1/lib/rspec/core/configuration_options.rb +144 -0
  555. data/vendor/ruby/1.9.1/gems/rspec-core-2.13.1/lib/rspec/core/deprecation.rb +36 -0
  556. data/vendor/ruby/1.9.1/gems/rspec-core-2.13.1/lib/rspec/core/drb_command_line.rb +26 -0
  557. data/vendor/ruby/1.9.1/gems/rspec-core-2.13.1/lib/rspec/core/drb_options.rb +87 -0
  558. data/vendor/ruby/1.9.1/gems/rspec-core-2.13.1/lib/rspec/core/dsl.rb +26 -0
  559. data/vendor/ruby/1.9.1/gems/rspec-core-2.13.1/lib/rspec/core/example.rb +331 -0
  560. data/vendor/ruby/1.9.1/gems/rspec-core-2.13.1/lib/rspec/core/example_group.rb +478 -0
  561. data/vendor/ruby/1.9.1/gems/rspec-core-2.13.1/lib/rspec/core/extensions/instance_eval_with_args.rb +44 -0
  562. data/vendor/ruby/1.9.1/gems/rspec-core-2.13.1/lib/rspec/core/extensions/kernel.rb +9 -0
  563. data/vendor/ruby/1.9.1/gems/rspec-core-2.13.1/lib/rspec/core/extensions/module_eval_with_args.rb +38 -0
  564. data/vendor/ruby/1.9.1/gems/rspec-core-2.13.1/lib/rspec/core/extensions/ordered.rb +27 -0
  565. data/vendor/ruby/1.9.1/gems/rspec-core-2.13.1/lib/rspec/core/filter_manager.rb +203 -0
  566. data/vendor/ruby/1.9.1/gems/rspec-core-2.13.1/lib/rspec/core/formatters.rb +55 -0
  567. data/vendor/ruby/1.9.1/gems/rspec-core-2.13.1/lib/rspec/core/formatters/base_formatter.rb +237 -0
  568. data/vendor/ruby/1.9.1/gems/rspec-core-2.13.1/lib/rspec/core/formatters/base_text_formatter.rb +292 -0
  569. data/vendor/ruby/1.9.1/gems/rspec-core-2.13.1/lib/rspec/core/formatters/documentation_formatter.rb +67 -0
  570. data/vendor/ruby/1.9.1/gems/rspec-core-2.13.1/lib/rspec/core/formatters/helpers.rb +103 -0
  571. data/vendor/ruby/1.9.1/gems/rspec-core-2.13.1/lib/rspec/core/formatters/html_formatter.rb +154 -0
  572. data/vendor/ruby/1.9.1/gems/rspec-core-2.13.1/lib/rspec/core/formatters/html_printer.rb +407 -0
  573. data/vendor/ruby/1.9.1/gems/rspec-core-2.13.1/lib/rspec/core/formatters/json_formatter.rb +73 -0
  574. data/vendor/ruby/1.9.1/gems/rspec-core-2.13.1/lib/rspec/core/formatters/progress_formatter.rb +32 -0
  575. data/vendor/ruby/1.9.1/gems/rspec-core-2.13.1/lib/rspec/core/formatters/snippet_extractor.rb +92 -0
  576. data/vendor/ruby/1.9.1/gems/rspec-core-2.13.1/lib/rspec/core/formatters/text_mate_formatter.rb +34 -0
  577. data/vendor/ruby/1.9.1/gems/rspec-core-2.13.1/lib/rspec/core/hooks.rb +489 -0
  578. data/vendor/ruby/1.9.1/gems/rspec-core-2.13.1/lib/rspec/core/load_path.rb +3 -0
  579. data/vendor/ruby/1.9.1/gems/rspec-core-2.13.1/lib/rspec/core/memoized_helpers.rb +501 -0
  580. data/vendor/ruby/1.9.1/gems/rspec-core-2.13.1/lib/rspec/core/metadata.rb +297 -0
  581. data/vendor/ruby/1.9.1/gems/rspec-core-2.13.1/lib/rspec/core/metadata_hash_builder.rb +97 -0
  582. data/vendor/ruby/1.9.1/gems/rspec-core-2.13.1/lib/rspec/core/mocking/with_absolutely_nothing.rb +11 -0
  583. data/vendor/ruby/1.9.1/gems/rspec-core-2.13.1/lib/rspec/core/mocking/with_flexmock.rb +27 -0
  584. data/vendor/ruby/1.9.1/gems/rspec-core-2.13.1/lib/rspec/core/mocking/with_mocha.rb +52 -0
  585. data/vendor/ruby/1.9.1/gems/rspec-core-2.13.1/lib/rspec/core/mocking/with_rr.rb +27 -0
  586. data/vendor/ruby/1.9.1/gems/rspec-core-2.13.1/lib/rspec/core/mocking/with_rspec.rb +27 -0
  587. data/vendor/ruby/1.9.1/gems/rspec-core-2.13.1/lib/rspec/core/option_parser.rb +208 -0
  588. data/vendor/ruby/1.9.1/gems/rspec-core-2.13.1/lib/rspec/core/pending.rb +108 -0
  589. data/vendor/ruby/1.9.1/gems/rspec-core-2.13.1/lib/rspec/core/project_initializer.rb +86 -0
  590. data/vendor/ruby/1.9.1/gems/rspec-core-2.13.1/lib/rspec/core/rake_task.rb +202 -0
  591. data/vendor/ruby/1.9.1/gems/rspec-core-2.13.1/lib/rspec/core/reporter.rb +102 -0
  592. data/vendor/ruby/1.9.1/gems/rspec-core-2.13.1/lib/rspec/core/ruby_project.rb +44 -0
  593. data/vendor/ruby/1.9.1/gems/rspec-core-2.13.1/lib/rspec/core/runner.rb +87 -0
  594. data/vendor/ruby/1.9.1/gems/rspec-core-2.13.1/lib/rspec/core/shared_context.rb +49 -0
  595. data/vendor/ruby/1.9.1/gems/rspec-core-2.13.1/lib/rspec/core/shared_example_group.rb +144 -0
  596. data/vendor/ruby/1.9.1/gems/rspec-core-2.13.1/lib/rspec/core/version.rb +7 -0
  597. data/vendor/ruby/1.9.1/gems/rspec-core-2.13.1/lib/rspec/core/world.rb +128 -0
  598. data/vendor/ruby/1.9.1/gems/rspec-core-2.13.1/spec/autotest/discover_spec.rb +19 -0
  599. data/vendor/ruby/1.9.1/gems/rspec-core-2.13.1/spec/autotest/failed_results_re_spec.rb +45 -0
  600. data/vendor/ruby/1.9.1/gems/rspec-core-2.13.1/spec/autotest/rspec_spec.rb +133 -0
  601. data/vendor/ruby/1.9.1/gems/rspec-core-2.13.1/spec/command_line/order_spec.rb +204 -0
  602. data/vendor/ruby/1.9.1/gems/rspec-core-2.13.1/spec/rspec/core/command_line_spec.rb +108 -0
  603. data/vendor/ruby/1.9.1/gems/rspec-core-2.13.1/spec/rspec/core/command_line_spec_output.txt +0 -0
  604. data/vendor/ruby/1.9.1/gems/rspec-core-2.13.1/spec/rspec/core/configuration_options_spec.rb +398 -0
  605. data/vendor/ruby/1.9.1/gems/rspec-core-2.13.1/spec/rspec/core/configuration_spec.rb +1376 -0
  606. data/vendor/ruby/1.9.1/gems/rspec-core-2.13.1/spec/rspec/core/deprecations_spec.rb +75 -0
  607. data/vendor/ruby/1.9.1/gems/rspec-core-2.13.1/spec/rspec/core/drb_command_line_spec.rb +102 -0
  608. data/vendor/ruby/1.9.1/gems/rspec-core-2.13.1/spec/rspec/core/drb_options_spec.rb +193 -0
  609. data/vendor/ruby/1.9.1/gems/rspec-core-2.13.1/spec/rspec/core/dsl_spec.rb +25 -0
  610. data/vendor/ruby/1.9.1/gems/rspec-core-2.13.1/spec/rspec/core/example_group_spec.rb +1176 -0
  611. data/vendor/ruby/1.9.1/gems/rspec-core-2.13.1/spec/rspec/core/example_spec.rb +418 -0
  612. data/vendor/ruby/1.9.1/gems/rspec-core-2.13.1/spec/rspec/core/filter_manager_spec.rb +246 -0
  613. data/vendor/ruby/1.9.1/gems/rspec-core-2.13.1/spec/rspec/core/formatters/base_formatter_spec.rb +108 -0
  614. data/vendor/ruby/1.9.1/gems/rspec-core-2.13.1/spec/rspec/core/formatters/base_text_formatter_spec.rb +429 -0
  615. data/vendor/ruby/1.9.1/gems/rspec-core-2.13.1/spec/rspec/core/formatters/documentation_formatter_spec.rb +88 -0
  616. data/vendor/ruby/1.9.1/gems/rspec-core-2.13.1/spec/rspec/core/formatters/helpers_spec.rb +78 -0
  617. data/vendor/ruby/1.9.1/gems/rspec-core-2.13.1/spec/rspec/core/formatters/html_formatted-1.8.7-jruby.html +398 -0
  618. data/vendor/ruby/1.9.1/gems/rspec-core-2.13.1/spec/rspec/core/formatters/html_formatted-1.8.7-rbx.html +577 -0
  619. data/vendor/ruby/1.9.1/gems/rspec-core-2.13.1/spec/rspec/core/formatters/html_formatted-1.8.7.html +409 -0
  620. data/vendor/ruby/1.9.1/gems/rspec-core-2.13.1/spec/rspec/core/formatters/html_formatted-1.9.2.html +416 -0
  621. data/vendor/ruby/1.9.1/gems/rspec-core-2.13.1/spec/rspec/core/formatters/html_formatted-1.9.3-jruby.html +410 -0
  622. data/vendor/ruby/1.9.1/gems/rspec-core-2.13.1/spec/rspec/core/formatters/html_formatted-1.9.3-rbx.html +577 -0
  623. data/vendor/ruby/1.9.1/gems/rspec-core-2.13.1/spec/rspec/core/formatters/html_formatted-1.9.3.html +416 -0
  624. data/vendor/ruby/1.9.1/gems/rspec-core-2.13.1/spec/rspec/core/formatters/html_formatted-2.0.0.html +416 -0
  625. data/vendor/ruby/1.9.1/gems/rspec-core-2.13.1/spec/rspec/core/formatters/html_formatter_spec.rb +94 -0
  626. data/vendor/ruby/1.9.1/gems/rspec-core-2.13.1/spec/rspec/core/formatters/json_formatter_spec.rb +110 -0
  627. data/vendor/ruby/1.9.1/gems/rspec-core-2.13.1/spec/rspec/core/formatters/progress_formatter_spec.rb +30 -0
  628. data/vendor/ruby/1.9.1/gems/rspec-core-2.13.1/spec/rspec/core/formatters/snippet_extractor_spec.rb +26 -0
  629. data/vendor/ruby/1.9.1/gems/rspec-core-2.13.1/spec/rspec/core/formatters/text_mate_formatted-1.8.7-jruby.html +398 -0
  630. data/vendor/ruby/1.9.1/gems/rspec-core-2.13.1/spec/rspec/core/formatters/text_mate_formatted-1.8.7-rbx.html +577 -0
  631. data/vendor/ruby/1.9.1/gems/rspec-core-2.13.1/spec/rspec/core/formatters/text_mate_formatted-1.8.7.html +409 -0
  632. data/vendor/ruby/1.9.1/gems/rspec-core-2.13.1/spec/rspec/core/formatters/text_mate_formatted-1.9.2.html +416 -0
  633. data/vendor/ruby/1.9.1/gems/rspec-core-2.13.1/spec/rspec/core/formatters/text_mate_formatted-1.9.3-jruby.html +398 -0
  634. data/vendor/ruby/1.9.1/gems/rspec-core-2.13.1/spec/rspec/core/formatters/text_mate_formatted-1.9.3-rbx.html +577 -0
  635. data/vendor/ruby/1.9.1/gems/rspec-core-2.13.1/spec/rspec/core/formatters/text_mate_formatted-1.9.3.html +416 -0
  636. data/vendor/ruby/1.9.1/gems/rspec-core-2.13.1/spec/rspec/core/formatters/text_mate_formatted-2.0.0.html +416 -0
  637. data/vendor/ruby/1.9.1/gems/rspec-core-2.13.1/spec/rspec/core/formatters/text_mate_formatter_spec.rb +95 -0
  638. data/vendor/ruby/1.9.1/gems/rspec-core-2.13.1/spec/rspec/core/hooks_filtering_spec.rb +227 -0
  639. data/vendor/ruby/1.9.1/gems/rspec-core-2.13.1/spec/rspec/core/hooks_spec.rb +267 -0
  640. data/vendor/ruby/1.9.1/gems/rspec-core-2.13.1/spec/rspec/core/kernel_extensions_spec.rb +9 -0
  641. data/vendor/ruby/1.9.1/gems/rspec-core-2.13.1/spec/rspec/core/memoized_helpers_spec.rb +642 -0
  642. data/vendor/ruby/1.9.1/gems/rspec-core-2.13.1/spec/rspec/core/metadata_spec.rb +486 -0
  643. data/vendor/ruby/1.9.1/gems/rspec-core-2.13.1/spec/rspec/core/option_parser_spec.rb +208 -0
  644. data/vendor/ruby/1.9.1/gems/rspec-core-2.13.1/spec/rspec/core/pending_example_spec.rb +220 -0
  645. data/vendor/ruby/1.9.1/gems/rspec-core-2.13.1/spec/rspec/core/project_initializer_spec.rb +130 -0
  646. data/vendor/ruby/1.9.1/gems/rspec-core-2.13.1/spec/rspec/core/rake_task_spec.rb +181 -0
  647. data/vendor/ruby/1.9.1/gems/rspec-core-2.13.1/spec/rspec/core/reporter_spec.rb +120 -0
  648. data/vendor/ruby/1.9.1/gems/rspec-core-2.13.1/spec/rspec/core/resources/a_bar.rb +0 -0
  649. data/vendor/ruby/1.9.1/gems/rspec-core-2.13.1/spec/rspec/core/resources/a_foo.rb +0 -0
  650. data/vendor/ruby/1.9.1/gems/rspec-core-2.13.1/spec/rspec/core/resources/a_spec.rb +1 -0
  651. data/vendor/ruby/1.9.1/gems/rspec-core-2.13.1/spec/rspec/core/resources/custom_example_group_runner.rb +14 -0
  652. data/vendor/ruby/1.9.1/gems/rspec-core-2.13.1/spec/rspec/core/resources/formatter_specs.rb +60 -0
  653. data/vendor/ruby/1.9.1/gems/rspec-core-2.13.1/spec/rspec/core/resources/utf8_encoded.rb +8 -0
  654. data/vendor/ruby/1.9.1/gems/rspec-core-2.13.1/spec/rspec/core/rspec_matchers_spec.rb +45 -0
  655. data/vendor/ruby/1.9.1/gems/rspec-core-2.13.1/spec/rspec/core/ruby_project_spec.rb +26 -0
  656. data/vendor/ruby/1.9.1/gems/rspec-core-2.13.1/spec/rspec/core/runner_spec.rb +82 -0
  657. data/vendor/ruby/1.9.1/gems/rspec-core-2.13.1/spec/rspec/core/shared_context_spec.rb +94 -0
  658. data/vendor/ruby/1.9.1/gems/rspec-core-2.13.1/spec/rspec/core/shared_example_group_spec.rb +96 -0
  659. data/vendor/ruby/1.9.1/gems/rspec-core-2.13.1/spec/rspec/core/world_spec.rb +144 -0
  660. data/vendor/ruby/1.9.1/gems/rspec-core-2.13.1/spec/rspec/core_spec.rb +35 -0
  661. data/vendor/ruby/1.9.1/gems/rspec-core-2.13.1/spec/spec_helper.rb +132 -0
  662. data/vendor/ruby/1.9.1/gems/rspec-core-2.13.1/spec/support/config_options_helper.rb +15 -0
  663. data/vendor/ruby/1.9.1/gems/rspec-core-2.13.1/spec/support/helper_methods.rb +18 -0
  664. data/vendor/ruby/1.9.1/gems/rspec-core-2.13.1/spec/support/isolated_directory.rb +10 -0
  665. data/vendor/ruby/1.9.1/gems/rspec-core-2.13.1/spec/support/isolated_home_directory.rb +16 -0
  666. data/vendor/ruby/1.9.1/gems/rspec-core-2.13.1/spec/support/matchers.rb +65 -0
  667. data/vendor/ruby/1.9.1/gems/rspec-core-2.13.1/spec/support/shared_example_groups.rb +41 -0
  668. data/vendor/ruby/1.9.1/gems/rspec-core-2.13.1/spec/support/spec_files.rb +44 -0
  669. data/vendor/ruby/1.9.1/gems/rspec-expectations-2.13.0/.document +5 -0
  670. data/vendor/ruby/1.9.1/gems/rspec-expectations-2.13.0/.yardopts +6 -0
  671. data/vendor/ruby/1.9.1/gems/rspec-expectations-2.13.0/Changelog.md +328 -0
  672. data/vendor/ruby/1.9.1/gems/rspec-expectations-2.13.0/License.txt +23 -0
  673. data/vendor/ruby/1.9.1/gems/rspec-expectations-2.13.0/README.md +228 -0
  674. data/vendor/ruby/1.9.1/gems/rspec-expectations-2.13.0/features/README.md +49 -0
  675. data/vendor/ruby/1.9.1/gems/rspec-expectations-2.13.0/features/Upgrade.md +53 -0
  676. data/vendor/ruby/1.9.1/gems/rspec-expectations-2.13.0/features/built_in_matchers/README.md +90 -0
  677. data/vendor/ruby/1.9.1/gems/rspec-expectations-2.13.0/features/built_in_matchers/be.feature +175 -0
  678. data/vendor/ruby/1.9.1/gems/rspec-expectations-2.13.0/features/built_in_matchers/be_within.feature +48 -0
  679. data/vendor/ruby/1.9.1/gems/rspec-expectations-2.13.0/features/built_in_matchers/cover.feature +47 -0
  680. data/vendor/ruby/1.9.1/gems/rspec-expectations-2.13.0/features/built_in_matchers/end_with.feature +48 -0
  681. data/vendor/ruby/1.9.1/gems/rspec-expectations-2.13.0/features/built_in_matchers/equality.feature +139 -0
  682. data/vendor/ruby/1.9.1/gems/rspec-expectations-2.13.0/features/built_in_matchers/exist.feature +45 -0
  683. data/vendor/ruby/1.9.1/gems/rspec-expectations-2.13.0/features/built_in_matchers/expect_change.feature +59 -0
  684. data/vendor/ruby/1.9.1/gems/rspec-expectations-2.13.0/features/built_in_matchers/expect_error.feature +144 -0
  685. data/vendor/ruby/1.9.1/gems/rspec-expectations-2.13.0/features/built_in_matchers/have.feature +109 -0
  686. data/vendor/ruby/1.9.1/gems/rspec-expectations-2.13.0/features/built_in_matchers/include.feature +174 -0
  687. data/vendor/ruby/1.9.1/gems/rspec-expectations-2.13.0/features/built_in_matchers/match.feature +52 -0
  688. data/vendor/ruby/1.9.1/gems/rspec-expectations-2.13.0/features/built_in_matchers/operators.feature +227 -0
  689. data/vendor/ruby/1.9.1/gems/rspec-expectations-2.13.0/features/built_in_matchers/predicates.feature +137 -0
  690. data/vendor/ruby/1.9.1/gems/rspec-expectations-2.13.0/features/built_in_matchers/respond_to.feature +84 -0
  691. data/vendor/ruby/1.9.1/gems/rspec-expectations-2.13.0/features/built_in_matchers/satisfy.feature +33 -0
  692. data/vendor/ruby/1.9.1/gems/rspec-expectations-2.13.0/features/built_in_matchers/start_with.feature +48 -0
  693. data/vendor/ruby/1.9.1/gems/rspec-expectations-2.13.0/features/built_in_matchers/throw_symbol.feature +91 -0
  694. data/vendor/ruby/1.9.1/gems/rspec-expectations-2.13.0/features/built_in_matchers/types.feature +116 -0
  695. data/vendor/ruby/1.9.1/gems/rspec-expectations-2.13.0/features/built_in_matchers/yield.feature +146 -0
  696. data/vendor/ruby/1.9.1/gems/rspec-expectations-2.13.0/features/custom_matchers/access_running_example.feature +53 -0
  697. data/vendor/ruby/1.9.1/gems/rspec-expectations-2.13.0/features/custom_matchers/define_diffable_matcher.feature +27 -0
  698. data/vendor/ruby/1.9.1/gems/rspec-expectations-2.13.0/features/custom_matchers/define_matcher.feature +368 -0
  699. data/vendor/ruby/1.9.1/gems/rspec-expectations-2.13.0/features/custom_matchers/define_matcher_outside_rspec.feature +38 -0
  700. data/vendor/ruby/1.9.1/gems/rspec-expectations-2.13.0/features/custom_matchers/define_matcher_with_fluent_interface.feature +24 -0
  701. data/vendor/ruby/1.9.1/gems/rspec-expectations-2.13.0/features/customized_message.feature +22 -0
  702. data/vendor/ruby/1.9.1/gems/rspec-expectations-2.13.0/features/diffing.feature +85 -0
  703. data/vendor/ruby/1.9.1/gems/rspec-expectations-2.13.0/features/implicit_docstrings.feature +52 -0
  704. data/vendor/ruby/1.9.1/gems/rspec-expectations-2.13.0/features/step_definitions/additional_cli_steps.rb +22 -0
  705. data/vendor/ruby/1.9.1/gems/rspec-expectations-2.13.0/features/support/env.rb +5 -0
  706. data/vendor/ruby/1.9.1/gems/rspec-expectations-2.13.0/features/syntax_configuration.feature +68 -0
  707. data/vendor/ruby/1.9.1/gems/rspec-expectations-2.13.0/features/test_frameworks/test_unit.feature +46 -0
  708. data/vendor/ruby/1.9.1/gems/rspec-expectations-2.13.0/lib/rspec-expectations.rb +1 -0
  709. data/vendor/ruby/1.9.1/gems/rspec-expectations-2.13.0/lib/rspec/expectations.rb +47 -0
  710. data/vendor/ruby/1.9.1/gems/rspec-expectations-2.13.0/lib/rspec/expectations/deprecation.rb +38 -0
  711. data/vendor/ruby/1.9.1/gems/rspec-expectations-2.13.0/lib/rspec/expectations/differ.rb +115 -0
  712. data/vendor/ruby/1.9.1/gems/rspec-expectations-2.13.0/lib/rspec/expectations/errors.rb +9 -0
  713. data/vendor/ruby/1.9.1/gems/rspec-expectations-2.13.0/lib/rspec/expectations/expectation_target.rb +88 -0
  714. data/vendor/ruby/1.9.1/gems/rspec-expectations-2.13.0/lib/rspec/expectations/extensions.rb +2 -0
  715. data/vendor/ruby/1.9.1/gems/rspec-expectations-2.13.0/lib/rspec/expectations/extensions/array.rb +9 -0
  716. data/vendor/ruby/1.9.1/gems/rspec-expectations-2.13.0/lib/rspec/expectations/extensions/object.rb +39 -0
  717. data/vendor/ruby/1.9.1/gems/rspec-expectations-2.13.0/lib/rspec/expectations/fail_with.rb +69 -0
  718. data/vendor/ruby/1.9.1/gems/rspec-expectations-2.13.0/lib/rspec/expectations/handler.rb +63 -0
  719. data/vendor/ruby/1.9.1/gems/rspec-expectations-2.13.0/lib/rspec/expectations/syntax.rb +164 -0
  720. data/vendor/ruby/1.9.1/gems/rspec-expectations-2.13.0/lib/rspec/expectations/version.rb +8 -0
  721. data/vendor/ruby/1.9.1/gems/rspec-expectations-2.13.0/lib/rspec/matchers.rb +699 -0
  722. data/vendor/ruby/1.9.1/gems/rspec-expectations-2.13.0/lib/rspec/matchers/be_close.rb +9 -0
  723. data/vendor/ruby/1.9.1/gems/rspec-expectations-2.13.0/lib/rspec/matchers/built_in.rb +39 -0
  724. data/vendor/ruby/1.9.1/gems/rspec-expectations-2.13.0/lib/rspec/matchers/built_in/base_matcher.rb +68 -0
  725. data/vendor/ruby/1.9.1/gems/rspec-expectations-2.13.0/lib/rspec/matchers/built_in/be.rb +189 -0
  726. data/vendor/ruby/1.9.1/gems/rspec-expectations-2.13.0/lib/rspec/matchers/built_in/be_instance_of.rb +15 -0
  727. data/vendor/ruby/1.9.1/gems/rspec-expectations-2.13.0/lib/rspec/matchers/built_in/be_kind_of.rb +11 -0
  728. data/vendor/ruby/1.9.1/gems/rspec-expectations-2.13.0/lib/rspec/matchers/built_in/be_within.rb +55 -0
  729. data/vendor/ruby/1.9.1/gems/rspec-expectations-2.13.0/lib/rspec/matchers/built_in/change.rb +133 -0
  730. data/vendor/ruby/1.9.1/gems/rspec-expectations-2.13.0/lib/rspec/matchers/built_in/cover.rb +21 -0
  731. data/vendor/ruby/1.9.1/gems/rspec-expectations-2.13.0/lib/rspec/matchers/built_in/eq.rb +22 -0
  732. data/vendor/ruby/1.9.1/gems/rspec-expectations-2.13.0/lib/rspec/matchers/built_in/eql.rb +23 -0
  733. data/vendor/ruby/1.9.1/gems/rspec-expectations-2.13.0/lib/rspec/matchers/built_in/equal.rb +48 -0
  734. data/vendor/ruby/1.9.1/gems/rspec-expectations-2.13.0/lib/rspec/matchers/built_in/exist.rb +26 -0
  735. data/vendor/ruby/1.9.1/gems/rspec-expectations-2.13.0/lib/rspec/matchers/built_in/has.rb +48 -0
  736. data/vendor/ruby/1.9.1/gems/rspec-expectations-2.13.0/lib/rspec/matchers/built_in/have.rb +108 -0
  737. data/vendor/ruby/1.9.1/gems/rspec-expectations-2.13.0/lib/rspec/matchers/built_in/include.rb +69 -0
  738. data/vendor/ruby/1.9.1/gems/rspec-expectations-2.13.0/lib/rspec/matchers/built_in/match.rb +12 -0
  739. data/vendor/ruby/1.9.1/gems/rspec-expectations-2.13.0/lib/rspec/matchers/built_in/match_array.rb +51 -0
  740. data/vendor/ruby/1.9.1/gems/rspec-expectations-2.13.0/lib/rspec/matchers/built_in/raise_error.rb +107 -0
  741. data/vendor/ruby/1.9.1/gems/rspec-expectations-2.13.0/lib/rspec/matchers/built_in/respond_to.rb +74 -0
  742. data/vendor/ruby/1.9.1/gems/rspec-expectations-2.13.0/lib/rspec/matchers/built_in/satisfy.rb +30 -0
  743. data/vendor/ruby/1.9.1/gems/rspec-expectations-2.13.0/lib/rspec/matchers/built_in/start_and_end_with.rb +48 -0
  744. data/vendor/ruby/1.9.1/gems/rspec-expectations-2.13.0/lib/rspec/matchers/built_in/throw_symbol.rb +94 -0
  745. data/vendor/ruby/1.9.1/gems/rspec-expectations-2.13.0/lib/rspec/matchers/built_in/yield.rb +221 -0
  746. data/vendor/ruby/1.9.1/gems/rspec-expectations-2.13.0/lib/rspec/matchers/compatibility.rb +14 -0
  747. data/vendor/ruby/1.9.1/gems/rspec-expectations-2.13.0/lib/rspec/matchers/configuration.rb +108 -0
  748. data/vendor/ruby/1.9.1/gems/rspec-expectations-2.13.0/lib/rspec/matchers/dsl.rb +24 -0
  749. data/vendor/ruby/1.9.1/gems/rspec-expectations-2.13.0/lib/rspec/matchers/extensions/instance_eval_with_args.rb +39 -0
  750. data/vendor/ruby/1.9.1/gems/rspec-expectations-2.13.0/lib/rspec/matchers/generated_descriptions.rb +35 -0
  751. data/vendor/ruby/1.9.1/gems/rspec-expectations-2.13.0/lib/rspec/matchers/matcher.rb +300 -0
  752. data/vendor/ruby/1.9.1/gems/rspec-expectations-2.13.0/lib/rspec/matchers/method_missing.rb +12 -0
  753. data/vendor/ruby/1.9.1/gems/rspec-expectations-2.13.0/lib/rspec/matchers/operator_matcher.rb +109 -0
  754. data/vendor/ruby/1.9.1/gems/rspec-expectations-2.13.0/lib/rspec/matchers/pretty.rb +64 -0
  755. data/vendor/ruby/1.9.1/gems/rspec-expectations-2.13.0/spec/rspec/expectations/differ_spec.rb +170 -0
  756. data/vendor/ruby/1.9.1/gems/rspec-expectations-2.13.0/spec/rspec/expectations/expectation_target_spec.rb +75 -0
  757. data/vendor/ruby/1.9.1/gems/rspec-expectations-2.13.0/spec/rspec/expectations/extensions/kernel_spec.rb +67 -0
  758. data/vendor/ruby/1.9.1/gems/rspec-expectations-2.13.0/spec/rspec/expectations/fail_with_spec.rb +95 -0
  759. data/vendor/ruby/1.9.1/gems/rspec-expectations-2.13.0/spec/rspec/expectations/handler_spec.rb +206 -0
  760. data/vendor/ruby/1.9.1/gems/rspec-expectations-2.13.0/spec/rspec/expectations/syntax_spec.rb +97 -0
  761. data/vendor/ruby/1.9.1/gems/rspec-expectations-2.13.0/spec/rspec/matchers/base_matcher_spec.rb +62 -0
  762. data/vendor/ruby/1.9.1/gems/rspec-expectations-2.13.0/spec/rspec/matchers/be_close_spec.rb +22 -0
  763. data/vendor/ruby/1.9.1/gems/rspec-expectations-2.13.0/spec/rspec/matchers/be_instance_of_spec.rb +63 -0
  764. data/vendor/ruby/1.9.1/gems/rspec-expectations-2.13.0/spec/rspec/matchers/be_kind_of_spec.rb +41 -0
  765. data/vendor/ruby/1.9.1/gems/rspec-expectations-2.13.0/spec/rspec/matchers/be_spec.rb +516 -0
  766. data/vendor/ruby/1.9.1/gems/rspec-expectations-2.13.0/spec/rspec/matchers/be_within_spec.rb +129 -0
  767. data/vendor/ruby/1.9.1/gems/rspec-expectations-2.13.0/spec/rspec/matchers/change_spec.rb +542 -0
  768. data/vendor/ruby/1.9.1/gems/rspec-expectations-2.13.0/spec/rspec/matchers/configuration_spec.rb +238 -0
  769. data/vendor/ruby/1.9.1/gems/rspec-expectations-2.13.0/spec/rspec/matchers/cover_spec.rb +69 -0
  770. data/vendor/ruby/1.9.1/gems/rspec-expectations-2.13.0/spec/rspec/matchers/description_generation_spec.rb +176 -0
  771. data/vendor/ruby/1.9.1/gems/rspec-expectations-2.13.0/spec/rspec/matchers/dsl_spec.rb +57 -0
  772. data/vendor/ruby/1.9.1/gems/rspec-expectations-2.13.0/spec/rspec/matchers/eq_spec.rb +60 -0
  773. data/vendor/ruby/1.9.1/gems/rspec-expectations-2.13.0/spec/rspec/matchers/eql_spec.rb +41 -0
  774. data/vendor/ruby/1.9.1/gems/rspec-expectations-2.13.0/spec/rspec/matchers/equal_spec.rb +78 -0
  775. data/vendor/ruby/1.9.1/gems/rspec-expectations-2.13.0/spec/rspec/matchers/exist_spec.rb +124 -0
  776. data/vendor/ruby/1.9.1/gems/rspec-expectations-2.13.0/spec/rspec/matchers/has_spec.rb +122 -0
  777. data/vendor/ruby/1.9.1/gems/rspec-expectations-2.13.0/spec/rspec/matchers/have_spec.rb +445 -0
  778. data/vendor/ruby/1.9.1/gems/rspec-expectations-2.13.0/spec/rspec/matchers/include_matcher_integration_spec.rb +30 -0
  779. data/vendor/ruby/1.9.1/gems/rspec-expectations-2.13.0/spec/rspec/matchers/include_spec.rb +531 -0
  780. data/vendor/ruby/1.9.1/gems/rspec-expectations-2.13.0/spec/rspec/matchers/match_array_spec.rb +194 -0
  781. data/vendor/ruby/1.9.1/gems/rspec-expectations-2.13.0/spec/rspec/matchers/match_spec.rb +61 -0
  782. data/vendor/ruby/1.9.1/gems/rspec-expectations-2.13.0/spec/rspec/matchers/matcher_spec.rb +471 -0
  783. data/vendor/ruby/1.9.1/gems/rspec-expectations-2.13.0/spec/rspec/matchers/matchers_spec.rb +37 -0
  784. data/vendor/ruby/1.9.1/gems/rspec-expectations-2.13.0/spec/rspec/matchers/method_missing_spec.rb +28 -0
  785. data/vendor/ruby/1.9.1/gems/rspec-expectations-2.13.0/spec/rspec/matchers/operator_matcher_spec.rb +223 -0
  786. data/vendor/ruby/1.9.1/gems/rspec-expectations-2.13.0/spec/rspec/matchers/raise_error_spec.rb +395 -0
  787. data/vendor/ruby/1.9.1/gems/rspec-expectations-2.13.0/spec/rspec/matchers/respond_to_spec.rb +292 -0
  788. data/vendor/ruby/1.9.1/gems/rspec-expectations-2.13.0/spec/rspec/matchers/satisfy_spec.rb +44 -0
  789. data/vendor/ruby/1.9.1/gems/rspec-expectations-2.13.0/spec/rspec/matchers/start_with_end_with_spec.rb +186 -0
  790. data/vendor/ruby/1.9.1/gems/rspec-expectations-2.13.0/spec/rspec/matchers/throw_symbol_spec.rb +116 -0
  791. data/vendor/ruby/1.9.1/gems/rspec-expectations-2.13.0/spec/rspec/matchers/yield_spec.rb +437 -0
  792. data/vendor/ruby/1.9.1/gems/rspec-expectations-2.13.0/spec/spec_helper.rb +54 -0
  793. data/vendor/ruby/1.9.1/gems/rspec-expectations-2.13.0/spec/support/classes.rb +56 -0
  794. data/vendor/ruby/1.9.1/gems/rspec-expectations-2.13.0/spec/support/in_sub_process.rb +38 -0
  795. data/vendor/ruby/1.9.1/gems/rspec-expectations-2.13.0/spec/support/matchers.rb +22 -0
  796. data/vendor/ruby/1.9.1/gems/rspec-expectations-2.13.0/spec/support/ruby_version.rb +10 -0
  797. data/vendor/ruby/1.9.1/gems/rspec-expectations-2.13.0/spec/support/shared_examples.rb +13 -0
  798. data/vendor/ruby/1.9.1/gems/rspec-mocks-2.13.1/.document +5 -0
  799. data/vendor/ruby/1.9.1/gems/rspec-mocks-2.13.1/.yardopts +6 -0
  800. data/vendor/ruby/1.9.1/gems/rspec-mocks-2.13.1/Changelog.md +306 -0
  801. data/vendor/ruby/1.9.1/gems/rspec-mocks-2.13.1/License.txt +23 -0
  802. data/vendor/ruby/1.9.1/gems/rspec-mocks-2.13.1/README.md +315 -0
  803. data/vendor/ruby/1.9.1/gems/rspec-mocks-2.13.1/features/README.md +67 -0
  804. data/vendor/ruby/1.9.1/gems/rspec-mocks-2.13.1/features/Scope.md +17 -0
  805. data/vendor/ruby/1.9.1/gems/rspec-mocks-2.13.1/features/Upgrade.md +22 -0
  806. data/vendor/ruby/1.9.1/gems/rspec-mocks-2.13.1/features/argument_matchers/README.md +27 -0
  807. data/vendor/ruby/1.9.1/gems/rspec-mocks-2.13.1/features/argument_matchers/explicit.feature +60 -0
  808. data/vendor/ruby/1.9.1/gems/rspec-mocks-2.13.1/features/argument_matchers/general_matchers.feature +85 -0
  809. data/vendor/ruby/1.9.1/gems/rspec-mocks-2.13.1/features/argument_matchers/type_matchers.feature +27 -0
  810. data/vendor/ruby/1.9.1/gems/rspec-mocks-2.13.1/features/message_expectations/README.md +73 -0
  811. data/vendor/ruby/1.9.1/gems/rspec-mocks-2.13.1/features/message_expectations/any_instance.feature +21 -0
  812. data/vendor/ruby/1.9.1/gems/rspec-mocks-2.13.1/features/message_expectations/block_local_expectations.feature.pending +55 -0
  813. data/vendor/ruby/1.9.1/gems/rspec-mocks-2.13.1/features/message_expectations/call_original.feature +24 -0
  814. data/vendor/ruby/1.9.1/gems/rspec-mocks-2.13.1/features/message_expectations/expect_message.feature +94 -0
  815. data/vendor/ruby/1.9.1/gems/rspec-mocks-2.13.1/features/message_expectations/receive_counts.feature +209 -0
  816. data/vendor/ruby/1.9.1/gems/rspec-mocks-2.13.1/features/message_expectations/warn_when_expectation_is_set_on_nil.feature +50 -0
  817. data/vendor/ruby/1.9.1/gems/rspec-mocks-2.13.1/features/method_stubs/README.md +47 -0
  818. data/vendor/ruby/1.9.1/gems/rspec-mocks-2.13.1/features/method_stubs/any_instance.feature +132 -0
  819. data/vendor/ruby/1.9.1/gems/rspec-mocks-2.13.1/features/method_stubs/as_null_object.feature +35 -0
  820. data/vendor/ruby/1.9.1/gems/rspec-mocks-2.13.1/features/method_stubs/simple_return_value.feature +64 -0
  821. data/vendor/ruby/1.9.1/gems/rspec-mocks-2.13.1/features/method_stubs/stub_chain.feature +51 -0
  822. data/vendor/ruby/1.9.1/gems/rspec-mocks-2.13.1/features/method_stubs/stub_implementation.feature +26 -0
  823. data/vendor/ruby/1.9.1/gems/rspec-mocks-2.13.1/features/method_stubs/to_ary.feature +47 -0
  824. data/vendor/ruby/1.9.1/gems/rspec-mocks-2.13.1/features/mutating_constants/README.md +82 -0
  825. data/vendor/ruby/1.9.1/gems/rspec-mocks-2.13.1/features/mutating_constants/hiding_defined_constant.feature +64 -0
  826. data/vendor/ruby/1.9.1/gems/rspec-mocks-2.13.1/features/mutating_constants/stub_defined_constant.feature +79 -0
  827. data/vendor/ruby/1.9.1/gems/rspec-mocks-2.13.1/features/mutating_constants/stub_undefined_constant.feature +50 -0
  828. data/vendor/ruby/1.9.1/gems/rspec-mocks-2.13.1/features/outside_rspec/configuration.feature +82 -0
  829. data/vendor/ruby/1.9.1/gems/rspec-mocks-2.13.1/features/outside_rspec/standalone.feature +33 -0
  830. data/vendor/ruby/1.9.1/gems/rspec-mocks-2.13.1/features/step_definitions/additional_cli_steps.rb +4 -0
  831. data/vendor/ruby/1.9.1/gems/rspec-mocks-2.13.1/features/support/env.rb +13 -0
  832. data/vendor/ruby/1.9.1/gems/rspec-mocks-2.13.1/lib/rspec/mocks.rb +82 -0
  833. data/vendor/ruby/1.9.1/gems/rspec-mocks-2.13.1/lib/rspec/mocks/any_instance.rb +81 -0
  834. data/vendor/ruby/1.9.1/gems/rspec-mocks-2.13.1/lib/rspec/mocks/any_instance/chain.rb +78 -0
  835. data/vendor/ruby/1.9.1/gems/rspec-mocks-2.13.1/lib/rspec/mocks/any_instance/expectation_chain.rb +66 -0
  836. data/vendor/ruby/1.9.1/gems/rspec-mocks-2.13.1/lib/rspec/mocks/any_instance/message_chains.rb +60 -0
  837. data/vendor/ruby/1.9.1/gems/rspec-mocks-2.13.1/lib/rspec/mocks/any_instance/recorder.rb +204 -0
  838. data/vendor/ruby/1.9.1/gems/rspec-mocks-2.13.1/lib/rspec/mocks/any_instance/stub_chain.rb +37 -0
  839. data/vendor/ruby/1.9.1/gems/rspec-mocks-2.13.1/lib/rspec/mocks/any_instance/stub_chain_chain.rb +25 -0
  840. data/vendor/ruby/1.9.1/gems/rspec-mocks-2.13.1/lib/rspec/mocks/argument_list_matcher.rb +93 -0
  841. data/vendor/ruby/1.9.1/gems/rspec-mocks-2.13.1/lib/rspec/mocks/argument_matchers.rb +238 -0
  842. data/vendor/ruby/1.9.1/gems/rspec-mocks-2.13.1/lib/rspec/mocks/configuration.rb +28 -0
  843. data/vendor/ruby/1.9.1/gems/rspec-mocks-2.13.1/lib/rspec/mocks/error_generator.rb +120 -0
  844. data/vendor/ruby/1.9.1/gems/rspec-mocks-2.13.1/lib/rspec/mocks/errors.rb +12 -0
  845. data/vendor/ruby/1.9.1/gems/rspec-mocks-2.13.1/lib/rspec/mocks/example_methods.rb +120 -0
  846. data/vendor/ruby/1.9.1/gems/rspec-mocks-2.13.1/lib/rspec/mocks/extensions/instance_exec.rb +34 -0
  847. data/vendor/ruby/1.9.1/gems/rspec-mocks-2.13.1/lib/rspec/mocks/extensions/marshal.rb +23 -0
  848. data/vendor/ruby/1.9.1/gems/rspec-mocks-2.13.1/lib/rspec/mocks/extensions/psych.rb +23 -0
  849. data/vendor/ruby/1.9.1/gems/rspec-mocks-2.13.1/lib/rspec/mocks/framework.rb +22 -0
  850. data/vendor/ruby/1.9.1/gems/rspec-mocks-2.13.1/lib/rspec/mocks/instance_method_stasher.rb +85 -0
  851. data/vendor/ruby/1.9.1/gems/rspec-mocks-2.13.1/lib/rspec/mocks/message_expectation.rb +567 -0
  852. data/vendor/ruby/1.9.1/gems/rspec-mocks-2.13.1/lib/rspec/mocks/method_double.rb +267 -0
  853. data/vendor/ruby/1.9.1/gems/rspec-mocks-2.13.1/lib/rspec/mocks/methods.rb +155 -0
  854. data/vendor/ruby/1.9.1/gems/rspec-mocks-2.13.1/lib/rspec/mocks/mock.rb +7 -0
  855. data/vendor/ruby/1.9.1/gems/rspec-mocks-2.13.1/lib/rspec/mocks/mutate_const.rb +415 -0
  856. data/vendor/ruby/1.9.1/gems/rspec-mocks-2.13.1/lib/rspec/mocks/order_group.rb +40 -0
  857. data/vendor/ruby/1.9.1/gems/rspec-mocks-2.13.1/lib/rspec/mocks/proxy.rb +205 -0
  858. data/vendor/ruby/1.9.1/gems/rspec-mocks-2.13.1/lib/rspec/mocks/serialization.rb +34 -0
  859. data/vendor/ruby/1.9.1/gems/rspec-mocks-2.13.1/lib/rspec/mocks/space.rb +34 -0
  860. data/vendor/ruby/1.9.1/gems/rspec-mocks-2.13.1/lib/rspec/mocks/standalone.rb +3 -0
  861. data/vendor/ruby/1.9.1/gems/rspec-mocks-2.13.1/lib/rspec/mocks/test_double.rb +103 -0
  862. data/vendor/ruby/1.9.1/gems/rspec-mocks-2.13.1/lib/rspec/mocks/version.rb +7 -0
  863. data/vendor/ruby/1.9.1/gems/rspec-mocks-2.13.1/lib/spec/mocks.rb +6 -0
  864. data/vendor/ruby/1.9.1/gems/rspec-mocks-2.13.1/spec/rspec/mocks/and_call_original_spec.rb +235 -0
  865. data/vendor/ruby/1.9.1/gems/rspec-mocks-2.13.1/spec/rspec/mocks/and_yield_spec.rb +127 -0
  866. data/vendor/ruby/1.9.1/gems/rspec-mocks-2.13.1/spec/rspec/mocks/any_instance/message_chains_spec.rb +40 -0
  867. data/vendor/ruby/1.9.1/gems/rspec-mocks-2.13.1/spec/rspec/mocks/any_instance_spec.rb +925 -0
  868. data/vendor/ruby/1.9.1/gems/rspec-mocks-2.13.1/spec/rspec/mocks/any_number_of_times_spec.rb +30 -0
  869. data/vendor/ruby/1.9.1/gems/rspec-mocks-2.13.1/spec/rspec/mocks/argument_expectation_spec.rb +34 -0
  870. data/vendor/ruby/1.9.1/gems/rspec-mocks-2.13.1/spec/rspec/mocks/at_least_spec.rb +142 -0
  871. data/vendor/ruby/1.9.1/gems/rspec-mocks-2.13.1/spec/rspec/mocks/at_most_spec.rb +90 -0
  872. data/vendor/ruby/1.9.1/gems/rspec-mocks-2.13.1/spec/rspec/mocks/block_return_value_spec.rb +53 -0
  873. data/vendor/ruby/1.9.1/gems/rspec-mocks-2.13.1/spec/rspec/mocks/bug_report_10260_spec.rb +8 -0
  874. data/vendor/ruby/1.9.1/gems/rspec-mocks-2.13.1/spec/rspec/mocks/bug_report_10263_spec.rb +27 -0
  875. data/vendor/ruby/1.9.1/gems/rspec-mocks-2.13.1/spec/rspec/mocks/bug_report_11545_spec.rb +32 -0
  876. data/vendor/ruby/1.9.1/gems/rspec-mocks-2.13.1/spec/rspec/mocks/bug_report_496_spec.rb +17 -0
  877. data/vendor/ruby/1.9.1/gems/rspec-mocks-2.13.1/spec/rspec/mocks/bug_report_600_spec.rb +22 -0
  878. data/vendor/ruby/1.9.1/gems/rspec-mocks-2.13.1/spec/rspec/mocks/bug_report_7611_spec.rb +16 -0
  879. data/vendor/ruby/1.9.1/gems/rspec-mocks-2.13.1/spec/rspec/mocks/bug_report_8165_spec.rb +31 -0
  880. data/vendor/ruby/1.9.1/gems/rspec-mocks-2.13.1/spec/rspec/mocks/bug_report_830_spec.rb +21 -0
  881. data/vendor/ruby/1.9.1/gems/rspec-mocks-2.13.1/spec/rspec/mocks/bug_report_957_spec.rb +22 -0
  882. data/vendor/ruby/1.9.1/gems/rspec-mocks-2.13.1/spec/rspec/mocks/combining_implementation_instructions_spec.rb +197 -0
  883. data/vendor/ruby/1.9.1/gems/rspec-mocks-2.13.1/spec/rspec/mocks/configuration_spec.rb +26 -0
  884. data/vendor/ruby/1.9.1/gems/rspec-mocks-2.13.1/spec/rspec/mocks/double_spec.rb +12 -0
  885. data/vendor/ruby/1.9.1/gems/rspec-mocks-2.13.1/spec/rspec/mocks/failing_argument_matchers_spec.rb +94 -0
  886. data/vendor/ruby/1.9.1/gems/rspec-mocks-2.13.1/spec/rspec/mocks/hash_excluding_matcher_spec.rb +67 -0
  887. data/vendor/ruby/1.9.1/gems/rspec-mocks-2.13.1/spec/rspec/mocks/hash_including_matcher_spec.rb +90 -0
  888. data/vendor/ruby/1.9.1/gems/rspec-mocks-2.13.1/spec/rspec/mocks/instance_method_stasher_spec.rb +58 -0
  889. data/vendor/ruby/1.9.1/gems/rspec-mocks-2.13.1/spec/rspec/mocks/mock_ordering_spec.rb +103 -0
  890. data/vendor/ruby/1.9.1/gems/rspec-mocks-2.13.1/spec/rspec/mocks/mock_space_spec.rb +58 -0
  891. data/vendor/ruby/1.9.1/gems/rspec-mocks-2.13.1/spec/rspec/mocks/mock_spec.rb +734 -0
  892. data/vendor/ruby/1.9.1/gems/rspec-mocks-2.13.1/spec/rspec/mocks/multiple_return_value_spec.rb +132 -0
  893. data/vendor/ruby/1.9.1/gems/rspec-mocks-2.13.1/spec/rspec/mocks/mutate_const_spec.rb +481 -0
  894. data/vendor/ruby/1.9.1/gems/rspec-mocks-2.13.1/spec/rspec/mocks/nil_expectation_warning_spec.rb +62 -0
  895. data/vendor/ruby/1.9.1/gems/rspec-mocks-2.13.1/spec/rspec/mocks/null_object_mock_spec.rb +107 -0
  896. data/vendor/ruby/1.9.1/gems/rspec-mocks-2.13.1/spec/rspec/mocks/once_counts_spec.rb +52 -0
  897. data/vendor/ruby/1.9.1/gems/rspec-mocks-2.13.1/spec/rspec/mocks/options_hash_spec.rb +35 -0
  898. data/vendor/ruby/1.9.1/gems/rspec-mocks-2.13.1/spec/rspec/mocks/partial_mock_spec.rb +196 -0
  899. data/vendor/ruby/1.9.1/gems/rspec-mocks-2.13.1/spec/rspec/mocks/partial_mock_using_mocks_directly_spec.rb +95 -0
  900. data/vendor/ruby/1.9.1/gems/rspec-mocks-2.13.1/spec/rspec/mocks/passing_argument_matchers_spec.rb +142 -0
  901. data/vendor/ruby/1.9.1/gems/rspec-mocks-2.13.1/spec/rspec/mocks/precise_counts_spec.rb +68 -0
  902. data/vendor/ruby/1.9.1/gems/rspec-mocks-2.13.1/spec/rspec/mocks/record_messages_spec.rb +26 -0
  903. data/vendor/ruby/1.9.1/gems/rspec-mocks-2.13.1/spec/rspec/mocks/serialization_spec.rb +110 -0
  904. data/vendor/ruby/1.9.1/gems/rspec-mocks-2.13.1/spec/rspec/mocks/stash_spec.rb +54 -0
  905. data/vendor/ruby/1.9.1/gems/rspec-mocks-2.13.1/spec/rspec/mocks/stub_chain_spec.rb +154 -0
  906. data/vendor/ruby/1.9.1/gems/rspec-mocks-2.13.1/spec/rspec/mocks/stub_implementation_spec.rb +81 -0
  907. data/vendor/ruby/1.9.1/gems/rspec-mocks-2.13.1/spec/rspec/mocks/stub_spec.rb +279 -0
  908. data/vendor/ruby/1.9.1/gems/rspec-mocks-2.13.1/spec/rspec/mocks/stubbed_message_expectations_spec.rb +58 -0
  909. data/vendor/ruby/1.9.1/gems/rspec-mocks-2.13.1/spec/rspec/mocks/test_double_spec.rb +57 -0
  910. data/vendor/ruby/1.9.1/gems/rspec-mocks-2.13.1/spec/rspec/mocks/to_ary_spec.rb +40 -0
  911. data/vendor/ruby/1.9.1/gems/rspec-mocks-2.13.1/spec/rspec/mocks/twice_counts_spec.rb +66 -0
  912. data/vendor/ruby/1.9.1/gems/rspec-mocks-2.13.1/spec/rspec/mocks_spec.rb +67 -0
  913. data/vendor/ruby/1.9.1/gems/rspec-mocks-2.13.1/spec/spec_helper.rb +36 -0
  914. data/vendor/ruby/1.9.1/gems/slop-3.4.5/.gitignore +7 -0
  915. data/vendor/ruby/1.9.1/gems/slop-3.4.5/.travis.yml +12 -0
  916. data/vendor/ruby/1.9.1/gems/slop-3.4.5/CHANGES.md +290 -0
  917. data/vendor/ruby/1.9.1/gems/slop-3.4.5/Gemfile +3 -0
  918. data/vendor/ruby/1.9.1/gems/slop-3.4.5/LICENSE +20 -0
  919. data/vendor/ruby/1.9.1/gems/slop-3.4.5/README.md +182 -0
  920. data/vendor/ruby/1.9.1/gems/slop-3.4.5/Rakefile +29 -0
  921. data/vendor/ruby/1.9.1/gems/slop-3.4.5/lib/slop.rb +689 -0
  922. data/vendor/ruby/1.9.1/gems/slop-3.4.5/lib/slop/commands.rb +196 -0
  923. data/vendor/ruby/1.9.1/gems/slop-3.4.5/lib/slop/option.rb +208 -0
  924. data/vendor/ruby/1.9.1/gems/slop-3.4.5/slop.gemspec +17 -0
  925. data/vendor/ruby/1.9.1/gems/slop-3.4.5/test/commands_test.rb +26 -0
  926. data/vendor/ruby/1.9.1/gems/slop-3.4.5/test/helper.rb +12 -0
  927. data/vendor/ruby/1.9.1/gems/slop-3.4.5/test/option_test.rb +134 -0
  928. data/vendor/ruby/1.9.1/gems/slop-3.4.5/test/slop_test.rb +497 -0
  929. data/vendor/ruby/1.9.1/specifications/coderay-1.0.9.gemspec +32 -0
  930. data/vendor/ruby/1.9.1/specifications/diff-lcs-1.2.4.gemspec +64 -0
  931. data/vendor/ruby/1.9.1/specifications/highline-1.6.19.gemspec +30 -0
  932. data/vendor/ruby/1.9.1/specifications/method_source-0.8.1.gemspec +31 -0
  933. data/vendor/ruby/1.9.1/specifications/pry-0.9.12.2.gemspec +54 -0
  934. data/vendor/ruby/1.9.1/specifications/rake-10.0.4.gemspec +35 -0
  935. data/vendor/ruby/1.9.1/specifications/rspec-2.13.0.gemspec +39 -0
  936. data/vendor/ruby/1.9.1/specifications/rspec-core-2.13.1.gemspec +58 -0
  937. data/vendor/ruby/1.9.1/specifications/rspec-expectations-2.13.0.gemspec +40 -0
  938. data/vendor/ruby/1.9.1/specifications/rspec-mocks-2.13.1.gemspec +37 -0
  939. data/vendor/ruby/1.9.1/specifications/slop-3.4.5.gemspec +33 -0
  940. metadata +1105 -0
@@ -0,0 +1,267 @@
1
+ module RSpec
2
+ module Mocks
3
+ # @private
4
+ class MethodDouble < Hash
5
+ # @private
6
+ attr_reader :method_name, :object
7
+
8
+ # @private
9
+ def initialize(object, method_name, proxy)
10
+ @method_name = method_name
11
+ @object = object
12
+ @proxy = proxy
13
+
14
+ @method_stasher = InstanceMethodStasher.new(object_singleton_class, @method_name)
15
+ @method_is_proxied = false
16
+ store(:expectations, [])
17
+ store(:stubs, [])
18
+ end
19
+
20
+ # @private
21
+ def expectations
22
+ self[:expectations]
23
+ end
24
+
25
+ # @private
26
+ def stubs
27
+ self[:stubs]
28
+ end
29
+
30
+ # @private
31
+ def visibility
32
+ if TestDouble === @object
33
+ 'public'
34
+ elsif object_singleton_class.private_method_defined?(@method_name)
35
+ 'private'
36
+ elsif object_singleton_class.protected_method_defined?(@method_name)
37
+ 'protected'
38
+ else
39
+ 'public'
40
+ end
41
+ end
42
+
43
+ # @private
44
+ def original_method
45
+ if @method_stasher.method_is_stashed?
46
+ # Example: a singleton method defined on @object
47
+ ::RSpec::Mocks.method_handle_for(@object, @method_stasher.stashed_method_name)
48
+ elsif meth = original_unrecorded_any_instance_method
49
+ # Example: a method that has been mocked through
50
+ # klass.any_instance.should_receive(:msg).and_call_original
51
+ # any_instance.should_receive(:msg) causes the method to be
52
+ # replaced with a proxy method, and then `and_call_original`
53
+ # is recorded and played back on the object instance. We need
54
+ # special handling here to get a handle on the original method
55
+ # object rather than the proxy method.
56
+ meth
57
+ else
58
+ begin
59
+ # Example: an instance method defined on one of @object's ancestors.
60
+ original_method_from_ancestor(object_singleton_class.ancestors)
61
+ rescue NameError
62
+ raise unless @object.respond_to?(:superclass)
63
+
64
+ # Example: a singleton method defined on @object's superclass.
65
+ #
66
+ # Note: we have to give precedence to instance methods
67
+ # defined on @object's class, because in a case like:
68
+ #
69
+ # `klass.should_receive(:new).and_call_original`
70
+ #
71
+ # ...we want `Class#new` bound to `klass` (which will return
72
+ # an instance of `klass`), not `klass.superclass.new` (which
73
+ # would return an instance of `klass.superclass`).
74
+ original_method_from_superclass
75
+ end
76
+ end
77
+ rescue NameError
78
+ # We have no way of knowing if the object's method_missing
79
+ # will handle this message or not...but we can at least try.
80
+ # If it's not handled, a `NoMethodError` will be raised, just
81
+ # like normally.
82
+ Proc.new do |*args, &block|
83
+ @object.__send__(:method_missing, @method_name, *args, &block)
84
+ end
85
+ end
86
+
87
+ def original_unrecorded_any_instance_method
88
+ return nil unless any_instance_class_recorder_observing_method?(@object.class)
89
+ alias_name = @object.class.__recorder.build_alias_method_name(@method_name)
90
+ @object.method(alias_name)
91
+ end
92
+
93
+ def any_instance_class_recorder_observing_method?(klass)
94
+ return true if klass.__recorder.already_observing?(@method_name)
95
+ superklass = klass.superclass
96
+ return false if superklass.nil?
97
+ any_instance_class_recorder_observing_method?(superklass)
98
+ end
99
+
100
+ def original_method_from_ancestor(ancestors)
101
+ klass, *rest = ancestors
102
+ klass.instance_method(@method_name).bind(@object)
103
+ rescue NameError
104
+ raise if rest.empty?
105
+ original_method_from_ancestor(rest)
106
+ end
107
+
108
+ if RUBY_VERSION.to_f > 1.8
109
+ # @private
110
+ def original_method_from_superclass
111
+ @object.superclass.
112
+ singleton_class.
113
+ instance_method(@method_name).
114
+ bind(@object)
115
+ end
116
+ else
117
+ # Our implementation for 1.9 (above) causes an error on 1.8:
118
+ # TypeError: singleton method bound for a different object
119
+ #
120
+ # This doesn't work quite right in all circumstances but it's the
121
+ # best we can do.
122
+ # @private
123
+ def original_method_from_superclass
124
+ ::Kernel.warn <<-WARNING.gsub(/^ +\|/, '')
125
+ |
126
+ |WARNING: On ruby 1.8, rspec-mocks is unable to bind the original
127
+ |`#{@method_name}` method to your partial mock object (#{@object})
128
+ |for `and_call_original`. The superclass's `#{@method_name}` is being
129
+ |used instead; however, it may not work correctly when executed due
130
+ |to the fact that `self` will be #{@object.superclass}, not #{@object}.
131
+ |
132
+ |Called from: #{caller[2]}
133
+ WARNING
134
+
135
+ @object.superclass.method(@method_name)
136
+ end
137
+ end
138
+ # @private
139
+ def object_singleton_class
140
+ class << @object; self; end
141
+ end
142
+
143
+ # @private
144
+ def configure_method
145
+ RSpec::Mocks::space.add(@object) if RSpec::Mocks::space
146
+ warn_if_nil_class
147
+ @original_visibility = visibility_for_method
148
+ @method_stasher.stash unless @method_is_proxied
149
+ define_proxy_method
150
+ end
151
+
152
+ # @private
153
+ def define_proxy_method
154
+ return if @method_is_proxied
155
+
156
+ object_singleton_class.class_eval <<-EOF, __FILE__, __LINE__ + 1
157
+ def #{@method_name}(*args, &block)
158
+ __mock_proxy.message_received :#{@method_name}, *args, &block
159
+ end
160
+ #{visibility_for_method}
161
+ EOF
162
+ @method_is_proxied = true
163
+ end
164
+
165
+ # @private
166
+ def visibility_for_method
167
+ "#{visibility} :#{method_name}"
168
+ end
169
+
170
+ # @private
171
+ def restore_original_method
172
+ return unless @method_is_proxied
173
+
174
+ object_singleton_class.__send__(:remove_method, @method_name)
175
+ @method_stasher.restore
176
+ restore_original_visibility
177
+
178
+ @method_is_proxied = false
179
+ end
180
+
181
+ # @private
182
+ def restore_original_visibility
183
+ return unless object_singleton_class.method_defined?(@method_name) || object_singleton_class.private_method_defined?(@method_name)
184
+ object_singleton_class.class_eval(@original_visibility, __FILE__, __LINE__)
185
+ end
186
+
187
+ # @private
188
+ def verify
189
+ expectations.each {|e| e.verify_messages_received}
190
+ end
191
+
192
+ # @private
193
+ def reset
194
+ reset_nil_expectations_warning
195
+ restore_original_method
196
+ clear
197
+ end
198
+
199
+ # @private
200
+ def clear
201
+ expectations.clear
202
+ stubs.clear
203
+ end
204
+
205
+ # @private
206
+ def add_expectation(error_generator, expectation_ordering, expected_from, opts, &implementation)
207
+ configure_method
208
+ expectation = MessageExpectation.new(error_generator, expectation_ordering,
209
+ expected_from, self, 1, opts, &implementation)
210
+ expectations << expectation
211
+ expectation
212
+ end
213
+
214
+ # @private
215
+ def add_negative_expectation(error_generator, expectation_ordering, expected_from, &implementation)
216
+ configure_method
217
+ expectation = NegativeMessageExpectation.new(error_generator, expectation_ordering,
218
+ expected_from, self, &implementation)
219
+ expectations.unshift expectation
220
+ expectation
221
+ end
222
+
223
+ # @private
224
+ def add_stub(error_generator, expectation_ordering, expected_from, opts={}, &implementation)
225
+ configure_method
226
+ stub = MessageExpectation.new(error_generator, expectation_ordering, expected_from,
227
+ self, :any, opts, &implementation)
228
+ stubs.unshift stub
229
+ stub
230
+ end
231
+
232
+ # @private
233
+ def add_default_stub(*args, &implementation)
234
+ return if stubs.any?
235
+ add_stub(*args, &implementation)
236
+ end
237
+
238
+ # @private
239
+ def remove_stub
240
+ raise_method_not_stubbed_error if stubs.empty?
241
+ expectations.empty? ? reset : stubs.clear
242
+ end
243
+
244
+ # @private
245
+ def proxy_for_nil_class?
246
+ NilClass === @object
247
+ end
248
+
249
+ # @private
250
+ def warn_if_nil_class
251
+ if proxy_for_nil_class? & RSpec::Mocks::Proxy.warn_about_expectations_on_nil
252
+ Kernel.warn("An expectation of :#{@method_name} was set on nil. Called from #{caller[4]}. Use allow_message_expectations_on_nil to disable warnings.")
253
+ end
254
+ end
255
+
256
+ # @private
257
+ def raise_method_not_stubbed_error
258
+ raise MockExpectationError, "The method `#{method_name}` was not stubbed or was already unstubbed"
259
+ end
260
+
261
+ # @private
262
+ def reset_nil_expectations_warning
263
+ RSpec::Mocks::Proxy.warn_about_expectations_on_nil = true if proxy_for_nil_class?
264
+ end
265
+ end
266
+ end
267
+ end
@@ -0,0 +1,155 @@
1
+ module RSpec
2
+ module Mocks
3
+ # Methods that are added to every object.
4
+ module Methods
5
+ # Sets and expectation that this object should receive a message before
6
+ # the end of the example.
7
+ #
8
+ # @example
9
+ #
10
+ # logger = double('logger')
11
+ # thing_that_logs = ThingThatLogs.new(logger)
12
+ # logger.should_receive(:log)
13
+ # thing_that_logs.do_something_that_logs_a_message
14
+ def should_receive(message, opts={}, &block)
15
+ __mock_proxy.add_message_expectation(opts[:expected_from] || caller(1)[0], message.to_sym, opts, &block)
16
+ end
17
+
18
+ # Sets and expectation that this object should _not_ receive a message
19
+ # during this example.
20
+ def should_not_receive(message, &block)
21
+ __mock_proxy.add_negative_message_expectation(caller(1)[0], message.to_sym, &block)
22
+ end
23
+
24
+ # Tells the object to respond to the message with the specified value.
25
+ #
26
+ # @example
27
+ #
28
+ # counter.stub(:count).and_return(37)
29
+ # counter.stub(:count => 37)
30
+ # counter.stub(:count) { 37 }
31
+ def stub(message_or_hash, opts={}, &block)
32
+ if Hash === message_or_hash
33
+ message_or_hash.each {|message, value| stub(message).and_return value }
34
+ else
35
+ __mock_proxy.add_stub(caller(1)[0], message_or_hash.to_sym, opts, &block)
36
+ end
37
+ end
38
+
39
+ # Removes a stub. On a double, the object will no longer respond to
40
+ # `message`. On a real object, the original method (if it exists) is
41
+ # restored.
42
+ #
43
+ # This is rarely used, but can be useful when a stub is set up during a
44
+ # shared `before` hook for the common case, but you want to replace it
45
+ # for a special case.
46
+ def unstub(message)
47
+ __mock_proxy.remove_stub(message)
48
+ end
49
+
50
+ alias_method :stub!, :stub
51
+ alias_method :unstub!, :unstub
52
+
53
+ # @overload stub_chain(method1, method2)
54
+ # @overload stub_chain("method1.method2")
55
+ # @overload stub_chain(method1, method_to_value_hash)
56
+ #
57
+ # Stubs a chain of methods.
58
+ #
59
+ # ## Warning:
60
+ #
61
+ # Chains can be arbitrarily long, which makes it quite painless to
62
+ # violate the Law of Demeter in violent ways, so you should consider any
63
+ # use of `stub_chain` a code smell. Even though not all code smells
64
+ # indicate real problems (think fluent interfaces), `stub_chain` still
65
+ # results in brittle examples. For example, if you write
66
+ # `foo.stub_chain(:bar, :baz => 37)` in a spec and then the
67
+ # implementation calls `foo.baz.bar`, the stub will not work.
68
+ #
69
+ # @example
70
+ #
71
+ # double.stub_chain("foo.bar") { :baz }
72
+ # double.stub_chain(:foo, :bar => :baz)
73
+ # double.stub_chain(:foo, :bar) { :baz }
74
+ #
75
+ # # Given any of ^^ these three forms ^^:
76
+ # double.foo.bar # => :baz
77
+ #
78
+ # # Common use in Rails/ActiveRecord:
79
+ # Article.stub_chain("recent.published") { [Article.new] }
80
+ def stub_chain(*chain, &blk)
81
+ chain, blk = format_chain(*chain, &blk)
82
+ if chain.length > 1
83
+ if matching_stub = __mock_proxy.__send__(:find_matching_method_stub, chain[0].to_sym)
84
+ chain.shift
85
+ matching_stub.invoke(nil).stub_chain(*chain, &blk)
86
+ else
87
+ next_in_chain = Mock.new
88
+ stub(chain.shift) { next_in_chain }
89
+ next_in_chain.stub_chain(*chain, &blk)
90
+ end
91
+ else
92
+ stub(chain.shift, &blk)
93
+ end
94
+ end
95
+
96
+ # Tells the object to respond to all messages. If specific stub values
97
+ # are declared, they'll work as expected. If not, the receiver is
98
+ # returned.
99
+ def as_null_object
100
+ @_null_object = true
101
+ __mock_proxy.as_null_object
102
+ end
103
+
104
+ # Returns true if this object has received `as_null_object`
105
+ def null_object?
106
+ defined?(@_null_object)
107
+ end
108
+
109
+ # @private
110
+ def received_message?(message, *args, &block)
111
+ __mock_proxy.received_message?(message, *args, &block)
112
+ end
113
+
114
+ # @private
115
+ def rspec_verify
116
+ __mock_proxy.verify
117
+ end
118
+
119
+ # @private
120
+ def rspec_reset
121
+ __mock_proxy.reset
122
+ end
123
+
124
+ private
125
+
126
+ def __mock_proxy
127
+ @mock_proxy ||= begin
128
+ mp = if TestDouble === self
129
+ Proxy.new(self, @name, @options)
130
+ else
131
+ Proxy.new(self)
132
+ end
133
+
134
+ Serialization.fix_for(self)
135
+ mp
136
+ end
137
+ end
138
+
139
+ def __remove_mock_proxy
140
+ @mock_proxy = nil
141
+ end
142
+
143
+ def format_chain(*chain, &blk)
144
+ if Hash === chain.last
145
+ hash = chain.pop
146
+ hash.each do |k,v|
147
+ chain << k
148
+ blk = lambda { v }
149
+ end
150
+ end
151
+ return chain.join('.').split('.'), blk
152
+ end
153
+ end
154
+ end
155
+ end
@@ -0,0 +1,7 @@
1
+ module RSpec
2
+ module Mocks
3
+ class Mock
4
+ include TestDouble
5
+ end
6
+ end
7
+ end
@@ -0,0 +1,415 @@
1
+ module RSpec
2
+ module Mocks
3
+ # Provides recursive constant lookup methods useful for
4
+ # constant stubbing.
5
+ # @api private
6
+ module RecursiveConstMethods
7
+ # We only want to consider constants that are defined directly on a
8
+ # particular module, and not include top-level/inherited constants.
9
+ # Unfortunately, the constant API changed between 1.8 and 1.9, so
10
+ # we need to conditionally define methods to ignore the top-level/inherited
11
+ # constants.
12
+ #
13
+ # Given:
14
+ # class A; B = 1; end
15
+ # class C < A; end
16
+ #
17
+ # On 1.8:
18
+ # - C.const_get("Hash") # => ::Hash
19
+ # - C.const_defined?("Hash") # => false
20
+ # - C.constants # => ["B"]
21
+ # - None of these methods accept the extra `inherit` argument
22
+ # On 1.9:
23
+ # - C.const_get("Hash") # => ::Hash
24
+ # - C.const_defined?("Hash") # => true
25
+ # - C.const_get("Hash", false) # => raises NameError
26
+ # - C.const_defined?("Hash", false) # => false
27
+ # - C.constants # => [:B]
28
+ # - C.constants(false) #=> []
29
+ if Module.method(:const_defined?).arity == 1
30
+ def const_defined_on?(mod, const_name)
31
+ mod.const_defined?(const_name)
32
+ end
33
+
34
+ def get_const_defined_on(mod, const_name)
35
+ if const_defined_on?(mod, const_name)
36
+ return mod.const_get(const_name)
37
+ end
38
+
39
+ raise NameError, "uninitialized constant #{mod.name}::#{const_name}"
40
+ end
41
+
42
+ def constants_defined_on(mod)
43
+ mod.constants.select { |c| const_defined_on?(mod, c) }
44
+ end
45
+ else
46
+ def const_defined_on?(mod, const_name)
47
+ mod.const_defined?(const_name, false)
48
+ end
49
+
50
+ def get_const_defined_on(mod, const_name)
51
+ mod.const_get(const_name, false)
52
+ end
53
+
54
+ def constants_defined_on(mod)
55
+ mod.constants(false)
56
+ end
57
+ end
58
+
59
+ def recursive_const_get(const_name)
60
+ normalize_const_name(const_name).split('::').inject(Object) do |mod, name|
61
+ get_const_defined_on(mod, name)
62
+ end
63
+ end
64
+
65
+ def recursive_const_defined?(const_name)
66
+ normalize_const_name(const_name).split('::').inject([Object, '']) do |(mod, full_name), name|
67
+ yield(full_name, name) if block_given? && !mod.is_a?(Module)
68
+ return false unless const_defined_on?(mod, name)
69
+ [get_const_defined_on(mod, name), [mod, name].join('::')]
70
+ end
71
+ end
72
+
73
+ def normalize_const_name(const_name)
74
+ const_name.sub(/\A::/, '')
75
+ end
76
+ end
77
+
78
+ # Provides information about constants that may (or may not)
79
+ # have been mutated by rspec-mocks.
80
+ class Constant
81
+ extend RecursiveConstMethods
82
+
83
+ # @api private
84
+ def initialize(name)
85
+ @name = name
86
+ end
87
+
88
+ # @return [String] The fully qualified name of the constant.
89
+ attr_reader :name
90
+
91
+ # @return [Object, nil] The original value (e.g. before it
92
+ # was mutated by rspec-mocks) of the constant, or
93
+ # nil if the constant was not previously defined.
94
+ attr_accessor :original_value
95
+
96
+ # @api private
97
+ attr_writer :previously_defined, :stubbed, :hidden
98
+
99
+ # @return [Boolean] Whether or not the constant was defined
100
+ # before the current example.
101
+ def previously_defined?
102
+ @previously_defined
103
+ end
104
+
105
+ # @return [Boolean] Whether or not rspec-mocks has mutated
106
+ # (stubbed or hidden) this constant.
107
+ def mutated?
108
+ @stubbed || @hidden
109
+ end
110
+
111
+ # @return [Boolean] Whether or not rspec-mocks has stubbed
112
+ # this constant.
113
+ def stubbed?
114
+ @stubbed
115
+ end
116
+
117
+ # @return [Boolean] Whether or not rspec-mocks has hidden
118
+ # this constant.
119
+ def hidden?
120
+ @hidden
121
+ end
122
+
123
+ def to_s
124
+ "#<#{self.class.name} #{name}>"
125
+ end
126
+ alias inspect to_s
127
+
128
+ # @api private
129
+ def self.unmutated(name)
130
+ const = new(name)
131
+ const.previously_defined = recursive_const_defined?(name)
132
+ const.stubbed = false
133
+ const.hidden = false
134
+ const.original_value = recursive_const_get(name) if const.previously_defined?
135
+
136
+ const
137
+ end
138
+ private_class_method :unmutated
139
+
140
+ # Queries rspec-mocks to find out information about the named constant.
141
+ #
142
+ # @param [String] name the name of the constant
143
+ # @return [Constant] an object contaning information about the named
144
+ # constant.
145
+ def self.original(name)
146
+ mutator = ConstantMutator.find(name)
147
+ mutator ? mutator.to_constant : unmutated(name)
148
+ end
149
+ end
150
+
151
+ # Provides a means to stub constants.
152
+ class ConstantMutator
153
+ extend RecursiveConstMethods
154
+
155
+ # Stubs a constant.
156
+ #
157
+ # @param (see ExampleMethods#stub_const)
158
+ # @option (see ExampleMethods#stub_const)
159
+ # @return (see ExampleMethods#stub_const)
160
+ #
161
+ # @see ExampleMethods#stub_const
162
+ # @note It's recommended that you use `stub_const` in your
163
+ # examples. This is an alternate public API that is provided
164
+ # so you can stub constants in other contexts (e.g. helper
165
+ # classes).
166
+ def self.stub(constant_name, value, options = {})
167
+ mutator = if recursive_const_defined?(constant_name, &raise_on_invalid_const)
168
+ DefinedConstantReplacer
169
+ else
170
+ UndefinedConstantSetter
171
+ end
172
+
173
+ mutate(mutator.new(constant_name, value, options[:transfer_nested_constants]))
174
+ value
175
+ end
176
+
177
+ # Hides a constant.
178
+ #
179
+ # @param (see ExampleMethods#hide_const)
180
+ #
181
+ # @see ExampleMethods#hide_const
182
+ # @note It's recommended that you use `hide_const` in your
183
+ # examples. This is an alternate public API that is provided
184
+ # so you can hide constants in other contexts (e.g. helper
185
+ # classes).
186
+ def self.hide(constant_name)
187
+ return unless recursive_const_defined?(constant_name)
188
+
189
+ mutate(ConstantHider.new(constant_name, nil, { }))
190
+ nil
191
+ end
192
+
193
+ # Contains common functionality used by all of the constant mutators.
194
+ #
195
+ # @api private
196
+ class BaseMutator
197
+ include RecursiveConstMethods
198
+
199
+ attr_reader :original_value, :full_constant_name
200
+
201
+ def initialize(full_constant_name, mutated_value, transfer_nested_constants)
202
+ @full_constant_name = normalize_const_name(full_constant_name)
203
+ @mutated_value = mutated_value
204
+ @transfer_nested_constants = transfer_nested_constants
205
+ @context_parts = @full_constant_name.split('::')
206
+ @const_name = @context_parts.pop
207
+ end
208
+
209
+ def to_constant
210
+ const = Constant.new(full_constant_name)
211
+ const.original_value = original_value
212
+
213
+ const
214
+ end
215
+ end
216
+
217
+ # Hides a defined constant for the duration of an example.
218
+ #
219
+ # @api private
220
+ class ConstantHider < BaseMutator
221
+ def mutate
222
+ @context = recursive_const_get(@context_parts.join('::'))
223
+ @original_value = get_const_defined_on(@context, @const_name)
224
+
225
+ @context.send(:remove_const, @const_name)
226
+ end
227
+
228
+ def to_constant
229
+ const = super
230
+ const.hidden = true
231
+ const.previously_defined = true
232
+
233
+ const
234
+ end
235
+
236
+ def rspec_reset
237
+ @context.const_set(@const_name, @original_value)
238
+ end
239
+ end
240
+
241
+ # Replaces a defined constant for the duration of an example.
242
+ #
243
+ # @api private
244
+ class DefinedConstantReplacer < BaseMutator
245
+ def mutate
246
+ @context = recursive_const_get(@context_parts.join('::'))
247
+ @original_value = get_const_defined_on(@context, @const_name)
248
+
249
+ constants_to_transfer = verify_constants_to_transfer!
250
+
251
+ @context.send(:remove_const, @const_name)
252
+ @context.const_set(@const_name, @mutated_value)
253
+
254
+ transfer_nested_constants(constants_to_transfer)
255
+ end
256
+
257
+ def to_constant
258
+ const = super
259
+ const.stubbed = true
260
+ const.previously_defined = true
261
+
262
+ const
263
+ end
264
+
265
+ def rspec_reset
266
+ @context.send(:remove_const, @const_name)
267
+ @context.const_set(@const_name, @original_value)
268
+ end
269
+
270
+ def transfer_nested_constants(constants)
271
+ constants.each do |const|
272
+ @mutated_value.const_set(const, get_const_defined_on(original_value, const))
273
+ end
274
+ end
275
+
276
+ def verify_constants_to_transfer!
277
+ return [] unless @transfer_nested_constants
278
+
279
+ { @original_value => "the original value", @mutated_value => "the stubbed value" }.each do |value, description|
280
+ unless value.respond_to?(:constants)
281
+ raise ArgumentError,
282
+ "Cannot transfer nested constants for #{@full_constant_name} " +
283
+ "since #{description} is not a class or module and only classes " +
284
+ "and modules support nested constants."
285
+ end
286
+ end
287
+
288
+ if @transfer_nested_constants.is_a?(Array)
289
+ @transfer_nested_constants = @transfer_nested_constants.map(&:to_s) if RUBY_VERSION == '1.8.7'
290
+ undefined_constants = @transfer_nested_constants - constants_defined_on(@original_value)
291
+
292
+ if undefined_constants.any?
293
+ available_constants = constants_defined_on(@original_value) - @transfer_nested_constants
294
+ raise ArgumentError,
295
+ "Cannot transfer nested constant(s) #{undefined_constants.join(' and ')} " +
296
+ "for #{@full_constant_name} since they are not defined. Did you mean " +
297
+ "#{available_constants.join(' or ')}?"
298
+ end
299
+
300
+ @transfer_nested_constants
301
+ else
302
+ constants_defined_on(@original_value)
303
+ end
304
+ end
305
+ end
306
+
307
+ # Sets an undefined constant for the duration of an example.
308
+ #
309
+ # @api private
310
+ class UndefinedConstantSetter < BaseMutator
311
+ def mutate
312
+ remaining_parts = @context_parts.dup
313
+ @deepest_defined_const = @context_parts.inject(Object) do |klass, name|
314
+ break klass unless const_defined_on?(klass, name)
315
+ remaining_parts.shift
316
+ get_const_defined_on(klass, name)
317
+ end
318
+
319
+ context = remaining_parts.inject(@deepest_defined_const) do |klass, name|
320
+ klass.const_set(name, Module.new)
321
+ end
322
+
323
+ @const_to_remove = remaining_parts.first || @const_name
324
+ context.const_set(@const_name, @mutated_value)
325
+ end
326
+
327
+ def to_constant
328
+ const = super
329
+ const.stubbed = true
330
+ const.previously_defined = false
331
+
332
+ const
333
+ end
334
+
335
+ def rspec_reset
336
+ @deepest_defined_const.send(:remove_const, @const_to_remove)
337
+ end
338
+ end
339
+
340
+ # Uses the mutator to mutate (stub or hide) a constant. Ensures that
341
+ # the mutator is correctly registered so it can be backed out at the end
342
+ # of the test.
343
+ #
344
+ # @api private
345
+ def self.mutate(mutator)
346
+ register_mutator(mutator)
347
+ mutator.mutate
348
+ ensure_registered_with_mocks_space
349
+ end
350
+
351
+ # Ensures the constant stubbing is registered with
352
+ # rspec-mocks space so that stubbed constants can
353
+ # be restored when examples finish.
354
+ #
355
+ # @api private
356
+ def self.ensure_registered_with_mocks_space
357
+ return if defined?(@registered_with_mocks_space) && @registered_with_mocks_space
358
+ ::RSpec::Mocks.space.add(self)
359
+ @registered_with_mocks_space = true
360
+ end
361
+
362
+ # Resets all stubbed constants. This is called automatically
363
+ # by rspec-mocks when an example finishes.
364
+ #
365
+ # @api private
366
+ def self.rspec_reset
367
+ @registered_with_mocks_space = false
368
+
369
+ # We use reverse order so that if the same constant
370
+ # was stubbed multiple times, the original value gets
371
+ # properly restored.
372
+ mutators.reverse.each { |s| s.rspec_reset }
373
+
374
+ mutators.clear
375
+ end
376
+
377
+ # The list of constant mutators that have been used for
378
+ # the current example.
379
+ #
380
+ # @api private
381
+ def self.mutators
382
+ @mutators ||= []
383
+ end
384
+
385
+ # @api private
386
+ def self.register_mutator(mutator)
387
+ mutators << mutator
388
+ end
389
+
390
+ def self.find(name)
391
+ mutators.find { |s| s.full_constant_name == name }
392
+ end
393
+
394
+ # Used internally by the constant stubbing to raise a helpful
395
+ # error when a constant like "A::B::C" is stubbed and A::B is
396
+ # not a module (and thus, it's impossible to define "A::B::C"
397
+ # since only modules can have nested constants).
398
+ #
399
+ # @api private
400
+ def self.raise_on_invalid_const
401
+ lambda do |const_name, failed_name|
402
+ raise "Cannot stub constant #{failed_name} on #{const_name} " +
403
+ "since #{const_name} is not a module."
404
+ end
405
+ end
406
+ end
407
+
408
+ # Keeps backwards compatibility since we had released an rspec-mocks that
409
+ # only supported stubbing. Later, we released the hide_const feature and
410
+ # decided that the term "mutator" was a better term to wrap up the concept
411
+ # of both stubbing and hiding.
412
+ ConstantStubber = ConstantMutator
413
+ end
414
+ end
415
+