pry 0.9.12.2 → 0.14.2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (237) hide show
  1. checksums.yaml +5 -5
  2. data/CHANGELOG.md +1141 -0
  3. data/LICENSE +2 -2
  4. data/README.md +466 -0
  5. data/bin/pry +4 -7
  6. data/lib/pry/basic_object.rb +10 -0
  7. data/lib/pry/block_command.rb +22 -0
  8. data/lib/pry/class_command.rb +194 -0
  9. data/lib/pry/cli.rb +97 -92
  10. data/lib/pry/code/code_file.rb +114 -0
  11. data/lib/pry/code/code_range.rb +7 -4
  12. data/lib/pry/code/loc.rb +27 -14
  13. data/lib/pry/code.rb +62 -90
  14. data/lib/pry/code_object.rb +83 -39
  15. data/lib/pry/color_printer.rb +66 -0
  16. data/lib/pry/command.rb +202 -371
  17. data/lib/pry/command_set.rb +151 -133
  18. data/lib/pry/command_state.rb +31 -0
  19. data/lib/pry/commands/amend_line.rb +86 -82
  20. data/lib/pry/commands/bang.rb +18 -14
  21. data/lib/pry/commands/bang_pry.rb +15 -11
  22. data/lib/pry/commands/cat/abstract_formatter.rb +23 -18
  23. data/lib/pry/commands/cat/exception_formatter.rb +85 -73
  24. data/lib/pry/commands/cat/file_formatter.rb +56 -63
  25. data/lib/pry/commands/cat/input_expression_formatter.rb +35 -30
  26. data/lib/pry/commands/cat.rb +64 -47
  27. data/lib/pry/commands/cd.rb +42 -26
  28. data/lib/pry/commands/change_inspector.rb +34 -0
  29. data/lib/pry/commands/change_prompt.rb +51 -0
  30. data/lib/pry/commands/clear_screen.rb +20 -0
  31. data/lib/pry/commands/code_collector.rb +148 -131
  32. data/lib/pry/commands/disable_pry.rb +23 -19
  33. data/lib/pry/commands/easter_eggs.rb +23 -34
  34. data/lib/pry/commands/edit/exception_patcher.rb +21 -17
  35. data/lib/pry/commands/edit/file_and_line_locator.rb +33 -24
  36. data/lib/pry/commands/edit.rb +183 -167
  37. data/lib/pry/commands/exit.rb +40 -35
  38. data/lib/pry/commands/exit_all.rb +24 -20
  39. data/lib/pry/commands/exit_program.rb +20 -17
  40. data/lib/pry/commands/find_method.rb +167 -167
  41. data/lib/pry/commands/fix_indent.rb +16 -12
  42. data/lib/pry/commands/help.rb +140 -133
  43. data/lib/pry/commands/hist.rb +153 -132
  44. data/lib/pry/commands/import_set.rb +20 -15
  45. data/lib/pry/commands/jump_to.rb +25 -21
  46. data/lib/pry/commands/list_inspectors.rb +42 -0
  47. data/lib/pry/commands/ls/constants.rb +75 -0
  48. data/lib/pry/commands/ls/formatter.rb +55 -0
  49. data/lib/pry/commands/ls/globals.rb +50 -0
  50. data/lib/pry/commands/ls/grep.rb +23 -0
  51. data/lib/pry/commands/ls/instance_vars.rb +40 -0
  52. data/lib/pry/commands/ls/interrogatable.rb +24 -0
  53. data/lib/pry/commands/ls/jruby_hacks.rb +55 -0
  54. data/lib/pry/commands/ls/local_names.rb +37 -0
  55. data/lib/pry/commands/ls/local_vars.rb +47 -0
  56. data/lib/pry/commands/ls/ls_entity.rb +65 -0
  57. data/lib/pry/commands/ls/methods.rb +55 -0
  58. data/lib/pry/commands/ls/methods_helper.rb +50 -0
  59. data/lib/pry/commands/ls/self_methods.rb +34 -0
  60. data/lib/pry/commands/ls.rb +100 -303
  61. data/lib/pry/commands/nesting.rb +21 -17
  62. data/lib/pry/commands/play.rb +93 -49
  63. data/lib/pry/commands/pry_backtrace.rb +22 -18
  64. data/lib/pry/commands/pry_version.rb +15 -11
  65. data/lib/pry/commands/raise_up.rb +33 -27
  66. data/lib/pry/commands/reload_code.rb +57 -48
  67. data/lib/pry/commands/reset.rb +16 -12
  68. data/lib/pry/commands/ri.rb +57 -38
  69. data/lib/pry/commands/save_file.rb +45 -43
  70. data/lib/pry/commands/shell_command.rb +66 -34
  71. data/lib/pry/commands/shell_mode.rb +22 -20
  72. data/lib/pry/commands/show_doc.rb +80 -65
  73. data/lib/pry/commands/show_info.rb +193 -159
  74. data/lib/pry/commands/show_input.rb +16 -11
  75. data/lib/pry/commands/show_source.rb +113 -33
  76. data/lib/pry/commands/stat.rb +35 -31
  77. data/lib/pry/commands/switch_to.rb +21 -15
  78. data/lib/pry/commands/toggle_color.rb +21 -13
  79. data/lib/pry/commands/watch_expression/expression.rb +43 -0
  80. data/lib/pry/commands/watch_expression.rb +110 -0
  81. data/lib/pry/commands/whereami.rb +157 -134
  82. data/lib/pry/commands/wtf.rb +78 -40
  83. data/lib/pry/config/attributable.rb +22 -0
  84. data/lib/pry/config/lazy_value.rb +29 -0
  85. data/lib/pry/config/memoized_value.rb +34 -0
  86. data/lib/pry/config/value.rb +24 -0
  87. data/lib/pry/config.rb +290 -220
  88. data/lib/pry/control_d_handler.rb +28 -0
  89. data/lib/pry/core_extensions.rb +50 -27
  90. data/lib/pry/editor.rb +130 -102
  91. data/lib/pry/env.rb +18 -0
  92. data/lib/pry/exception_handler.rb +43 -0
  93. data/lib/pry/exceptions.rb +73 -0
  94. data/lib/pry/forwardable.rb +27 -0
  95. data/lib/pry/helpers/base_helpers.rb +22 -151
  96. data/lib/pry/helpers/command_helpers.rb +55 -63
  97. data/lib/pry/helpers/documentation_helpers.rb +21 -13
  98. data/lib/pry/helpers/options_helpers.rb +15 -8
  99. data/lib/pry/helpers/platform.rb +55 -0
  100. data/lib/pry/helpers/table.rb +44 -32
  101. data/lib/pry/helpers/text.rb +96 -86
  102. data/lib/pry/helpers.rb +3 -0
  103. data/lib/pry/history.rb +101 -70
  104. data/lib/pry/hooks.rb +67 -137
  105. data/lib/pry/indent.rb +79 -73
  106. data/lib/pry/input_completer.rb +283 -0
  107. data/lib/pry/input_lock.rb +129 -0
  108. data/lib/pry/inspector.rb +39 -0
  109. data/lib/pry/last_exception.rb +61 -0
  110. data/lib/pry/method/disowned.rb +19 -5
  111. data/lib/pry/{commands/edit/method_patcher.rb → method/patcher.rb} +51 -42
  112. data/lib/pry/method/weird_method_locator.rb +80 -44
  113. data/lib/pry/method.rb +225 -176
  114. data/lib/pry/object_path.rb +91 -0
  115. data/lib/pry/output.rb +136 -0
  116. data/lib/pry/pager.rb +227 -68
  117. data/lib/pry/prompt.rb +214 -0
  118. data/lib/pry/pry_class.rb +216 -289
  119. data/lib/pry/pry_instance.rb +438 -500
  120. data/lib/pry/repl.rb +256 -0
  121. data/lib/pry/repl_file_loader.rb +34 -35
  122. data/lib/pry/ring.rb +89 -0
  123. data/lib/pry/slop/LICENSE +20 -0
  124. data/lib/pry/slop/commands.rb +190 -0
  125. data/lib/pry/slop/option.rb +210 -0
  126. data/lib/pry/slop.rb +672 -0
  127. data/lib/pry/syntax_highlighter.rb +26 -0
  128. data/lib/pry/system_command_handler.rb +17 -0
  129. data/lib/pry/testable/evalable.rb +24 -0
  130. data/lib/pry/testable/mockable.rb +22 -0
  131. data/lib/pry/testable/pry_tester.rb +88 -0
  132. data/lib/pry/testable/utility.rb +34 -0
  133. data/lib/pry/testable/variables.rb +52 -0
  134. data/lib/pry/testable.rb +68 -0
  135. data/lib/pry/version.rb +3 -1
  136. data/lib/pry/warning.rb +20 -0
  137. data/lib/pry/{module_candidate.rb → wrapped_module/candidate.rb} +36 -43
  138. data/lib/pry/wrapped_module.rb +102 -103
  139. data/lib/pry.rb +135 -261
  140. metadata +94 -283
  141. data/.document +0 -2
  142. data/.gitignore +0 -16
  143. data/.travis.yml +0 -21
  144. data/.yardopts +0 -1
  145. data/CHANGELOG +0 -534
  146. data/CONTRIBUTORS +0 -55
  147. data/Gemfile +0 -9
  148. data/Guardfile +0 -62
  149. data/README.markdown +0 -400
  150. data/Rakefile +0 -140
  151. data/TODO +0 -117
  152. data/lib/pry/commands/disabled_commands.rb +0 -2
  153. data/lib/pry/commands/gem_cd.rb +0 -26
  154. data/lib/pry/commands/gem_install.rb +0 -29
  155. data/lib/pry/commands/gem_list.rb +0 -33
  156. data/lib/pry/commands/gem_open.rb +0 -29
  157. data/lib/pry/commands/gist.rb +0 -102
  158. data/lib/pry/commands/install_command.rb +0 -51
  159. data/lib/pry/commands/simple_prompt.rb +0 -22
  160. data/lib/pry/commands.rb +0 -6
  161. data/lib/pry/completion.rb +0 -304
  162. data/lib/pry/custom_completions.rb +0 -6
  163. data/lib/pry/history_array.rb +0 -116
  164. data/lib/pry/plugins.rb +0 -103
  165. data/lib/pry/rbx_method.rb +0 -13
  166. data/lib/pry/rbx_path.rb +0 -22
  167. data/lib/pry/rubygem.rb +0 -74
  168. data/lib/pry/terminal.rb +0 -78
  169. data/lib/pry/test/helper.rb +0 -185
  170. data/man/pry.1 +0 -195
  171. data/man/pry.1.html +0 -204
  172. data/man/pry.1.ronn +0 -141
  173. data/pry.gemspec +0 -30
  174. data/spec/Procfile +0 -3
  175. data/spec/cli_spec.rb +0 -78
  176. data/spec/code_object_spec.rb +0 -277
  177. data/spec/code_spec.rb +0 -219
  178. data/spec/command_helpers_spec.rb +0 -29
  179. data/spec/command_integration_spec.rb +0 -644
  180. data/spec/command_set_spec.rb +0 -627
  181. data/spec/command_spec.rb +0 -821
  182. data/spec/commands/amend_line_spec.rb +0 -247
  183. data/spec/commands/bang_spec.rb +0 -19
  184. data/spec/commands/cat_spec.rb +0 -164
  185. data/spec/commands/cd_spec.rb +0 -250
  186. data/spec/commands/disable_pry_spec.rb +0 -25
  187. data/spec/commands/edit_spec.rb +0 -727
  188. data/spec/commands/exit_all_spec.rb +0 -34
  189. data/spec/commands/exit_program_spec.rb +0 -19
  190. data/spec/commands/exit_spec.rb +0 -34
  191. data/spec/commands/find_method_spec.rb +0 -70
  192. data/spec/commands/gem_list_spec.rb +0 -26
  193. data/spec/commands/gist_spec.rb +0 -79
  194. data/spec/commands/help_spec.rb +0 -56
  195. data/spec/commands/hist_spec.rb +0 -181
  196. data/spec/commands/jump_to_spec.rb +0 -15
  197. data/spec/commands/ls_spec.rb +0 -181
  198. data/spec/commands/play_spec.rb +0 -140
  199. data/spec/commands/raise_up_spec.rb +0 -56
  200. data/spec/commands/save_file_spec.rb +0 -177
  201. data/spec/commands/show_doc_spec.rb +0 -510
  202. data/spec/commands/show_input_spec.rb +0 -17
  203. data/spec/commands/show_source_spec.rb +0 -782
  204. data/spec/commands/whereami_spec.rb +0 -203
  205. data/spec/completion_spec.rb +0 -239
  206. data/spec/control_d_handler_spec.rb +0 -58
  207. data/spec/documentation_helper_spec.rb +0 -73
  208. data/spec/editor_spec.rb +0 -79
  209. data/spec/exception_whitelist_spec.rb +0 -21
  210. data/spec/fixtures/candidate_helper1.rb +0 -11
  211. data/spec/fixtures/candidate_helper2.rb +0 -8
  212. data/spec/fixtures/example.erb +0 -5
  213. data/spec/fixtures/example_nesting.rb +0 -33
  214. data/spec/fixtures/show_source_doc_examples.rb +0 -15
  215. data/spec/fixtures/testrc +0 -2
  216. data/spec/fixtures/testrcbad +0 -2
  217. data/spec/fixtures/whereami_helper.rb +0 -6
  218. data/spec/helper.rb +0 -34
  219. data/spec/helpers/bacon.rb +0 -86
  220. data/spec/helpers/mock_pry.rb +0 -43
  221. data/spec/helpers/table_spec.rb +0 -105
  222. data/spec/history_array_spec.rb +0 -67
  223. data/spec/hooks_spec.rb +0 -522
  224. data/spec/indent_spec.rb +0 -301
  225. data/spec/input_stack_spec.rb +0 -90
  226. data/spec/method_spec.rb +0 -482
  227. data/spec/prompt_spec.rb +0 -60
  228. data/spec/pry_defaults_spec.rb +0 -419
  229. data/spec/pry_history_spec.rb +0 -99
  230. data/spec/pry_output_spec.rb +0 -95
  231. data/spec/pry_spec.rb +0 -504
  232. data/spec/run_command_spec.rb +0 -25
  233. data/spec/sticky_locals_spec.rb +0 -157
  234. data/spec/syntax_checking_spec.rb +0 -81
  235. data/spec/wrapped_module_spec.rb +0 -261
  236. data/wiki/Customizing-pry.md +0 -397
  237. data/wiki/Home.md +0 -4
data/man/pry.1.html DELETED
@@ -1,204 +0,0 @@
1
- <!DOCTYPE html>
2
- <html>
3
- <head>
4
- <meta http-equiv='content-type' value='text/html;charset=utf8'>
5
- <meta name='generator' value='Ronn/v0.7.3 (http://github.com/rtomayko/ronn/tree/0.7.3)'>
6
- <title>PRY(1) - A Reference to the PRY repl.</title>
7
- <style type='text/css' media='all'>
8
- /* style: man */
9
- body#manpage {margin:0}
10
- .mp {max-width:100ex;padding:0 9ex 1ex 4ex}
11
- .mp p,.mp pre,.mp ul,.mp ol,.mp dl {margin:0 0 20px 0}
12
- .mp h2 {margin:10px 0 0 0}
13
- .mp > p,.mp > pre,.mp > ul,.mp > ol,.mp > dl {margin-left:8ex}
14
- .mp h3 {margin:0 0 0 4ex}
15
- .mp dt {margin:0;clear:left}
16
- .mp dt.flush {float:left;width:8ex}
17
- .mp dd {margin:0 0 0 9ex}
18
- .mp h1,.mp h2,.mp h3,.mp h4 {clear:left}
19
- .mp pre {margin-bottom:20px}
20
- .mp pre+h2,.mp pre+h3 {margin-top:22px}
21
- .mp h2+pre,.mp h3+pre {margin-top:5px}
22
- .mp img {display:block;margin:auto}
23
- .mp h1.man-title {display:none}
24
- .mp,.mp code,.mp pre,.mp tt,.mp kbd,.mp samp,.mp h3,.mp h4 {font-family:monospace;font-size:14px;line-height:1.42857142857143}
25
- .mp h2 {font-size:16px;line-height:1.25}
26
- .mp h1 {font-size:20px;line-height:2}
27
- .mp {text-align:justify;background:#fff}
28
- .mp,.mp code,.mp pre,.mp pre code,.mp tt,.mp kbd,.mp samp {color:#131211}
29
- .mp h1,.mp h2,.mp h3,.mp h4 {color:#030201}
30
- .mp u {text-decoration:underline}
31
- .mp code,.mp strong,.mp b {font-weight:bold;color:#131211}
32
- .mp em,.mp var {font-style:italic;color:#232221;text-decoration:none}
33
- .mp a,.mp a:link,.mp a:hover,.mp a code,.mp a pre,.mp a tt,.mp a kbd,.mp a samp {color:#0000ff}
34
- .mp b.man-ref {font-weight:normal;color:#434241}
35
- .mp pre {padding:0 4ex}
36
- .mp pre code {font-weight:normal;color:#434241}
37
- .mp h2+pre,h3+pre {padding-left:0}
38
- ol.man-decor,ol.man-decor li {margin:3px 0 10px 0;padding:0;float:left;width:33%;list-style-type:none;text-transform:uppercase;color:#999;letter-spacing:1px}
39
- ol.man-decor {width:100%}
40
- ol.man-decor li.tl {text-align:left}
41
- ol.man-decor li.tc {text-align:center;letter-spacing:4px}
42
- ol.man-decor li.tr {text-align:right;float:right}
43
- </style>
44
- </head>
45
- <!--
46
- The following styles are deprecated and will be removed at some point:
47
- div#man, div#man ol.man, div#man ol.head, div#man ol.man.
48
-
49
- The .man-page, .man-decor, .man-head, .man-foot, .man-title, and
50
- .man-navigation should be used instead.
51
- -->
52
- <body id='manpage'>
53
- <div class='mp' id='man'>
54
-
55
- <div class='man-navigation' style='display:none'>
56
- <a href="#NAME">NAME</a>
57
- <a href="#Synopsis">Synopsis</a>
58
- <a href="#DESCRIPTION">DESCRIPTION</a>
59
- <a href="#HOMEPAGE">HOMEPAGE</a>
60
- <a href="#OPTIONS">OPTIONS</a>
61
- <a href="#FILES">FILES</a>
62
- <a href="#EXAMPLES">EXAMPLES</a>
63
- <a href="#AUTHORS">AUTHORS</a>
64
- </div>
65
-
66
- <ol class='man-decor man-head man head'>
67
- <li class='tl'>PRY(1)</li>
68
- <li class='tc'></li>
69
- <li class='tr'>PRY(1)</li>
70
- </ol>
71
-
72
- <h2 id="NAME">NAME</h2>
73
- <p class="man-name">
74
- <code>PRY</code> - <span class="man-whatis">A Reference to the PRY repl.</span>
75
- </p>
76
-
77
- <h2 id="Synopsis">Synopsis</h2>
78
-
79
- <p><code>pry</code> [<code>--version</code>] [<code>--exec</code>] [<code>--no-pager</code>] [<code>--no-history</code>] [<code>--no-color</code>] [<code>-f</code>] [<code>--no-plugins</code>] [<code>--installed-plugins</code>] [<code>--simple-prompt</code>] [<code>--require</code> <em>file</em>] [<code>-I</code>] [<code>--context</code>] [<code>--help</code>]</p>
80
-
81
- <h2 id="DESCRIPTION">DESCRIPTION</h2>
82
-
83
- <p>Pry is a powerful alternative to the standard IRB shell for Ruby. It is written from scratch to provide a number of advanced features.</p>
84
-
85
- <h2 id="HOMEPAGE">HOMEPAGE</h2>
86
-
87
- <p>http://pry.github.com/</p>
88
-
89
- <h2 id="OPTIONS">OPTIONS</h2>
90
-
91
- <dl>
92
- <dt><code>-v --version</code></dt><dd><p>Prints the version of Pry.</p></dd>
93
- <dt><code>-e --exec</code></dt><dd><p>Executes argument in context before the session starts.</p></dd>
94
- <dt><code>--no-pager</code></dt><dd><p>Disable pager for long output.</p></dd>
95
- <dt><code>--no-history</code></dt><dd><p>Disable history loading.</p></dd>
96
- <dt><code>--no-color</code></dt><dd><p>Disable syntax highlighting for session.</p></dd>
97
- <dt class="flush"><code>-f</code></dt><dd><p>Prevent loading of ~/.pryrc for session.</p></dd>
98
- <dt><code>--no-plugins</code></dt><dd><p>Supress loading of plugins.</p></dd>
99
- <dt><code>--installed-plugins</code></dt><dd><p>List installed plugins.</p></dd>
100
- <dt><code>--simple-prompt</code></dt><dd><p>Enable simple prompt mode (eg, >>).</p></dd>
101
- <dt><code>-r --require</code></dt><dd><p>Require a ruby script at startup.</p></dd>
102
- <dt class="flush"><code>-I</code></dt><dd><p>Add a path to the $LOAD_PATH</p></dd>
103
- <dt><code>-c --context</code></dt><dd><p>Start the session in the specified context. Equivalent to <code>context.pry</code> in a session.</p></dd>
104
- </dl>
105
-
106
-
107
- <h2 id="FILES">FILES</h2>
108
-
109
- <p>~/.pryrc Personal pry initialization</p>
110
-
111
- <h2 id="EXAMPLES">EXAMPLES</h2>
112
-
113
- <h3 id="Basic-Usage">Basic Usage</h3>
114
-
115
- <pre><code>$ pry
116
- [1] pry(main)&gt;4 + 5
117
- =&gt; 9
118
- [2] pry(main)&gt; def hello_world
119
- [2] pry(main)* puts "Hello, World!"
120
- [2] pry(main)* end
121
- =&gt; nil
122
- [3] pry(main)&gt; hello_world
123
- Hello, World!
124
- =&gt; nil
125
- </code></pre>
126
-
127
- <h3 id="Command-Line-Interaction">Command Line Interaction</h3>
128
-
129
- <p>Prefix any command you want your shell to execute with a period and pry will return the results from your shell.</p>
130
-
131
- <pre><code>[1] pry(main)&gt; .date
132
- Fri Nov 11 09:52:07 EST 2011
133
- </code></pre>
134
-
135
- <p>On the command line enter <code>shell-mode</code> to incorporate the current working directory into the Pry prompt.</p>
136
-
137
- <pre><code>pry(main)&gt; shell-mode
138
- pry main:/Users/john/ruby/projects/pry $ .cd ..
139
- pry main:/Users/john/ruby/projects $ .cd ~
140
- pry main:/Users/john $ .pwd
141
- /Users/john
142
- pry main:/Users/john $ shell-mode
143
- pry(main)&gt;
144
- </code></pre>
145
-
146
- <h3 id="State-Navigation">State Navigation</h3>
147
-
148
- <p>The cd command is used to move into a new object (or scope) inside a Pry session. When inside the new scope it becomes the self for the session and all commands and methods will operate on this new self.</p>
149
-
150
- <pre><code>pry(main)&gt; self
151
- =&gt; main
152
- pry(main)&gt; cd Pry
153
- pry(Pry):1&gt; self
154
- =&gt; Pry
155
- pry(Pry):1&gt; cd ..
156
- pry(main)&gt;
157
- </code></pre>
158
-
159
- <p>The ls command is essentially a unified wrapper to a number of Ruby's introspection mechanisms, including (but not limited to) the following methods: methods, instance_variables, constants, local_variables, instance_methods, class_variables and all the various permutations thereof.</p>
160
-
161
- <p>By default typing ls will return a list of just the local and instance variables available in the current context.</p>
162
-
163
- <ul>
164
- <li>The -M option selects public instance methods (if available).</li>
165
- <li>The -m option selects public methods.</li>
166
- <li>The -c option selects constants.</li>
167
- <li>The -i option select just instance variables.</li>
168
- <li>The -l option selects just local variables.</li>
169
- <li>The -s option modifies the -c and -m and -M options to go up the superclass chain (excluding Object).</li>
170
- <li>The --grep REGEX prunes the list to items that match the regex.</li>
171
- </ul>
172
-
173
-
174
- <h3 id="Source-Browsing">Source Browsing</h3>
175
-
176
- <p>Simply typing show-method method_name will pull the source for the method and display it with syntax highlighting. You can also look up the source for multiple methods at the same time, by typing show-method method1 method2. As a convenience, Pry looks up both instance methods and class methods using this syntax, with priority given to instance methods.</p>
177
-
178
- <pre><code>pry(Pry):1&gt; show-method rep
179
-
180
- From: /Users/john/ruby/projects/pry/lib/pry/pry_instance.rb @ line 191:
181
- Number of lines: 6
182
-
183
- def rep(target=TOPLEVEL_BINDING)
184
- target = Pry.binding_for(target)
185
- result = re(target)
186
-
187
- show_result(result) if should_print?
188
- end
189
- </code></pre>
190
-
191
- <h2 id="AUTHORS">AUTHORS</h2>
192
-
193
- <p>Pry is primarily the work of John Mair (banisterfiend)</p>
194
-
195
-
196
- <ol class='man-decor man-foot man foot'>
197
- <li class='tl'></li>
198
- <li class='tc'>November 2011</li>
199
- <li class='tr'>PRY(1)</li>
200
- </ol>
201
-
202
- </div>
203
- </body>
204
- </html>
data/man/pry.1.ronn DELETED
@@ -1,141 +0,0 @@
1
- PRY(1) -- A Reference to the PRY repl.
2
- ======================================
3
-
4
- ##Synopsis
5
-
6
-
7
- `pry` [`--version`] [`--exec`] [`--no-pager`] [`--no-history`] [`--no-color`] [`-f`] [`--no-plugins`] [`--installed-plugins`] [`--simple-prompt`] [`--require` _file_] [`-I`] [`--context`] [`--help`]
8
-
9
- ## DESCRIPTION
10
-
11
-
12
- Pry is a powerful alternative to the standard IRB shell for Ruby. It is written from scratch to provide a number of advanced features.
13
-
14
- ## HOMEPAGE
15
-
16
-
17
- http://pry.github.com/
18
-
19
- ##OPTIONS
20
-
21
-
22
- * `-v --version`:
23
- Prints the version of Pry.
24
-
25
- * `-e --exec`:
26
- Executes argument in context before the session starts.
27
-
28
- * `--no-pager`:
29
- Disable pager for long output.
30
-
31
- * `--no-history`:
32
- Disable history loading.
33
-
34
- * `--no-color`:
35
- Disable syntax highlighting for session.
36
-
37
- * `-f`:
38
- Prevent loading of ~/.pryrc for session.
39
-
40
- * `--no-plugins`:
41
- Supress loading of plugins.
42
-
43
- * `--installed-plugins`:
44
- List installed plugins.
45
-
46
- * `--simple-prompt`:
47
- Enable simple prompt mode (eg, >>).
48
-
49
- * `-r --require`:
50
- Require a ruby script at startup.
51
-
52
- * `-I`:
53
- Add a path to the $LOAD_PATH
54
-
55
- * `-c --context`:
56
- Start the session in the specified context. Equivalent to `context.pry` in a session.
57
-
58
- ##FILES
59
-
60
-
61
- ~/.pryrc Personal pry initialization
62
-
63
- ##EXAMPLES
64
-
65
- ###Basic Usage
66
-
67
-
68
- $ pry
69
- [1] pry(main)>4 + 5
70
- => 9
71
- [2] pry(main)> def hello_world
72
- [2] pry(main)* puts "Hello, World!"
73
- [2] pry(main)* end
74
- => nil
75
- [3] pry(main)> hello_world
76
- Hello, World!
77
- => nil
78
-
79
- ###Command Line Interaction
80
-
81
-
82
- Prefix any command you want your shell to execute with a period and pry will return the results from your shell.
83
-
84
- [1] pry(main)> .date
85
- Fri Nov 11 09:52:07 EST 2011
86
-
87
- On the command line enter `shell-mode` to incorporate the current working directory into the Pry prompt.
88
-
89
- pry(main)> shell-mode
90
- pry main:/Users/john/ruby/projects/pry $ .cd ..
91
- pry main:/Users/john/ruby/projects $ .cd ~
92
- pry main:/Users/john $ .pwd
93
- /Users/john
94
- pry main:/Users/john $ shell-mode
95
- pry(main)>
96
-
97
- ###State Navigation
98
-
99
-
100
- The cd command is used to move into a new object (or scope) inside a Pry session. When inside the new scope it becomes the self for the session and all commands and methods will operate on this new self.
101
-
102
- pry(main)> self
103
- => main
104
- pry(main)> cd Pry
105
- pry(Pry):1> self
106
- => Pry
107
- pry(Pry):1> cd ..
108
- pry(main)>
109
-
110
- The ls command is essentially a unified wrapper to a number of Ruby's introspection mechanisms, including (but not limited to) the following methods: methods, instance\_variables, constants, local\_variables, instance\_methods, class_variables and all the various permutations thereof.
111
-
112
- By default typing ls will return a list of just the local and instance variables available in the current context.
113
-
114
- * The -M option selects public instance methods (if available).
115
- * The -m option selects public methods.
116
- * The -c option selects constants.
117
- * The -i option select just instance variables.
118
- * The -l option selects just local variables.
119
- * The -s option modifies the -c and -m and -M options to go up the superclass chain (excluding Object).
120
- * The --grep REGEX prunes the list to items that match the regex.
121
-
122
- ###Source Browsing
123
-
124
-
125
- Simply typing show-method method_name will pull the source for the method and display it with syntax highlighting. You can also look up the source for multiple methods at the same time, by typing show-method method1 method2. As a convenience, Pry looks up both instance methods and class methods using this syntax, with priority given to instance methods.
126
-
127
- pry(Pry):1> show-method rep
128
-
129
- From: /Users/john/ruby/projects/pry/lib/pry/pry_instance.rb @ line 191:
130
- Number of lines: 6
131
-
132
- def rep(target=TOPLEVEL_BINDING)
133
- target = Pry.binding_for(target)
134
- result = re(target)
135
-
136
- show_result(result) if should_print?
137
- end
138
-
139
- ##AUTHORS
140
-
141
- Pry is primarily the work of John Mair (banisterfiend)
data/pry.gemspec DELETED
@@ -1,30 +0,0 @@
1
- # -*- encoding: utf-8 -*-
2
- require File.expand_path('../lib/pry/version', __FILE__)
3
-
4
- Gem::Specification.new do |s|
5
- s.name = "pry"
6
- s.version = Pry::VERSION
7
-
8
- s.authors = ["John Mair (banisterfiend)", "Conrad Irwin", "Ryan Fitzgerald"]
9
- s.email = ["jrmair@gmail.com", "conrad.irwin@gmail.com", "rwfitzge@gmail.com"]
10
- s.summary = "An IRB alternative and runtime developer console"
11
- s.description = s.summary
12
- s.homepage = "http://pry.github.com"
13
-
14
- s.executables = ["pry"]
15
- s.require_paths = ["lib"]
16
- s.files = `git ls-files`.split("\n")
17
- s.test_files = `git ls-files -- spec/*`.split("\n")
18
-
19
- s.add_dependency 'coderay', '~> 1.0.5'
20
- s.add_dependency 'slop', '~> 3.4'
21
- s.add_dependency 'method_source', '~> 0.8'
22
-
23
- s.add_development_dependency 'bacon', '~> 1.2'
24
- s.add_development_dependency 'open4', '~> 1.3'
25
- s.add_development_dependency 'rake', '~> 0.9'
26
- s.add_development_dependency 'guard', '~> 1.3.2'
27
- s.add_development_dependency 'mocha', '~> 0.13.1'
28
- # TODO: make this a plain dependency:
29
- s.add_development_dependency 'bond', '~> 0.4.2'
30
- end
data/spec/Procfile DELETED
@@ -1,3 +0,0 @@
1
- # Run this with:
2
- # gem install foreman && foreman start -f spec/Procfile
3
- pryhere: sh -c '(cd ..; rake pry)'
data/spec/cli_spec.rb DELETED
@@ -1,78 +0,0 @@
1
- require 'helper'
2
-
3
- describe Pry::Hooks do
4
- before do
5
- Pry::CLI.reset
6
- end
7
-
8
- describe "parsing options" do
9
- it 'should raise if no options defined' do
10
- lambda { Pry::CLI.parse_options(["--nothing"]) }.should.raise Pry::CLI::NoOptionsError
11
- end
12
- end
13
-
14
- describe "adding options" do
15
- it "should be able to add an option" do
16
- run = false
17
-
18
- Pry::CLI.add_options do
19
- on :optiontest, "A test option" do
20
- run = true
21
- end
22
- end.parse_options(["--optiontest"])
23
-
24
- run.should == true
25
- end
26
-
27
- it "should be able to add multiple options" do
28
- run = false
29
- run2 = false
30
-
31
- Pry::CLI.add_options do
32
- on :optiontest, "A test option" do
33
- run = true
34
- end
35
- end.add_options do
36
- on :optiontest2, "Another test option" do
37
- run2 = true
38
- end
39
- end.parse_options(["--optiontest", "--optiontest2"])
40
-
41
- run.should == true
42
- run2.should == true
43
- end
44
-
45
- end
46
-
47
- describe "processing options" do
48
- it "should be able to process an option" do
49
- run = false
50
-
51
- Pry::CLI.add_options do
52
- on :optiontest, "A test option"
53
- end.process_options do |opts|
54
- run = true if opts.present?(:optiontest)
55
- end.parse_options(["--optiontest"])
56
-
57
- run.should == true
58
- end
59
-
60
- it "should be able to process multiple options" do
61
- run = false
62
- run2 = false
63
-
64
- Pry::CLI.add_options do
65
- on :optiontest, "A test option"
66
- on :optiontest2, "Another test option"
67
- end.process_options do |opts|
68
- run = true if opts.present?(:optiontest)
69
- end.process_options do |opts|
70
- run2 = true if opts.present?(:optiontest2)
71
- end.parse_options(["--optiontest", "--optiontest2"])
72
-
73
- run.should == true
74
- run2.should == true
75
- end
76
-
77
- end
78
- end