2012-08-12 00:22:29 +00:00
|
|
|
class Pry
|
2012-08-12 01:26:59 +00:00
|
|
|
Pry::Commands.create_command "reload-method" do
|
|
|
|
group 'Misc'
|
|
|
|
description "Reload the source file that contains the specified method"
|
2012-08-12 00:22:29 +00:00
|
|
|
|
2012-08-12 01:26:59 +00:00
|
|
|
def process(meth_name)
|
|
|
|
meth = get_method_or_raise(meth_name, target, {}, :omit_help)
|
|
|
|
|
|
|
|
if meth.source_type == :c
|
|
|
|
raise CommandError, "Can't reload a C method."
|
|
|
|
elsif meth.dynamically_defined?
|
|
|
|
raise CommandError, "Can't reload an eval method."
|
|
|
|
else
|
|
|
|
file_name = meth.source_file
|
|
|
|
load file_name
|
|
|
|
output.puts "Reloaded #{file_name}."
|
|
|
|
end
|
2012-08-12 00:22:29 +00:00
|
|
|
end
|
|
|
|
end
|
|
|
|
end
|