pry 0.9.12.2 → 0.14.2

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 (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
@@ -1,199 +1,199 @@
1
- class Pry
2
- class Command::FindMethod < Pry::ClassCommand
3
- extend Pry::Helpers::BaseHelpers
4
-
5
- match 'find-method'
6
- group 'Context'
7
- description 'Recursively search for a method within a Class/Module or the current namespace.'
8
- command_options :shellwords => false
9
- command_options :requires_gem => 'ruby18_source_location' if mri_18?
10
-
11
-
12
- banner <<-'BANNER'
13
- Usage: find-method [-n|-c] METHOD [NAMESPACE]
14
-
15
- Recursively search for a method within a Class/Module or the current namespace.
16
- Use the `-n` switch (the default) to search for methods whose name matches the
17
- given regex. Use the `-c` switch to search for methods that contain the given
18
- code.
1
+ # frozen_string_literal: true
19
2
 
20
- # Find all methods whose name match /re/ inside
21
- # the Pry namespace. Matches Pry#repl, etc.
22
- find-method re Pry
3
+ class Pry
4
+ class Command
5
+ class FindMethod < Pry::ClassCommand
6
+ extend Pry::Helpers::BaseHelpers
7
+
8
+ match 'find-method'
9
+ group 'Context'
10
+ description 'Recursively search for a method within a Class/Module or ' \
11
+ 'the current namespace.'
12
+ command_options shellwords: false
13
+
14
+ banner <<-'BANNER'
15
+ Usage: find-method [-n|-c] METHOD [NAMESPACE]
16
+
17
+ Recursively search for a method within a Class/Module or the current namespace.
18
+ Use the `-n` switch (the default) to search for methods whose name matches the
19
+ given regex. Use the `-c` switch to search for methods that contain the given
20
+ code.
21
+
22
+ # Find all methods whose name match /re/ inside
23
+ # the Pry namespace. Matches Pry#repl, etc.
24
+ find-method re Pry
25
+
26
+ # Find all methods that contain the code:
27
+ # output.puts inside the Pry namespace.
28
+ find-method -c 'output.puts' Pry
29
+ BANNER
30
+
31
+ def options(opt)
32
+ opt.on :n, :name, "Search for a method by name"
33
+ opt.on :c, :content, "Search for a method based on content in Regex form"
34
+ end
23
35
 
24
- # Find all methods that contain the code:
25
- # output.puts inside the Pry namepsace.
26
- find-method -c 'output.puts' Pry
27
- BANNER
36
+ def process
37
+ return if args.empty?
28
38
 
29
- def setup
30
- require 'ruby18_source_location' if mri_18?
31
- end
32
-
33
- def options(opti)
34
- opti.on :n, :name, "Search for a method by name"
35
- opti.on :c, :content, "Search for a method based on content in Regex form"
36
- end
39
+ klass = search_class
37
40
 
38
- def process
39
- return if args.size < 1
40
- klass = search_class
41
-
42
- matches = if opts.content?
43
- content_search(klass)
44
- else
45
- name_search(klass)
41
+ matches = opts.content? ? content_search(klass) : name_search(klass)
42
+ show_search_results(matches)
46
43
  end
47
44
 
48
- show_search_results(matches)
49
- end
50
-
51
- private
45
+ private
52
46
 
53
- # @return [Regexp] The pattern to search for.
54
- def pattern
55
- @pattern ||= ::Regexp.new args[0]
56
- end
47
+ # @return [Regexp] The pattern to search for.
48
+ def pattern
49
+ @pattern ||= ::Regexp.new args[0]
50
+ end
57
51
 
58
- # Output the result of the search.
59
- #
60
- # @param [Array] matches
61
- def show_search_results(matches)
62
- if matches.empty?
63
- output.puts text.bold("No Methods Matched")
64
- else
65
- print_matches(matches)
52
+ # Output the result of the search.
53
+ #
54
+ # @param [Array] matches
55
+ def show_search_results(matches)
56
+ if matches.empty?
57
+ output.puts bold("No Methods Matched")
58
+ else
59
+ print_matches(matches)
60
+ end
66
61
  end
67
- end
68
62
 
69
- # The class to search for methods.
70
- # We only search classes, so if the search object is an
71
- # instance, return its class. If no search object is given
72
- # search `target_self`.
73
- def search_class
74
- klass = if args[1]
75
- target.eval(args[1])
76
- else
77
- target_self
78
- end
79
-
80
- klass.is_a?(Module) ? klass : klass.class
81
- end
63
+ # The class to search for methods.
64
+ # We only search classes, so if the search object is an
65
+ # instance, return its class. If no search object is given
66
+ # search `target_self`.
67
+ def search_class
68
+ klass = if args[1]
69
+ target.eval(args[1])
70
+ else
71
+ target_self
72
+ end
73
+
74
+ klass.is_a?(Module) ? klass : klass.class
75
+ end
82
76
 
83
- # pretty-print a list of matching methods.
84
- #
85
- # @param Array[Method]
86
- def print_matches(matches)
87
- grouped = matches.group_by(&:owner)
88
- order = grouped.keys.sort_by{ |x| x.name || x.to_s }
77
+ # pretty-print a list of matching methods.
78
+ #
79
+ # @param [Array<Method>] matches
80
+ def print_matches(matches)
81
+ grouped = matches.group_by(&:owner)
82
+ order = grouped.keys.sort_by { |x| x.name || x.to_s }
89
83
 
90
- order.each do |klass|
91
- print_matches_for_class(klass, grouped)
84
+ order.each do |klass|
85
+ print_matches_for_class(klass, grouped)
86
+ end
92
87
  end
93
- end
94
88
 
95
- # Print matched methods for a class
96
- def print_matches_for_class(klass, grouped)
97
- output.puts text.bold(klass.name)
98
- grouped[klass].each do |method|
99
- header = method.name_with_owner
100
- output.puts header + additional_info(header, method)
89
+ # Print matched methods for a class
90
+ def print_matches_for_class(klass, grouped)
91
+ output.puts bold(klass.name)
92
+ grouped[klass].each do |method|
93
+ header = method.name_with_owner
94
+ output.puts header + additional_info(header, method)
95
+ end
101
96
  end
102
- end
103
97
 
104
- # Return the matched lines of method source if `-c` is given or ""
105
- # if `-c` was not given
106
- def additional_info(header, method)
107
- if opts.content?
108
- ": " + colorize_code(matched_method_lines(header, method))
109
- else
110
- ""
98
+ # Return the matched lines of method source if `-c` is given or ""
99
+ # if `-c` was not given
100
+ def additional_info(header, method)
101
+ if opts.content?
102
+ ': ' + colorize_code(matched_method_lines(header, method))
103
+ else
104
+ ""
105
+ end
111
106
  end
112
- end
113
107
 
114
- def matched_method_lines(header, method)
115
- method.source.split(/\n/).select {|x| x =~ pattern }.join("\n#{' ' * header.length}")
116
- end
108
+ def matched_method_lines(header, method)
109
+ method.source.split(/\n/).select { |x| x =~ pattern }.join(
110
+ "\n#{' ' * header.length}"
111
+ )
112
+ end
117
113
 
118
- # Run the given block against every constant in the provided namespace.
119
- #
120
- # @param Module The namespace in which to start the search.
121
- # @param Hash[Module,Boolean] The namespaces we've already visited (private)
122
- # @yieldparam klazz Each class/module in the namespace.
123
- #
124
- def recurse_namespace(klass, done={}, &block)
125
- return if !(Module === klass) || done[klass]
126
-
127
- done[klass] = true
128
-
129
- yield klass
130
-
131
- klass.constants.each do |name|
132
- next if klass.autoload?(name)
133
- begin
134
- const = klass.const_get(name)
135
- rescue RescuableException
136
- # constant loading is an inexact science at the best of times,
137
- # this often happens when a constant was .autoload? but someone
138
- # tried to load it. It's now not .autoload? but will still raise
139
- # a NameError when you access it.
140
- else
141
- recurse_namespace(const, done, &block)
114
+ # Run the given block against every constant in the provided namespace.
115
+ #
116
+ # @param [Module] klass The namespace in which to start the search.
117
+ # @param [Hash<Module,Boolean>] done The namespaces we've already visited (private)
118
+ # @yieldparam klass Each class/module in the namespace.
119
+ #
120
+ def recurse_namespace(klass, done = {}, &block)
121
+ return if !klass.is_a?(Module) || done[klass]
122
+
123
+ done[klass] = true
124
+
125
+ yield klass
126
+
127
+ klass.constants.each do |name|
128
+ next if klass.autoload?(name)
129
+
130
+ begin
131
+ const = klass.const_get(name)
132
+ rescue RescuableException # rubocop:disable Lint/HandleExceptions
133
+ # constant loading is an inexact science at the best of times,
134
+ # this often happens when a constant was .autoload? but someone
135
+ # tried to load it. It's now not .autoload? but will still raise
136
+ # a NameError when you access it.
137
+ else
138
+ recurse_namespace(const, done, &block)
139
+ end
142
140
  end
143
141
  end
144
- end
145
142
 
146
- # Gather all the methods in a namespace that pass the given block.
147
- #
148
- # @param Module The namespace in which to search.
149
- # @yieldparam Method The method to test
150
- # @yieldreturn Boolean
151
- # @return Array[Method]
152
- #
153
- def search_all_methods(namespace)
154
- done = Hash.new{ |h,k| h[k] = {} }
155
- matches = []
156
-
157
- recurse_namespace(namespace) do |klass|
158
- (Pry::Method.all_from_class(klass) + Pry::Method.all_from_obj(klass)).each do |method|
159
- next if done[method.owner][method.name]
160
- done[method.owner][method.name] = true
161
-
162
- matches << method if yield method
143
+ # Gather all the methods in a namespace that pass the given block.
144
+ #
145
+ # @param [Module] namespace The namespace in which to search.
146
+ # @yieldparam [Method] method The method to test
147
+ # @yieldreturn [Boolean]
148
+ # @return [Array<Method>]
149
+ #
150
+ def search_all_methods(namespace)
151
+ done = Hash.new { |h, k| h[k] = {} }
152
+ matches = []
153
+
154
+ recurse_namespace(namespace) do |klass|
155
+ methods = Pry::Method.all_from_class(klass) + Pry::Method.all_from_obj(klass)
156
+ methods.each do |method|
157
+ next if done[method.owner][method.name]
158
+
159
+ done[method.owner][method.name] = true
160
+
161
+ matches << method if yield method
162
+ end
163
163
  end
164
- end
165
164
 
166
- matches
167
- end
165
+ matches
166
+ end
168
167
 
169
- # Search for all methods with a name that matches the given regex
170
- # within a namespace.
171
- #
172
- # @param Module The namespace to search
173
- # @return Array[Method]
174
- #
175
- def name_search(namespace)
176
- search_all_methods(namespace) do |meth|
177
- meth.name =~ pattern
168
+ # Search for all methods with a name that matches the given regex
169
+ # within a namespace.
170
+ #
171
+ # @param [Module] namespace The namespace to search
172
+ # @return [Array<Method>]
173
+ #
174
+ def name_search(namespace)
175
+ search_all_methods(namespace) do |meth|
176
+ meth.name =~ pattern
177
+ end
178
178
  end
179
- end
180
179
 
181
- # Search for all methods who's implementation matches the given regex
182
- # within a namespace.
183
- #
184
- # @param Module The namespace to search
185
- # @return Array[Method]
186
- #
187
- def content_search(namespace)
188
- search_all_methods(namespace) do |meth|
189
- begin
190
- meth.source =~ pattern
191
- rescue RescuableException
192
- false
180
+ # Search for all methods who's implementation matches the given regex
181
+ # within a namespace.
182
+ #
183
+ # @param [Module] namespace The namespace to search
184
+ # @return [Array<Method>]
185
+ #
186
+ def content_search(namespace)
187
+ search_all_methods(namespace) do |meth|
188
+ begin
189
+ meth.source =~ pattern
190
+ rescue RescuableException
191
+ false
192
+ end
193
193
  end
194
194
  end
195
195
  end
196
- end
197
196
 
198
- Pry::Commands.add_command(Pry::Command::FindMethod)
197
+ Pry::Commands.add_command(Pry::Command::FindMethod)
198
+ end
199
199
  end
@@ -1,19 +1,23 @@
1
+ # frozen_string_literal: true
2
+
1
3
  class Pry
2
- class Command::FixIndent < Pry::ClassCommand
3
- match 'fix-indent'
4
- group 'Input and Output'
4
+ class Command
5
+ class FixIndent < Pry::ClassCommand
6
+ match 'fix-indent'
7
+ group 'Input and Output'
5
8
 
6
- description "Correct the indentation for contents of the input buffer"
9
+ description "Correct the indentation for contents of the input buffer"
7
10
 
8
- banner <<-USAGE
9
- Usage: fix-indent
10
- USAGE
11
+ banner <<-USAGE
12
+ Usage: fix-indent
13
+ USAGE
11
14
 
12
- def process
13
- indented_str = Pry::Indent.indent(eval_string)
14
- eval_string.replace indented_str
15
+ def process
16
+ indented_str = Pry::Indent.indent(eval_string)
17
+ pry_instance.eval_string = indented_str
18
+ end
15
19
  end
16
- end
17
20
 
18
- Pry::Commands.add_command(Pry::Command::FixIndent)
21
+ Pry::Commands.add_command(Pry::Command::FixIndent)
22
+ end
19
23
  end