pry 0.9.9.6pre2-java → 0.9.10-java
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.
- data/CHANGELOG +41 -0
- data/CONTRIBUTORS +27 -26
- data/README.markdown +4 -4
- data/Rakefile +2 -2
- data/lib/pry.rb +25 -19
- data/lib/pry/cli.rb +31 -10
- data/lib/pry/code.rb +41 -83
- data/lib/pry/command.rb +87 -76
- data/lib/pry/command_set.rb +13 -20
- data/lib/pry/completion.rb +139 -121
- data/lib/pry/config.rb +4 -0
- data/lib/pry/core_extensions.rb +88 -31
- data/lib/pry/default_commands/cd.rb +31 -8
- data/lib/pry/default_commands/context.rb +4 -58
- data/lib/pry/default_commands/easter_eggs.rb +1 -1
- data/lib/pry/default_commands/editing.rb +21 -14
- data/lib/pry/default_commands/find_method.rb +5 -7
- data/lib/pry/default_commands/gist.rb +187 -0
- data/lib/pry/default_commands/hist.rb +6 -6
- data/lib/pry/default_commands/input_and_output.rb +73 -129
- data/lib/pry/default_commands/introspection.rb +107 -52
- data/lib/pry/default_commands/ls.rb +1 -1
- data/lib/pry/default_commands/misc.rb +0 -5
- data/lib/pry/default_commands/whereami.rb +92 -0
- data/lib/pry/helpers/base_helpers.rb +6 -1
- data/lib/pry/helpers/command_helpers.rb +30 -9
- data/lib/pry/helpers/documentation_helpers.rb +7 -7
- data/lib/pry/helpers/options_helpers.rb +1 -1
- data/lib/pry/helpers/text.rb +7 -9
- data/lib/pry/history.rb +15 -2
- data/lib/pry/hooks.rb +1 -1
- data/lib/pry/indent.rb +17 -10
- data/lib/pry/method.rb +35 -19
- data/lib/pry/module_candidate.rb +130 -0
- data/lib/pry/pry_class.rb +54 -22
- data/lib/pry/pry_instance.rb +71 -14
- data/lib/pry/repl_file_loader.rb +80 -0
- data/lib/pry/version.rb +1 -1
- data/lib/pry/wrapped_module.rb +121 -142
- data/pry.gemspec +13 -13
- data/test/candidate_helper1.rb +11 -0
- data/test/candidate_helper2.rb +8 -0
- data/test/helper.rb +16 -0
- data/test/test_code.rb +1 -1
- data/test/test_command.rb +364 -270
- data/test/test_command_integration.rb +235 -267
- data/test/test_completion.rb +36 -0
- data/test/test_control_d_handler.rb +45 -0
- data/test/test_default_commands/example.erb +5 -0
- data/test/test_default_commands/test_cd.rb +316 -11
- data/test/test_default_commands/test_context.rb +143 -192
- data/test/test_default_commands/test_documentation.rb +81 -14
- data/test/test_default_commands/test_find_method.rb +10 -2
- data/test/test_default_commands/test_input.rb +102 -111
- data/test/test_default_commands/test_introspection.rb +17 -12
- data/test/test_default_commands/test_ls.rb +8 -6
- data/test/test_default_commands/test_shell.rb +18 -15
- data/test/test_default_commands/test_show_source.rb +170 -44
- data/test/test_exception_whitelist.rb +6 -2
- data/test/test_hooks.rb +32 -0
- data/test/test_input_stack.rb +19 -16
- data/test/test_method.rb +0 -4
- data/test/test_prompt.rb +60 -0
- data/test/test_pry.rb +23 -31
- data/test/test_pry_defaults.rb +75 -57
- data/test/test_syntax_checking.rb +12 -11
- data/test/test_wrapped_module.rb +103 -0
- metadata +72 -26
data/lib/pry/wrapped_module.rb
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
require 'pry/
|
1
|
+
require 'pry/module_candidate'
|
2
2
|
|
3
3
|
class Pry
|
4
4
|
class << self
|
@@ -14,7 +14,7 @@ class Pry
|
|
14
14
|
end
|
15
15
|
|
16
16
|
class WrappedModule
|
17
|
-
include Helpers::DocumentationHelpers
|
17
|
+
include Pry::Helpers::DocumentationHelpers
|
18
18
|
|
19
19
|
attr_reader :wrapped
|
20
20
|
private :wrapped
|
@@ -40,12 +40,12 @@ class Pry
|
|
40
40
|
nil
|
41
41
|
end
|
42
42
|
|
43
|
-
#
|
44
|
-
# @
|
45
|
-
# @param [Module]
|
43
|
+
# @raise [ArgumentError] if the argument is not a `Module`
|
44
|
+
# @param [Module] mod
|
46
45
|
def initialize(mod)
|
47
46
|
raise ArgumentError, "Tried to initialize a WrappedModule with a non-module #{mod.inspect}" unless ::Module === mod
|
48
47
|
@wrapped = mod
|
48
|
+
@memoized_candidates = []
|
49
49
|
@host_file_lines = nil
|
50
50
|
@source = nil
|
51
51
|
@source_location = nil
|
@@ -110,141 +110,140 @@ class Pry
|
|
110
110
|
super || wrapped.respond_to?(method_name)
|
111
111
|
end
|
112
112
|
|
113
|
-
|
114
|
-
|
113
|
+
# Retrieve the source location of a module. Return value is in same
|
114
|
+
# format as Method#source_location. If the source location
|
115
|
+
# cannot be found this method returns `nil`.
|
116
|
+
#
|
117
|
+
# @param [Module] mod The module (or class).
|
118
|
+
# @return [Array<String, Fixnum>, nil] The source location of the
|
119
|
+
# module (or class), or `nil` if no source location found.
|
120
|
+
def source_location
|
121
|
+
@source_location ||= primary_candidate.source_location
|
122
|
+
rescue Pry::RescuableException
|
123
|
+
nil
|
115
124
|
end
|
116
125
|
|
117
|
-
|
118
|
-
|
119
|
-
|
126
|
+
# @return [String, nil] The associated file for the module (i.e
|
127
|
+
# the primary candidate: highest ranked monkeypatch).
|
128
|
+
def file
|
129
|
+
Array(source_location).first
|
120
130
|
end
|
131
|
+
alias_method :source_file, :file
|
121
132
|
|
122
|
-
|
123
|
-
|
124
|
-
|
125
|
-
|
126
|
-
|
127
|
-
if yard_docs?
|
128
|
-
from_yard = YARD::Registry.at(name)
|
129
|
-
@doc = from_yard.docstring
|
130
|
-
elsif source_location.nil?
|
131
|
-
raise CommandError, "Can't find module's source location"
|
132
|
-
else
|
133
|
-
@doc = extract_doc_for_candidate(0)
|
134
|
-
end
|
135
|
-
|
136
|
-
raise CommandError, "Can't find docs for module: #{name}." if !@doc
|
137
|
-
|
138
|
-
@doc = process_doc(@doc)
|
133
|
+
# @return [Fixnum, nil] The associated line for the module (i.e
|
134
|
+
# the primary candidate: highest ranked monkeypatch).
|
135
|
+
def line
|
136
|
+
Array(source_location).last
|
139
137
|
end
|
140
|
-
|
141
|
-
|
142
|
-
|
143
|
-
|
144
|
-
|
145
|
-
|
138
|
+
alias_method :source_line, :line
|
139
|
+
|
140
|
+
# Returns documentation for the module.
|
141
|
+
# This documentation is for the primary candidate, if
|
142
|
+
# you would like documentation for other candidates use
|
143
|
+
# `WrappedModule#candidate` to select the candidate you're
|
144
|
+
# interested in.
|
145
|
+
# @raise [Pry::CommandError] If documentation cannot be found.
|
146
|
+
# @return [String] The documentation for the module.
|
147
|
+
def doc
|
148
|
+
@doc ||= primary_candidate.doc
|
146
149
|
end
|
147
150
|
|
148
|
-
#
|
151
|
+
# Returns the source for the module.
|
152
|
+
# This source is for the primary candidate, if
|
153
|
+
# you would like source for other candidates use
|
154
|
+
# `WrappedModule#candidate` to select the candidate you're
|
155
|
+
# interested in.
|
156
|
+
# @raise [Pry::CommandError] If source cannot be found.
|
157
|
+
# @return [String] The source for the module.
|
149
158
|
def source
|
150
|
-
@source ||=
|
159
|
+
@source ||= primary_candidate.source
|
151
160
|
end
|
152
161
|
|
153
|
-
|
154
|
-
|
155
|
-
|
156
|
-
|
157
|
-
strip_leading_whitespace(Pry::Code.retrieve_complete_expression_from(lines_for_file(file)[(line - 1)..-1]))
|
162
|
+
# @return [String] Return the associated file for the
|
163
|
+
# module from YARD, if one exists.
|
164
|
+
def yard_file
|
165
|
+
YARD::Registry.at(name).file if yard_docs?
|
158
166
|
end
|
159
167
|
|
160
|
-
|
161
|
-
|
162
|
-
|
163
|
-
|
164
|
-
else
|
165
|
-
source_file_for_candidate(0)
|
166
|
-
end
|
168
|
+
# @return [Fixnum] Return the associated line for the
|
169
|
+
# module from YARD, if one exists.
|
170
|
+
def yard_line
|
171
|
+
YARD::Registry.at(name).line if yard_docs?
|
167
172
|
end
|
168
173
|
|
169
|
-
|
170
|
-
|
174
|
+
# @return [String] Return the YARD docs for this module.
|
175
|
+
def yard_doc
|
176
|
+
YARD::Registry.at(name).docstring.to_s if yard_docs?
|
171
177
|
end
|
172
178
|
|
173
|
-
|
174
|
-
|
179
|
+
# Return a candidate for this module of specified rank. A `rank`
|
180
|
+
# of 0 is equivalent to the 'primary candidate', which is the
|
181
|
+
# module definition with the highest number of methods. A `rank`
|
182
|
+
# of 1 is the module definition with the second highest number of
|
183
|
+
# methods, and so on. Module candidates are necessary as modules
|
184
|
+
# can be reopened multiple times and in multiple places in Ruby,
|
185
|
+
# the candidate API gives you access to the module definition
|
186
|
+
# representing each of those reopenings.
|
187
|
+
# @raise [Pry::CommandError] If the `rank` is out of range. That
|
188
|
+
# is greater than `number_of_candidates - 1`.
|
189
|
+
# @param [Fixnum] rank
|
190
|
+
# @return [Pry::WrappedModule::Candidate]
|
191
|
+
def candidate(rank)
|
192
|
+
@memoized_candidates[rank] ||= Candidate.new(self, rank)
|
175
193
|
end
|
176
194
|
|
177
|
-
def source_line_for_candidate(idx)
|
178
|
-
Array(module_source_location_for_candidate(idx)).last
|
179
|
-
end
|
180
195
|
|
181
|
-
#
|
182
|
-
#
|
183
|
-
|
184
|
-
|
185
|
-
# @param [Module] mod The module (or class).
|
186
|
-
# @return [Array<String, Fixnum>] The source location of the
|
187
|
-
# module (or class).
|
188
|
-
def source_location
|
189
|
-
@source_location ||= module_source_location_for_candidate(0)
|
190
|
-
rescue Pry::RescuableException
|
191
|
-
nil
|
196
|
+
# @return [Fixnum] The number of candidate definitions for the
|
197
|
+
# current module.
|
198
|
+
def number_of_candidates
|
199
|
+
method_candidates.count
|
192
200
|
end
|
193
201
|
|
194
|
-
#
|
195
|
-
def
|
196
|
-
|
197
|
-
|
198
|
-
if file == Pry.eval_path
|
199
|
-
@lines_for_file[file] ||= Pry.line_buffer.drop(1)
|
200
|
-
else
|
201
|
-
@lines_for_file[file] ||= File.readlines(file)
|
202
|
-
end
|
202
|
+
# @return [Boolean] Whether YARD docs are available for this module.
|
203
|
+
def yard_docs?
|
204
|
+
!!(defined?(YARD) && YARD::Registry.at(name))
|
203
205
|
end
|
204
206
|
|
205
|
-
|
206
|
-
mod_type_string = wrapped.class.to_s.downcase
|
207
|
-
file, line = method_source_location_for_candidate(idx)
|
208
|
-
|
209
|
-
return nil if !file.is_a?(String)
|
210
|
-
|
211
|
-
class_regex1 = /#{mod_type_string}\s*(\w*)(::)?#{wrapped.name.split(/::/).last}/
|
212
|
-
class_regex2 = /(::)?#{wrapped.name.split(/::/).last}\s*?=\s*?#{wrapped.class}/
|
213
|
-
|
214
|
-
host_file_lines = lines_for_file(file)
|
207
|
+
private
|
215
208
|
|
216
|
-
|
217
|
-
|
218
|
-
|
219
|
-
|
220
|
-
|
221
|
-
|
209
|
+
# @return [Pry::WrappedModule::Candidate] The candidate of rank 0,
|
210
|
+
# that is the 'monkey patch' of this module with the highest
|
211
|
+
# number of methods. It is considered the 'canonical' definition
|
212
|
+
# for the module.
|
213
|
+
def primary_candidate
|
214
|
+
@primary_candidate ||= candidate(0)
|
222
215
|
end
|
223
216
|
|
224
|
-
|
225
|
-
|
217
|
+
# @return [Array<Array<Pry::Method>>] The array of `Pry::Method` objects,
|
218
|
+
# there are two associated with each candidate. The first is the 'base
|
219
|
+
# method' for a candidate and it serves as the start point for
|
220
|
+
# the search in uncovering the module definition. The second is
|
221
|
+
# the last method defined for that candidate and it is used to
|
222
|
+
# speed up source code extraction.
|
223
|
+
def method_candidates
|
224
|
+
@method_candidates ||= all_source_locations_by_popularity.map do |group|
|
225
|
+
methods_sorted_by_source_line = group.last.sort_by(&:source_line)
|
226
|
+
[methods_sorted_by_source_line.first, methods_sorted_by_source_line.last]
|
227
|
+
end
|
226
228
|
end
|
227
229
|
|
228
|
-
|
229
|
-
|
230
|
+
# A helper method.
|
231
|
+
def all_source_locations_by_popularity
|
232
|
+
return @all_source_locations_by_popularity if @all_source_locations_by_popularity
|
233
|
+
|
234
|
+
ims = all_methods_for(wrapped)
|
230
235
|
|
231
|
-
|
232
|
-
|
233
|
-
# Add any line that is a valid ruby comment,
|
234
|
-
# but clear as soon as we hit a non comment line.
|
235
|
-
if (line =~ /^\s*#/) || (line =~ /^\s*$/)
|
236
|
-
buffer << line.lstrip
|
237
|
-
else
|
238
|
-
buffer.replace("")
|
239
|
-
end
|
240
|
-
end
|
236
|
+
# reject __class_init__ because it's an odd rbx specific thing that causes tests to fail
|
237
|
+
ims = ims.select(&:source_location).reject{ |x| x.name == '__class_init__' }
|
241
238
|
|
242
|
-
|
239
|
+
@all_source_locations_by_popularity = ims.group_by { |v| Array(v.source_location).first }.
|
240
|
+
sort_by { |k, v| -v.size }
|
243
241
|
end
|
244
242
|
|
245
|
-
#
|
246
|
-
|
247
|
-
|
243
|
+
# Return all methods (instance methods and class methods) for a
|
244
|
+
# given module.
|
245
|
+
def all_methods_for(mod)
|
246
|
+
all_from_common(mod, :instance_method) + all_from_common(mod, :method)
|
248
247
|
end
|
249
248
|
|
250
249
|
# FIXME: a variant of this method is also found in Pry::Method
|
@@ -262,47 +261,27 @@ class Pry
|
|
262
261
|
end.flatten
|
263
262
|
end
|
264
263
|
|
265
|
-
|
266
|
-
|
267
|
-
|
268
|
-
|
269
|
-
def all_source_locations_by_popularity
|
270
|
-
return @all_source_locations_by_popularity if @all_source_locations_by_popularity
|
271
|
-
|
272
|
-
ims = all_methods_for(wrapped)
|
273
|
-
|
274
|
-
ims.reject! do |v|
|
275
|
-
begin
|
276
|
-
v.alias? || v.source_location.nil?
|
277
|
-
rescue Pry::RescuableException
|
278
|
-
true
|
279
|
-
end
|
280
|
-
end
|
281
|
-
|
282
|
-
@all_source_locations_by_popularity = ims.group_by { |v| Array(v.source_location).first }.
|
283
|
-
sort_by { |k, v| -v.size }
|
284
|
-
end
|
264
|
+
# memoized lines for file
|
265
|
+
def lines_for_file(file)
|
266
|
+
@lines_for_file ||= {}
|
285
267
|
|
286
|
-
|
287
|
-
|
288
|
-
|
289
|
-
|
268
|
+
if file == Pry.eval_path
|
269
|
+
@lines_for_file[file] ||= Pry.line_buffer.drop(1)
|
270
|
+
else
|
271
|
+
@lines_for_file[file] ||= File.readlines(file)
|
290
272
|
end
|
291
273
|
end
|
292
274
|
|
293
|
-
|
294
|
-
|
275
|
+
# FIXME: this method is also found in Pry::Method
|
276
|
+
def safe_send(obj, method, *args, &block)
|
277
|
+
(Module === obj ? Module : Object).instance_method(method).bind(obj).call(*args, &block)
|
295
278
|
end
|
296
279
|
|
297
|
-
|
298
|
-
|
299
|
-
|
300
|
-
|
301
|
-
file = RbxPath.convert_path_to_full(file)
|
280
|
+
# @param [String] doc The raw docstring to process.
|
281
|
+
# @return [String] Process docstring markup and strip leading white space.
|
282
|
+
def process_doc(doc)
|
283
|
+
process_comment_markup(strip_leading_hash_and_whitespace_from_ruby_comments(doc))
|
302
284
|
end
|
303
285
|
|
304
|
-
[file, line]
|
305
|
-
end
|
306
|
-
|
307
286
|
end
|
308
287
|
end
|
data/pry.gemspec
CHANGED
@@ -2,43 +2,43 @@
|
|
2
2
|
|
3
3
|
Gem::Specification.new do |s|
|
4
4
|
s.name = "pry"
|
5
|
-
s.version = "0.9.
|
5
|
+
s.version = "0.9.10"
|
6
6
|
|
7
7
|
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
8
|
-
s.authors = ["John Mair (banisterfiend)"]
|
9
|
-
s.date = "2012-
|
8
|
+
s.authors = ["John Mair (banisterfiend)", "Conrad Irwin"]
|
9
|
+
s.date = "2012-07-15"
|
10
10
|
s.description = "An IRB alternative and runtime developer console"
|
11
|
-
s.email = "jrmair@gmail.com"
|
11
|
+
s.email = ["jrmair@gmail.com", "conrad.irwin@gmail.com"]
|
12
12
|
s.executables = ["pry"]
|
13
|
-
s.files = [".document", ".gemtest", ".gitignore", ".travis.yml", ".yardopts", "CHANGELOG", "CONTRIBUTORS", "Gemfile", "LICENSE", "README.markdown", "Rakefile", "TODO", "bin/pry", "examples/example_basic.rb", "examples/example_command_override.rb", "examples/example_commands.rb", "examples/example_hooks.rb", "examples/example_image_edit.rb", "examples/example_input.rb", "examples/example_input2.rb", "examples/example_output.rb", "examples/example_print.rb", "examples/example_prompt.rb", "examples/helper.rb", "lib/pry.rb", "lib/pry/cli.rb", "lib/pry/code.rb", "lib/pry/command.rb", "lib/pry/command_set.rb", "lib/pry/commands.rb", "lib/pry/completion.rb", "lib/pry/config.rb", "lib/pry/core_extensions.rb", "lib/pry/custom_completions.rb", "lib/pry/default_commands/cd.rb", "lib/pry/default_commands/commands.rb", "lib/pry/default_commands/context.rb", "lib/pry/default_commands/easter_eggs.rb", "lib/pry/default_commands/editing.rb", "lib/pry/default_commands/find_method.rb", "lib/pry/default_commands/gems.rb", "lib/pry/default_commands/help.rb", "lib/pry/default_commands/hist.rb", "lib/pry/default_commands/input_and_output.rb", "lib/pry/default_commands/introspection.rb", "lib/pry/default_commands/ls.rb", "lib/pry/default_commands/misc.rb", "lib/pry/default_commands/navigating_pry.rb", "lib/pry/extended_commands/experimental.rb", "lib/pry/helpers.rb", "lib/pry/helpers/base_helpers.rb", "lib/pry/helpers/command_helpers.rb", "lib/pry/helpers/documentation_helpers.rb", "lib/pry/helpers/options_helpers.rb", "lib/pry/helpers/text.rb", "lib/pry/history.rb", "lib/pry/history_array.rb", "lib/pry/hooks.rb", "lib/pry/indent.rb", "lib/pry/method.rb", "lib/pry/plugins.rb", "lib/pry/pry_class.rb", "lib/pry/pry_instance.rb", "lib/pry/rbx_method.rb", "lib/pry/rbx_path.rb", "lib/pry/version.rb", "lib/pry/wrapped_module.rb", "man/pry.1", "man/pry.1.html", "man/pry.1.ronn", "pry.gemspec", "test/helper.rb", "test/test_cli.rb", "test/test_code.rb", "test/test_command.rb", "test/test_command_helpers.rb", "test/test_command_integration.rb", "test/test_command_set.rb", "test/test_completion.rb", "test/test_default_commands/test_cd.rb", "test/test_default_commands/test_context.rb", "test/test_default_commands/test_documentation.rb", "test/test_default_commands/test_find_method.rb", "test/test_default_commands/test_gems.rb", "test/test_default_commands/test_help.rb", "test/test_default_commands/test_input.rb", "test/test_default_commands/test_introspection.rb", "test/test_default_commands/test_ls.rb", "test/test_default_commands/test_shell.rb", "test/test_default_commands/test_show_source.rb", "test/test_exception_whitelist.rb", "test/test_history_array.rb", "test/test_hooks.rb", "test/test_indent.rb", "test/test_input_stack.rb", "test/test_method.rb", "test/test_pry.rb", "test/test_pry_defaults.rb", "test/test_pry_history.rb", "test/test_pry_output.rb", "test/test_sticky_locals.rb", "test/test_syntax_checking.rb", "test/test_wrapped_module.rb", "test/testrc", "test/testrcbad", "wiki/Customizing-pry.md", "wiki/Home.md"]
|
13
|
+
s.files = [".document", ".gemtest", ".gitignore", ".travis.yml", ".yardopts", "CHANGELOG", "CONTRIBUTORS", "Gemfile", "LICENSE", "README.markdown", "Rakefile", "TODO", "bin/pry", "examples/example_basic.rb", "examples/example_command_override.rb", "examples/example_commands.rb", "examples/example_hooks.rb", "examples/example_image_edit.rb", "examples/example_input.rb", "examples/example_input2.rb", "examples/example_output.rb", "examples/example_print.rb", "examples/example_prompt.rb", "examples/helper.rb", "lib/pry.rb", "lib/pry/cli.rb", "lib/pry/code.rb", "lib/pry/command.rb", "lib/pry/command_set.rb", "lib/pry/commands.rb", "lib/pry/completion.rb", "lib/pry/config.rb", "lib/pry/core_extensions.rb", "lib/pry/custom_completions.rb", "lib/pry/default_commands/cd.rb", "lib/pry/default_commands/commands.rb", "lib/pry/default_commands/context.rb", "lib/pry/default_commands/easter_eggs.rb", "lib/pry/default_commands/editing.rb", "lib/pry/default_commands/find_method.rb", "lib/pry/default_commands/gems.rb", "lib/pry/default_commands/gist.rb", "lib/pry/default_commands/help.rb", "lib/pry/default_commands/hist.rb", "lib/pry/default_commands/input_and_output.rb", "lib/pry/default_commands/introspection.rb", "lib/pry/default_commands/ls.rb", "lib/pry/default_commands/misc.rb", "lib/pry/default_commands/navigating_pry.rb", "lib/pry/default_commands/whereami.rb", "lib/pry/extended_commands/experimental.rb", "lib/pry/helpers.rb", "lib/pry/helpers/base_helpers.rb", "lib/pry/helpers/command_helpers.rb", "lib/pry/helpers/documentation_helpers.rb", "lib/pry/helpers/options_helpers.rb", "lib/pry/helpers/text.rb", "lib/pry/history.rb", "lib/pry/history_array.rb", "lib/pry/hooks.rb", "lib/pry/indent.rb", "lib/pry/method.rb", "lib/pry/module_candidate.rb", "lib/pry/plugins.rb", "lib/pry/pry_class.rb", "lib/pry/pry_instance.rb", "lib/pry/rbx_method.rb", "lib/pry/rbx_path.rb", "lib/pry/repl_file_loader.rb", "lib/pry/version.rb", "lib/pry/wrapped_module.rb", "man/pry.1", "man/pry.1.html", "man/pry.1.ronn", "pry.gemspec", "test/candidate_helper1.rb", "test/candidate_helper2.rb", "test/helper.rb", "test/test_cli.rb", "test/test_code.rb", "test/test_command.rb", "test/test_command_helpers.rb", "test/test_command_integration.rb", "test/test_command_set.rb", "test/test_completion.rb", "test/test_control_d_handler.rb", "test/test_default_commands/example.erb", "test/test_default_commands/test_cd.rb", "test/test_default_commands/test_context.rb", "test/test_default_commands/test_documentation.rb", "test/test_default_commands/test_find_method.rb", "test/test_default_commands/test_gems.rb", "test/test_default_commands/test_help.rb", "test/test_default_commands/test_input.rb", "test/test_default_commands/test_introspection.rb", "test/test_default_commands/test_ls.rb", "test/test_default_commands/test_shell.rb", "test/test_default_commands/test_show_source.rb", "test/test_exception_whitelist.rb", "test/test_history_array.rb", "test/test_hooks.rb", "test/test_indent.rb", "test/test_input_stack.rb", "test/test_method.rb", "test/test_prompt.rb", "test/test_pry.rb", "test/test_pry_defaults.rb", "test/test_pry_history.rb", "test/test_pry_output.rb", "test/test_sticky_locals.rb", "test/test_syntax_checking.rb", "test/test_wrapped_module.rb", "test/testrc", "test/testrcbad", "wiki/Customizing-pry.md", "wiki/Home.md"]
|
14
14
|
s.homepage = "http://pry.github.com"
|
15
15
|
s.require_paths = ["lib"]
|
16
|
-
s.rubygems_version = "1.8.
|
16
|
+
s.rubygems_version = "1.8.24"
|
17
17
|
s.summary = "An IRB alternative and runtime developer console"
|
18
|
-
s.test_files = ["test/helper.rb", "test/test_cli.rb", "test/test_code.rb", "test/test_command.rb", "test/test_command_helpers.rb", "test/test_command_integration.rb", "test/test_command_set.rb", "test/test_completion.rb", "test/test_default_commands/test_cd.rb", "test/test_default_commands/test_context.rb", "test/test_default_commands/test_documentation.rb", "test/test_default_commands/test_find_method.rb", "test/test_default_commands/test_gems.rb", "test/test_default_commands/test_help.rb", "test/test_default_commands/test_input.rb", "test/test_default_commands/test_introspection.rb", "test/test_default_commands/test_ls.rb", "test/test_default_commands/test_shell.rb", "test/test_default_commands/test_show_source.rb", "test/test_exception_whitelist.rb", "test/test_history_array.rb", "test/test_hooks.rb", "test/test_indent.rb", "test/test_input_stack.rb", "test/test_method.rb", "test/test_pry.rb", "test/test_pry_defaults.rb", "test/test_pry_history.rb", "test/test_pry_output.rb", "test/test_sticky_locals.rb", "test/test_syntax_checking.rb", "test/test_wrapped_module.rb", "test/testrc", "test/testrcbad"]
|
18
|
+
s.test_files = ["test/candidate_helper1.rb", "test/candidate_helper2.rb", "test/helper.rb", "test/test_cli.rb", "test/test_code.rb", "test/test_command.rb", "test/test_command_helpers.rb", "test/test_command_integration.rb", "test/test_command_set.rb", "test/test_completion.rb", "test/test_control_d_handler.rb", "test/test_default_commands/example.erb", "test/test_default_commands/test_cd.rb", "test/test_default_commands/test_context.rb", "test/test_default_commands/test_documentation.rb", "test/test_default_commands/test_find_method.rb", "test/test_default_commands/test_gems.rb", "test/test_default_commands/test_help.rb", "test/test_default_commands/test_input.rb", "test/test_default_commands/test_introspection.rb", "test/test_default_commands/test_ls.rb", "test/test_default_commands/test_shell.rb", "test/test_default_commands/test_show_source.rb", "test/test_exception_whitelist.rb", "test/test_history_array.rb", "test/test_hooks.rb", "test/test_indent.rb", "test/test_input_stack.rb", "test/test_method.rb", "test/test_prompt.rb", "test/test_pry.rb", "test/test_pry_defaults.rb", "test/test_pry_history.rb", "test/test_pry_output.rb", "test/test_sticky_locals.rb", "test/test_syntax_checking.rb", "test/test_wrapped_module.rb", "test/testrc", "test/testrcbad"]
|
19
19
|
|
20
20
|
if s.respond_to? :specification_version then
|
21
21
|
s.specification_version = 3
|
22
22
|
|
23
23
|
if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
|
24
24
|
s.add_runtime_dependency(%q<coderay>, ["~> 1.0.5"])
|
25
|
-
s.add_runtime_dependency(%q<slop>, ["
|
26
|
-
s.add_runtime_dependency(%q<method_source>, ["~> 0.
|
25
|
+
s.add_runtime_dependency(%q<slop>, ["~> 3.3.1"])
|
26
|
+
s.add_runtime_dependency(%q<method_source>, ["~> 0.8"])
|
27
27
|
s.add_development_dependency(%q<bacon>, ["~> 1.1"])
|
28
28
|
s.add_development_dependency(%q<open4>, ["~> 1.3"])
|
29
29
|
s.add_development_dependency(%q<rake>, ["~> 0.9"])
|
30
30
|
else
|
31
31
|
s.add_dependency(%q<coderay>, ["~> 1.0.5"])
|
32
|
-
s.add_dependency(%q<slop>, ["
|
33
|
-
s.add_dependency(%q<method_source>, ["~> 0.
|
32
|
+
s.add_dependency(%q<slop>, ["~> 3.3.1"])
|
33
|
+
s.add_dependency(%q<method_source>, ["~> 0.8"])
|
34
34
|
s.add_dependency(%q<bacon>, ["~> 1.1"])
|
35
35
|
s.add_dependency(%q<open4>, ["~> 1.3"])
|
36
36
|
s.add_dependency(%q<rake>, ["~> 0.9"])
|
37
37
|
end
|
38
38
|
else
|
39
39
|
s.add_dependency(%q<coderay>, ["~> 1.0.5"])
|
40
|
-
s.add_dependency(%q<slop>, ["
|
41
|
-
s.add_dependency(%q<method_source>, ["~> 0.
|
40
|
+
s.add_dependency(%q<slop>, ["~> 3.3.1"])
|
41
|
+
s.add_dependency(%q<method_source>, ["~> 0.8"])
|
42
42
|
s.add_dependency(%q<bacon>, ["~> 1.1"])
|
43
43
|
s.add_dependency(%q<open4>, ["~> 1.3"])
|
44
44
|
s.add_dependency(%q<rake>, ["~> 0.9"])
|
data/test/helper.rb
CHANGED
@@ -8,6 +8,11 @@ puts "Ruby v#{RUBY_VERSION} (#{defined?(RUBY_ENGINE) ? RUBY_ENGINE : "ruby"}), P
|
|
8
8
|
require 'bacon'
|
9
9
|
require 'open4'
|
10
10
|
|
11
|
+
# A global space for storing temporary state during tests.
|
12
|
+
Pad = OpenStruct.new
|
13
|
+
def Pad.clear
|
14
|
+
@table = {}
|
15
|
+
end
|
11
16
|
|
12
17
|
# turn warnings off (esp for Pry::Hooks which will generate warnings
|
13
18
|
# in tests)
|
@@ -46,6 +51,16 @@ class TestClassForShowSource
|
|
46
51
|
end
|
47
52
|
end
|
48
53
|
|
54
|
+
class TestClassForShowSourceClassEval
|
55
|
+
def alpha
|
56
|
+
end
|
57
|
+
end
|
58
|
+
|
59
|
+
class TestClassForShowSourceInstanceEval
|
60
|
+
def alpha
|
61
|
+
end
|
62
|
+
end
|
63
|
+
|
49
64
|
# in case the tests call reset_defaults, ensure we reset them to
|
50
65
|
# amended (test friendly) values
|
51
66
|
class << Pry
|
@@ -56,6 +71,7 @@ class << Pry
|
|
56
71
|
Pry.color = false
|
57
72
|
Pry.pager = false
|
58
73
|
Pry.config.should_load_rc = false
|
74
|
+
Pry.config.should_load_local_rc= false
|
59
75
|
Pry.config.should_load_plugins = false
|
60
76
|
Pry.config.history.should_load = false
|
61
77
|
Pry.config.history.should_save = false
|