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,70 @@
1
+ class Pry
2
+ class Code
3
+
4
+ # Represents a range of lines in a code listing.
5
+ #
6
+ # @api private
7
+ class CodeRange
8
+
9
+ # @param [Integer] start_line
10
+ # @param [Integer?] end_line
11
+ def initialize(start_line, end_line = nil)
12
+ @start_line = start_line
13
+ @end_line = end_line
14
+ force_set_end_line
15
+ end
16
+
17
+ # @param [Array<LOC>] lines
18
+ # @return [Range]
19
+ def indices_range(lines)
20
+ Range.new(*indices(lines))
21
+ end
22
+
23
+ private
24
+
25
+ attr_reader :start_line, :end_line
26
+
27
+ # If `end_line` is equal to `nil`, then calculate it from the first
28
+ # parameter, `start_line`. Otherwise, leave it as it is.
29
+ # @return [void]
30
+ def force_set_end_line
31
+ if start_line.is_a?(Range)
32
+ set_end_line_from_range
33
+ else
34
+ @end_line ||= start_line
35
+ end
36
+ end
37
+
38
+ # Finds indices of `start_line` and `end_line` in the given Array of
39
+ # +lines+.
40
+ #
41
+ # @param [Array<LOC>] lines
42
+ # @return [Array<Integer>]
43
+ def indices(lines)
44
+ [find_start_index(lines), find_end_index(lines)]
45
+ end
46
+
47
+ # @return [Integer]
48
+ def find_start_index(lines)
49
+ return start_line if start_line < 0
50
+ lines.index { |loc| loc.lineno >= start_line } || lines.length
51
+ end
52
+
53
+ # @return [Integer]
54
+ def find_end_index(lines)
55
+ return end_line if end_line < 0
56
+ (lines.index { |loc| loc.lineno > end_line } || 0) - 1
57
+ end
58
+
59
+ # For example, if the range is 4..10, then `start_line` would be equal to
60
+ # 4 and `end_line` to 10.
61
+ # @return [void]
62
+ def set_end_line_from_range
63
+ @end_line = start_line.last
64
+ @end_line -= 1 if start_line.exclude_end?
65
+ @start_line = start_line.first
66
+ end
67
+ end
68
+
69
+ end
70
+ end
@@ -0,0 +1,92 @@
1
+ class Pry
2
+ class Code
3
+
4
+ # Represents a line of code. A line of code is a tuple, which consists of a
5
+ # line and a line number. A `LOC` object's state (namely, the line
6
+ # parameter) can be changed via instance methods. `Pry::Code` heavily uses
7
+ # this class.
8
+ #
9
+ # @api private
10
+ # @example
11
+ # loc = LOC.new("def example\n :example\nend", 1)
12
+ # puts loc.line
13
+ # def example
14
+ # :example
15
+ # end
16
+ # #=> nil
17
+ #
18
+ # loc.indent(3)
19
+ # loc.line #=> " def example\n :example\nend"
20
+ class LOC
21
+
22
+ # @return [Array<String, Integer>]
23
+ attr_reader :tuple
24
+
25
+ # @param [String] line The line of code.
26
+ # @param [Integer] lineno The position of the +line+.
27
+ def initialize(line, lineno)
28
+ @tuple = [line.chomp, lineno.to_i]
29
+ end
30
+
31
+ # @return [Boolean]
32
+ def ==(other)
33
+ other.tuple == tuple
34
+ end
35
+
36
+ def dup
37
+ self.class.new(line, lineno)
38
+ end
39
+
40
+ # @return [String]
41
+ def line
42
+ tuple.first
43
+ end
44
+
45
+ # @return [Integer]
46
+ def lineno
47
+ tuple.last
48
+ end
49
+
50
+ # Paints the `line` of code.
51
+ #
52
+ # @param [Symbol] code_type
53
+ # @return [void]
54
+ def colorize(code_type)
55
+ tuple[0] = CodeRay.scan(line, code_type).term
56
+ end
57
+
58
+ # Prepends the line number `lineno` to the `line`.
59
+ #
60
+ # @param [Integer] max_width
61
+ # @return [void]
62
+ def add_line_number(max_width = 0)
63
+ padded = lineno.to_s.rjust(max_width)
64
+ colorized_lineno = Pry::Helpers::BaseHelpers.colorize_code(padded)
65
+ tuple[0] = "#{ colorized_lineno }: #{ line }"
66
+ end
67
+
68
+ # Prepends a marker "=>" or an empty marker to the +line+.
69
+ #
70
+ # @param [Integer] marker_lineno If it is equal to the `lineno`, then
71
+ # prepend a hashrocket. Otherwise, an empty marker.
72
+ # @return [void]
73
+ def add_marker(marker_lineno)
74
+ tuple[0] =
75
+ if lineno == marker_lineno
76
+ " => #{ line }"
77
+ else
78
+ " #{ line }"
79
+ end
80
+ end
81
+
82
+ # Indents the `line` with +distance+ spaces.
83
+ #
84
+ # @param [Integer] distance
85
+ # @return [void]
86
+ def indent(distance)
87
+ tuple[0] = "#{ ' ' * distance }#{ line }"
88
+ end
89
+ end
90
+
91
+ end
92
+ end
@@ -0,0 +1,153 @@
1
+ class Pry
2
+ class CodeObject
3
+ module Helpers
4
+ # we need this helper as some Pry::Method objects can wrap Procs
5
+ # @return [Boolean]
6
+ def real_method_object?
7
+ is_a?(::Method) || is_a?(::UnboundMethod)
8
+ end
9
+
10
+ def c_method?
11
+ real_method_object? && source_type == :c
12
+ end
13
+
14
+ def module_with_yard_docs?
15
+ is_a?(WrappedModule) && yard_docs?
16
+ end
17
+
18
+ def command?
19
+ is_a?(Module) && self <= Pry::Command
20
+ end
21
+ end
22
+
23
+ include Pry::Helpers::CommandHelpers
24
+
25
+ class << self
26
+ def lookup(str, _pry_, options={})
27
+ co = new(str, _pry_, options)
28
+
29
+ co.default_lookup || co.method_or_class_lookup ||
30
+ co.command_lookup || co.empty_lookup
31
+ end
32
+ end
33
+
34
+ attr_accessor :str
35
+ attr_accessor :target
36
+ attr_accessor :pry
37
+ attr_accessor :super_level
38
+
39
+ def initialize(str, _pry_, options={})
40
+ options = {
41
+ :super => 0,
42
+ }.merge!(options)
43
+
44
+ @str = str
45
+ @pry = _pry_
46
+ @target = _pry_.current_context
47
+ @super_level = options[:super]
48
+ end
49
+
50
+ def command_lookup
51
+ # TODO: just make it so find_command_by_match_or_listing doesn't
52
+ # raise?
53
+ pry.commands.find_command_by_match_or_listing(str) rescue nil
54
+ end
55
+
56
+ def empty_lookup
57
+ return nil if str && !str.empty?
58
+
59
+ if internal_binding?(target)
60
+ mod = target_self.is_a?(Module) ? target_self : target_self.class
61
+ Pry::WrappedModule(mod)
62
+ else
63
+ Pry::Method.from_binding(target)
64
+ end
65
+ end
66
+
67
+ # lookup variables and constants and `self` that are not modules
68
+ def default_lookup
69
+
70
+ # we skip instance methods as we want those to fall through to method_or_class_lookup()
71
+ if safe_to_evaluate?(str) && !looks_like_an_instance_method?(str)
72
+ obj = target.eval(str)
73
+
74
+ # restrict to only objects we KNOW for sure support the full API
75
+ # Do NOT support just any object that responds to source_location
76
+ if sourcable_object?(obj)
77
+ Pry::Method(obj)
78
+ elsif !obj.is_a?(Module)
79
+ Pry::WrappedModule(obj.class)
80
+ else
81
+ nil
82
+ end
83
+ end
84
+
85
+ rescue Pry::RescuableException
86
+ nil
87
+ end
88
+
89
+ def method_or_class_lookup
90
+ # we need this here because stupid Pry::Method.from_str() does a
91
+ # Pry::Method.from_binding when str is nil.
92
+ # Once we refactor Pry::Method.from_str() so it doesnt lookup
93
+ # from bindings, we can get rid of this check
94
+ return nil if str.to_s.empty?
95
+
96
+ obj = if str =~ /::(?:\S+)\Z/
97
+ Pry::WrappedModule.from_str(str,target) || Pry::Method.from_str(str, target)
98
+ else
99
+ Pry::Method.from_str(str,target) || Pry::WrappedModule.from_str(str, target)
100
+ end
101
+
102
+ lookup_super(obj, super_level)
103
+ end
104
+
105
+ private
106
+
107
+ def sourcable_object?(obj)
108
+ [::Proc, ::Method, ::UnboundMethod].any? { |o| obj.is_a?(o) }
109
+ end
110
+
111
+
112
+ # Returns true if `str` looks like a method, i.e Klass#method
113
+ # We need to consider this case because method lookups should fall
114
+ # through to the `method_or_class_lookup()` method but a
115
+ # defined?() on a "Klass#method` string will see the `#` as a
116
+ # comment and only evaluate the `Klass` part.
117
+ # @param [String] str
118
+ # @return [Boolean] Whether the string looks like an instance method.
119
+ def looks_like_an_instance_method?(str)
120
+ str =~ /\S#\S/
121
+ end
122
+
123
+ # We use this method to decide whether code is safe to eval. Method's are
124
+ # generally not, but everything else is.
125
+ # TODO: is just checking != "method" enough??
126
+ # TODO: see duplication of this method in Pry::WrappedModule
127
+ # @param [String] str The string to lookup
128
+ # @return [Boolean]
129
+ def safe_to_evaluate?(str)
130
+ return true if str.strip == "self"
131
+ kind = target.eval("defined?(#{str})")
132
+ kind =~ /variable|constant/
133
+ end
134
+
135
+ def target_self
136
+ target.eval('self')
137
+ end
138
+
139
+ # grab the nth (`super_level`) super of `obj
140
+ # @param [Object] obj
141
+ # @param [Fixnum] super_level How far up the super chain to ascend.
142
+ def lookup_super(obj, super_level)
143
+ return nil if !obj
144
+
145
+ sup = obj.super(super_level)
146
+ if !sup
147
+ raise Pry::CommandError, "No superclass found for #{obj.wrapped}"
148
+ else
149
+ sup
150
+ end
151
+ end
152
+ end
153
+ end
@@ -0,0 +1,689 @@
1
+ require 'delegate'
2
+ require 'pry/helpers/documentation_helpers'
3
+
4
+ class Pry
5
+
6
+ # The super-class of all commands, new commands should be created by calling
7
+ # {Pry::CommandSet#command} which creates a BlockCommand or {Pry::CommandSet#create_command}
8
+ # which creates a ClassCommand. Please don't use this class directly.
9
+ class Command
10
+ extend Helpers::DocumentationHelpers
11
+ extend CodeObject::Helpers
12
+
13
+ # represents a void return value for a command
14
+ VOID_VALUE = Object.new
15
+
16
+ # give it a nice inspect
17
+ def VOID_VALUE.inspect() "void" end
18
+
19
+ # Properties of the command itself (as passed as arguments to
20
+ # {CommandSet#command} or {CommandSet#create_command}).
21
+ class << self
22
+ attr_writer :block
23
+ attr_writer :description
24
+ attr_writer :command_options
25
+ attr_writer :match
26
+
27
+ def match(arg=nil)
28
+ if arg
29
+ @command_options ||= default_options(arg)
30
+ @command_options[:listing] = arg.is_a?(String) ? arg : arg.inspect
31
+ @match = arg
32
+ end
33
+ @match
34
+ end
35
+
36
+ # Define or get the command's description
37
+ def description(arg=nil)
38
+ @description = arg if arg
39
+ @description
40
+ end
41
+
42
+ # Define or get the command's options
43
+ def command_options(arg=nil)
44
+ @command_options ||= default_options(match)
45
+ @command_options.merge!(arg) if arg
46
+ @command_options
47
+ end
48
+ # backward compatibility
49
+ alias_method :options, :command_options
50
+ alias_method :options=, :command_options=
51
+
52
+ # Define or get the command's banner
53
+ def banner(arg=nil)
54
+ @banner = arg if arg
55
+ @banner || description
56
+ end
57
+
58
+ def block
59
+ @block || instance_method(:process)
60
+ end
61
+
62
+ def source
63
+ file, line = block.source_location
64
+ strip_leading_whitespace(Pry::Code.from_file(file).expression_at(line))
65
+ end
66
+
67
+ def doc
68
+ new.help
69
+ end
70
+
71
+ def source_location
72
+ block.source_location
73
+ end
74
+
75
+ def source_file
76
+ Array(block.source_location).first
77
+ end
78
+ alias_method :file, :source_file
79
+
80
+ def source_line
81
+ Array(block.source_location).last
82
+ end
83
+ alias_method :line, :source_line
84
+
85
+ def default_options(match)
86
+ {
87
+ :requires_gem => [],
88
+ :keep_retval => false,
89
+ :argument_required => false,
90
+ :interpolate => true,
91
+ :shellwords => true,
92
+ :listing => (String === match ? match : match.inspect),
93
+ :use_prefix => true,
94
+ :takes_block => false
95
+ }
96
+ end
97
+ end
98
+
99
+ # Make those properties accessible to instances
100
+ def name; self.class.name; end
101
+ def match; self.class.match; end
102
+ def description; self.class.description; end
103
+ def block; self.class.block; end
104
+ def command_options; self.class.options; end
105
+ def command_name; self.class.command_name; end
106
+ def source; self.class.source; end
107
+ def source_location; self.class.source_location; end
108
+
109
+ class << self
110
+ def name
111
+ super.to_s == "" ? "#<class(Pry::Command #{match.inspect})>" : super
112
+ end
113
+
114
+ def inspect
115
+ name
116
+ end
117
+
118
+ def command_name
119
+ self.options[:listing]
120
+ end
121
+
122
+ # Create a new command with the given properties.
123
+ # @param [String, Regex] match The thing that triggers this command
124
+ # @param [String] description The description to appear in `help`
125
+ # @param [Hash] options Behavioral options (see {Pry::CommandSet#command})
126
+ # @param [Module] helpers A module of helper functions to be included.
127
+ # @yield optional, used for BlockCommands
128
+ # @return [Class] (a subclass of {Pry::Command})
129
+ def subclass(match, description, options, helpers, &block)
130
+ klass = Class.new(self)
131
+ klass.send(:include, helpers)
132
+ klass.match = match
133
+ klass.description = description
134
+ klass.command_options = options
135
+ klass.block = block
136
+ klass
137
+ end
138
+
139
+ # Should this command be called for the given line?
140
+ # @param [String] val A line input at the REPL
141
+ # @return [Boolean]
142
+ def matches?(val)
143
+ command_regex =~ val
144
+ end
145
+
146
+ # How well does this command match the given line?
147
+ #
148
+ # Higher scores are better because they imply that this command matches
149
+ # the line more closely.
150
+ #
151
+ # The score is calculated by taking the number of characters at the start
152
+ # of the string that are used only to identify the command, not as part of
153
+ # the arguments.
154
+ #
155
+ # @example
156
+ # /\.(.*)/.match_score(".foo") #=> 1
157
+ # /\.*(.*)/.match_score("...foo") #=> 3
158
+ # 'hi'.match_score("hi there") #=> 2
159
+ #
160
+ # @param [String] val A line input at the REPL
161
+ # @return [Fixnum]
162
+ def match_score(val)
163
+ if command_regex =~ val
164
+ Regexp.last_match.size > 1 ? Regexp.last_match.begin(1) : Regexp.last_match.end(0)
165
+ else
166
+ -1
167
+ end
168
+ end
169
+
170
+ # Store hooks to be run before or after the command body.
171
+ # @see {Pry::CommandSet#before_command}
172
+ # @see {Pry::CommandSet#after_command}
173
+ def hooks
174
+ @hooks ||= {:before => [], :after => []}
175
+ end
176
+
177
+ def command_regex
178
+ pr = defined?(Pry.config.command_prefix) ? Pry.config.command_prefix : ""
179
+ prefix = convert_to_regex(pr)
180
+ prefix = "(?:#{prefix})?" unless options[:use_prefix]
181
+
182
+ /^#{prefix}#{convert_to_regex(match)}(?!\S)/
183
+ end
184
+
185
+ def convert_to_regex(obj)
186
+ case obj
187
+ when String
188
+ Regexp.escape(obj)
189
+ else
190
+ obj
191
+ end
192
+ end
193
+
194
+ # The group in which the command should be displayed in "help" output.
195
+ # This is usually auto-generated from directory naming, but it can be
196
+ # manually overridden if necessary.
197
+ def group(name=nil)
198
+ @group ||= if name
199
+ name
200
+ else
201
+ case Pry::Method(block).source_file
202
+ when %r{/pry/.*_commands/(.*).rb}
203
+ $1.capitalize.gsub(/_/, " ")
204
+ when %r{(pry-\w+)-([\d\.]+([\w\d\.]+)?)}
205
+ name, version = $1, $2
206
+ "#{name.to_s} (v#{version.to_s})"
207
+ when /pryrc/
208
+ "~/.pryrc"
209
+ else
210
+ "(other)"
211
+ end
212
+ end
213
+ end
214
+ end
215
+
216
+ # Properties of one execution of a command (passed by {Pry#run_command} as a hash of
217
+ # context and expanded in `#initialize`
218
+ attr_accessor :output
219
+ attr_accessor :target
220
+ attr_accessor :captures
221
+ attr_accessor :eval_string
222
+ attr_accessor :arg_string
223
+ attr_accessor :context
224
+ attr_accessor :command_set
225
+ attr_accessor :_pry_
226
+
227
+ # The block we pass *into* a command so long as `:takes_block` is
228
+ # not equal to `false`
229
+ # @example
230
+ # my-command | do
231
+ # puts "block content"
232
+ # end
233
+ attr_accessor :command_block
234
+
235
+ # Run a command from another command.
236
+ # @param [String] command_string The string that invokes the command
237
+ # @param [Array] args Further arguments to pass to the command
238
+ # @example
239
+ # run "show-input"
240
+ # @example
241
+ # run ".ls"
242
+ # @example
243
+ # run "amend-line", "5", 'puts "hello world"'
244
+ def run(command_string, *args)
245
+ complete_string = "#{command_string} #{args.join(" ")}".rstrip
246
+ command_set.process_line(complete_string, context)
247
+ end
248
+
249
+ def commands
250
+ command_set.commands
251
+ end
252
+
253
+ def text
254
+ Pry::Helpers::Text
255
+ end
256
+
257
+ def void
258
+ VOID_VALUE
259
+ end
260
+
261
+ include Pry::Helpers::BaseHelpers
262
+ include Pry::Helpers::CommandHelpers
263
+
264
+ # Instantiate a command, in preparation for calling it.
265
+ # @param [Hash] context The runtime context to use with this command.
266
+ def initialize(context={})
267
+ self.context = context
268
+ self.target = context[:target]
269
+ self.output = context[:output]
270
+ self.eval_string = context[:eval_string]
271
+ self.command_set = context[:command_set]
272
+ self._pry_ = context[:pry_instance]
273
+ end
274
+
275
+ # @return [Object] The value of `self` inside the `target` binding.
276
+ def target_self; target.eval('self'); end
277
+
278
+ # @return [Hash] Pry commands can store arbitrary state
279
+ # here. This state persists between subsequent command invocations.
280
+ # All state saved here is unique to the command, it does not
281
+ # need to be namespaced.
282
+ # @example
283
+ # state.my_state = "my state" # this will not conflict with any
284
+ # # `state.my_state` used in another command.
285
+ def state
286
+ _pry_.command_state[match] ||= OpenStruct.new
287
+ end
288
+
289
+ # Revaluate the string (str) and perform interpolation.
290
+ # @param [String] str The string to reevaluate with interpolation.
291
+ #
292
+ # @return [String] The reevaluated string with interpolations
293
+ # applied (if any).
294
+ def interpolate_string(str)
295
+ dumped_str = str.dump
296
+ if dumped_str.gsub!(/\\\#\{/, '#{')
297
+ target.eval(dumped_str)
298
+ else
299
+ str
300
+ end
301
+ end
302
+
303
+ # Display a warning if a command collides with a local/method in
304
+ # the current scope.
305
+ def check_for_command_collision(command_match, arg_string)
306
+ collision_type = target.eval("defined?(#{command_match})")
307
+ collision_type ||= 'local-variable' if arg_string.match(%r{\A\s*[-+*/%&|^]*=})
308
+
309
+ if collision_type
310
+ output.puts "#{text.bold('WARNING:')} Calling Pry command '#{command_match}'," +
311
+ "which conflicts with a #{collision_type}.\n\n"
312
+ end
313
+ rescue Pry::RescuableException
314
+ end
315
+
316
+ # Extract necessary information from a line that Command.matches? this
317
+ # command.
318
+ #
319
+ # Returns an array of four elements:
320
+ #
321
+ # ```
322
+ # [String] the portion of the line that matched with the Command match
323
+ # [String] a string of all the arguments (i.e. everything but the match)
324
+ # [Array] the captures caught by the command_regex
325
+ # [Array] the arguments obtained by splitting the arg_string
326
+ # ```
327
+ #
328
+ # @param [String] val The line of input
329
+ # @return [Array]
330
+ def tokenize(val)
331
+ val.replace(interpolate_string(val)) if command_options[:interpolate]
332
+
333
+ self.class.command_regex =~ val
334
+
335
+ # please call Command.matches? before Command#call_safely
336
+ raise CommandError, "fatal: called a command which didn't match?!" unless Regexp.last_match
337
+ captures = Regexp.last_match.captures
338
+ pos = Regexp.last_match.end(0)
339
+
340
+ arg_string = val[pos..-1]
341
+
342
+ # remove the one leading space if it exists
343
+ arg_string.slice!(0) if arg_string.start_with?(" ")
344
+
345
+ # process and pass a block if one is found
346
+ pass_block(arg_string) if command_options[:takes_block]
347
+
348
+ if arg_string
349
+ args = command_options[:shellwords] ? Shellwords.shellwords(arg_string) : arg_string.split(" ")
350
+ else
351
+ args = []
352
+ end
353
+
354
+ [val[0..pos].rstrip, arg_string, captures, args]
355
+ end
356
+
357
+ # Process a line that Command.matches? this command.
358
+ # @param [String] line The line to process
359
+ # @return [Object, Command::VOID_VALUE]
360
+ def process_line(line)
361
+ command_match, arg_string, captures, args = tokenize(line)
362
+
363
+ check_for_command_collision(command_match, arg_string) if Pry.config.collision_warning
364
+
365
+ self.arg_string = arg_string
366
+ self.captures = captures
367
+
368
+ call_safely(*(captures + args))
369
+ end
370
+
371
+ # Pass a block argument to a command.
372
+ # @param [String] arg_string The arguments (as a string) passed to the command.
373
+ # We inspect these for a '| do' or a '| {' and if we find it we use it
374
+ # to start a block input sequence. Once we have a complete
375
+ # block, we save it to an accessor that can be retrieved from the command context.
376
+ # Note that if we find the '| do' or '| {' we delete this and the
377
+ # elements following it from `arg_string`.
378
+ def pass_block(arg_string)
379
+ # Workaround for weird JRuby bug where rindex in this case can return nil
380
+ # even when there's a match.
381
+ arg_string.scan(/\| *(?:do|\{)/)
382
+ block_index = $~ && $~.offset(0)[0]
383
+
384
+ return if !block_index
385
+
386
+ block_init_string = arg_string.slice!(block_index..-1)[1..-1]
387
+ prime_string = "proc #{block_init_string}\n"
388
+
389
+ if !Pry::Code.complete_expression?(prime_string)
390
+ block_string = _pry_.r(target, prime_string)
391
+ else
392
+ block_string = prime_string
393
+ end
394
+
395
+ begin
396
+ self.command_block = target.eval(block_string)
397
+ rescue Pry::RescuableException
398
+ raise CommandError, "Incomplete block definition."
399
+ end
400
+ end
401
+
402
+ private :pass_block
403
+
404
+ # Run the command with the given `args`.
405
+ #
406
+ # This is a public wrapper around `#call` which ensures all preconditions
407
+ # are met.
408
+ #
409
+ # @param [Array<String>] args The arguments to pass to this command.
410
+ # @return [Object] The return value of the `#call` method, or
411
+ # {Command::VOID_VALUE}.
412
+ def call_safely(*args)
413
+ unless dependencies_met?
414
+ gems_needed = Array(command_options[:requires_gem])
415
+ gems_not_installed = gems_needed.select { |g| !Rubygem.installed?(g) }
416
+ output.puts "\nThe command '#{command_name}' is #{text.bold("unavailable")} because it requires the following gems to be installed: #{(gems_not_installed.join(", "))}"
417
+ output.puts "-"
418
+ output.puts "Type `install-command #{command_name}` to install the required gems and activate this command."
419
+ return void
420
+ end
421
+
422
+ if command_options[:argument_required] && args.empty?
423
+ raise CommandError, "The command '#{command_name}' requires an argument."
424
+ end
425
+
426
+ ret = call_with_hooks(*args)
427
+ command_options[:keep_retval] ? ret : void
428
+ end
429
+
430
+ # Are all the gems required to use this command installed?
431
+ #
432
+ # @return Boolean
433
+ def dependencies_met?
434
+ @dependencies_met ||= command_dependencies_met?(command_options)
435
+ end
436
+
437
+ # Generate completions for this command
438
+ #
439
+ # @param [String] search The line typed so far
440
+ # @return [Array<String>] Completion words
441
+ def complete(search); Bond::DefaultMission.completions; end
442
+
443
+ private
444
+
445
+ # Run the `#call` method and all the registered hooks.
446
+ # @param [Array<String>] args The arguments to `#call`
447
+ # @return [Object] The return value from `#call`
448
+ def call_with_hooks(*args)
449
+ self.class.hooks[:before].each do |block|
450
+ instance_exec(*args, &block)
451
+ end
452
+
453
+ ret = call(*args)
454
+
455
+ self.class.hooks[:after].each do |block|
456
+ ret = instance_exec(*args, &block)
457
+ end
458
+
459
+ ret
460
+ end
461
+
462
+ # Fix the number of arguments we pass to a block to avoid arity warnings.
463
+ # @param [Fixnum] arity The arity of the block
464
+ # @param [Array] args The arguments to pass
465
+ # @return [Array] A (possibly shorter) array of the arguments to pass
466
+ def correct_arg_arity(arity, args)
467
+ case
468
+ when arity < 0
469
+ args
470
+ when arity == 0
471
+ []
472
+ when arity > 0
473
+ args.values_at(*(0..(arity - 1)).to_a)
474
+ end
475
+ end
476
+ end
477
+
478
+ # A super-class for Commands that are created with a single block.
479
+ #
480
+ # This class ensures that the block is called with the correct number of arguments
481
+ # and the right context.
482
+ #
483
+ # Create subclasses using {Pry::CommandSet#command}.
484
+ class BlockCommand < Command
485
+ # backwards compatibility
486
+ alias_method :opts, :context
487
+
488
+ # Call the block that was registered with this command.
489
+ # @param [Array<String>] args The arguments passed
490
+ # @return [Object] The return value of the block
491
+ def call(*args)
492
+ instance_exec(*correct_arg_arity(block.arity, args), &block)
493
+ end
494
+
495
+ def help
496
+ "#{command_options[:listing].to_s.ljust(18)} #{description}"
497
+ end
498
+ end
499
+
500
+ # A super-class of Commands with structure.
501
+ #
502
+ # This class implements the bare-minimum functionality that a command should
503
+ # have, namely a --help switch, and then delegates actual processing to its
504
+ # subclasses.
505
+ #
506
+ # Create subclasses using {Pry::CommandSet#create_command}, and override the
507
+ # `options(opt)` method to set up an instance of Slop, and the `process`
508
+ # method to actually run the command. If necessary, you can also override
509
+ # `setup` which will be called before `options`, for example to require any
510
+ # gems your command needs to run, or to set up state.
511
+ class ClassCommand < Command
512
+ class << self
513
+
514
+ # Ensure that subclasses inherit the options, description and
515
+ # match from a ClassCommand super class.
516
+ def inherited(klass)
517
+ klass.match match
518
+ klass.description description
519
+ klass.command_options options
520
+ end
521
+
522
+ def source
523
+ source_object.source
524
+ end
525
+
526
+ def doc
527
+ new.help
528
+ end
529
+
530
+ def source_location
531
+ source_object.source_location
532
+ end
533
+
534
+ def source_file
535
+ source_object.source_file
536
+ end
537
+ alias_method :file, :source_file
538
+
539
+ def source_line
540
+ source_object.source_line
541
+ end
542
+ alias_method :line, :source_line
543
+
544
+ private
545
+
546
+ # The object used to extract the source for the command.
547
+ #
548
+ # This should be a `Pry::Method(block)` for a command made with `create_command`
549
+ # and a `Pry::WrappedModule(self)` for a command that's a standard class.
550
+ # @return [Pry::WrappedModule, Pry::Method]
551
+ def source_object
552
+ @source_object ||= if name =~ /^[A-Z]/
553
+ Pry::WrappedModule(self)
554
+ else
555
+ Pry::Method(block)
556
+ end
557
+ end
558
+ end
559
+
560
+ attr_accessor :opts
561
+ attr_accessor :args
562
+
563
+ # Set up `opts` and `args`, and then call `process`.
564
+ #
565
+ # This method will display help if necessary.
566
+ #
567
+ # @param [Array<String>] args The arguments passed
568
+ # @return [Object] The return value of `process` or VOID_VALUE
569
+ def call(*args)
570
+ setup
571
+
572
+ self.opts = slop
573
+ self.args = self.opts.parse!(args)
574
+
575
+ if opts.present?(:help)
576
+ output.puts slop.help
577
+ void
578
+ else
579
+ process(*correct_arg_arity(method(:process).arity, args))
580
+ end
581
+ end
582
+
583
+ # Return the help generated by Slop for this command.
584
+ def help
585
+ slop.help
586
+ end
587
+
588
+ # Return an instance of Slop that can parse either subcommands or the
589
+ # options that this command accepts.
590
+ def slop
591
+ Slop.new do |opt|
592
+ opt.banner(unindent(self.class.banner))
593
+ subcommands(opt)
594
+ options(opt)
595
+ opt.on :h, :help, 'Show this message.'
596
+ end
597
+ end
598
+
599
+ # Generate shell completions
600
+ # @param [String] search The line typed so far
601
+ # @return [Array<String>] the words to complete
602
+ def complete(search)
603
+ slop.map do |opt|
604
+ [opt.long && "--#{opt.long} " || opt.short && "-#{opt.short}"]
605
+ end.flatten(1).compact + super
606
+ end
607
+
608
+ # A method called just before `options(opt)` as part of `call`.
609
+ #
610
+ # This method can be used to set up any context your command needs to run,
611
+ # for example requiring gems, or setting default values for options.
612
+ #
613
+ # @example
614
+ # def setup
615
+ # require 'gist'
616
+ # @action = :method
617
+ # end
618
+ def setup; end
619
+
620
+ # A method to setup Slop commands so it can parse the subcommands your
621
+ # command expects. If you need to set up default values, use `setup`
622
+ # instead.
623
+ #
624
+ # @example A minimal example
625
+ # def subcommands(cmd)
626
+ # cmd.command :download do |opt|
627
+ # description 'Downloads a content from a server'
628
+ #
629
+ # opt.on :verbose, 'Use verbose output'
630
+ #
631
+ # run do |options, arguments|
632
+ # ContentDownloader.download(options, arguments)
633
+ # end
634
+ # end
635
+ # end
636
+ #
637
+ # @example Define the invokation block anywhere you want
638
+ # def subcommands(cmd)
639
+ # cmd.command :download do |opt|
640
+ # description 'Downloads a content from a server'
641
+ #
642
+ # opt.on :verbose, 'Use verbose output'
643
+ # end
644
+ # end
645
+ #
646
+ # def process
647
+ # # Perform calculations...
648
+ # opts.fetch_command(:download).run do |options, arguments|
649
+ # ContentDownloader.download(options, arguments)
650
+ # end
651
+ # # More calculations...
652
+ # end
653
+ def subcommands(cmd); end
654
+
655
+ # A method to setup Slop so it can parse the options your command expects.
656
+ #
657
+ # @note Please don't do anything side-effecty in the main part of this
658
+ # method, as it may be called by Pry at any time for introspection reasons.
659
+ # If you need to set up default values, use `setup` instead.
660
+ #
661
+ # @example
662
+ # def options(opt)
663
+ # opt.banner "Gists methods or classes"
664
+ # opt.on(:c, :class, "gist a class") do
665
+ # @action = :class
666
+ # end
667
+ # end
668
+ def options(opt); end
669
+
670
+ # The actual body of your command should go here.
671
+ #
672
+ # The `opts` mehod can be called to get the options that Slop has passed,
673
+ # and `args` gives the remaining, unparsed arguments.
674
+ #
675
+ # The return value of this method is discarded unless the command was
676
+ # created with `:keep_retval => true`, in which case it is returned to the
677
+ # repl.
678
+ #
679
+ # @example
680
+ # def process
681
+ # if opts.present?(:class)
682
+ # gist_class
683
+ # else
684
+ # gist_method
685
+ # end
686
+ # end
687
+ def process; raise CommandError, "command '#{command_name}' not implemented" end
688
+ end
689
+ end