mirror of
https://github.com/pry/pry.git
synced 2022-11-09 12:35:05 -05:00
Enable show-source for procs stored in constants
This commit is contained in:
parent
eb73b23245
commit
2366446430
2 changed files with 9 additions and 3 deletions
|
@ -28,7 +28,7 @@ class Pry
|
|||
def input_type(input,target)
|
||||
if input == ""
|
||||
:blank
|
||||
elsif target.eval("defined? #{input} ") =~ /variable/ &&
|
||||
elsif target.eval("defined? #{input} ") =~ /variable|constant/ &&
|
||||
target.eval(input).respond_to?(:source_location)
|
||||
:sourcable_object
|
||||
elsif Pry::Method.from_str(input,target)
|
||||
|
|
|
@ -206,11 +206,17 @@ if !mri18_and_no_real_source_location?
|
|||
end
|
||||
end
|
||||
|
||||
it "should output source for procs/lambdas" do
|
||||
it "should output source for procs/lambdas stored in variables" do
|
||||
hello = proc { puts 'hello world!' }
|
||||
mock_pry(binding, "show-source hello").should =~ /proc { puts 'hello world!' }/
|
||||
end
|
||||
|
||||
it "should output source for procs/lambdas stored in constants" do
|
||||
HELLO = proc { puts 'hello world!' }
|
||||
mock_pry(binding, "show-source HELLO").should =~ /proc { puts 'hello world!' }/
|
||||
Object.remove_const(:HELLO)
|
||||
end
|
||||
|
||||
it "should output source for method objects" do
|
||||
def @o.hi; puts 'hi world'; end
|
||||
meth = @o.method(:hi)
|
||||
|
|
Loading…
Reference in a new issue