From 858f7d3b88ee79e1f66e15554d7b795d3b163842 Mon Sep 17 00:00:00 2001 From: Danielle Sucher Date: Fri, 6 Sep 2013 14:58:12 -0700 Subject: [PATCH] Show method docs for Foo() and class docs for Foo --- lib/pry/code_object.rb | 6 +++--- spec/code_object_spec.rb | 8 +++++++- 2 files changed, 10 insertions(+), 4 deletions(-) diff --git a/lib/pry/code_object.rb b/lib/pry/code_object.rb index ee42934c..8e50b6a7 100644 --- a/lib/pry/code_object.rb +++ b/lib/pry/code_object.rb @@ -119,10 +119,10 @@ class Pry return nil if str.to_s.empty? obj = case str - when /::(?:\S+)\Z/ - Pry::WrappedModule.from_str(str,target) || Pry::Method.from_str(str, target) + when /\S+\(\)\z/ + Pry::Method.from_str(str.sub(/\(\)\z/, ''),target) || Pry::WrappedModule.from_str(str, target) else - Pry::Method.from_str(str,target) || Pry::WrappedModule.from_str(str, target) + Pry::WrappedModule.from_str(str,target) || Pry::Method.from_str(str, target) end lookup_super(obj, super_level) diff --git a/spec/code_object_spec.rb b/spec/code_object_spec.rb index 26a51acf..28cc1441 100644 --- a/spec/code_object_spec.rb +++ b/spec/code_object_spec.rb @@ -244,8 +244,14 @@ describe Pry::CodeObject do Object.remove_method(:ClassyWassy) end - it 'should look up methods before classes (at top-level)' do + it 'should look up classes before methods (at top-level)' do m = Pry::CodeObject.lookup("ClassyWassy", @p) + m.is_a?(Pry::WrappedModule).should == true + m.source.should =~ /piggy/ + end + + it 'should look up methods before classes when ending in () (at top-level)' do + m = Pry::CodeObject.lookup("ClassyWassy()", @p) m.is_a?(Pry::Method).should == true m.source.should =~ /ducky/ end