> Hi everyone
> I wrote a simple patch for the ri Ruby documentation viewer that makes
> to easier to look up ambiguous methods. Please check it out and send
> or post me feedback.
> Here's the link:
>http://danielchoi.com/software/ri-enhanced.html
I had that ambiguous lookup problem yesterday!
This is great.
Here's a patch for your patch that (hopefully always) shows the version
of the gem which holds the method:
entries.each_with_index do |m, i|
version = m.path_name.split(File::SEPARATOR)[7]
STDOUT.puts "%2d %s (%s)" % [i+1, m.full_name, version]
end
Now can you make it work with qri?
Les
Thanks for the suggestion!
I tried your patch and it work right for me, I think because the Ruby
file paths are different on OS X than on your system.
I got the following output:
spartan:~ choi$ ri find
More than one method matched your request. Type the number
of the method you want, or press Return to cancel:
1 Enumerable#find (usr)
2 Find#find (usr)
3 IRB::Locale#find (usr)
4 Pathname#find (usr)
5 Rinda::TupleBag#find (usr)
6 XML::Document#find (usr)
7 XML::Node#find (usr)
8 XML::XPath::find (usr)
9 ActiveRecord::Base::find (usr)
10 ActiveRecord::Base::find (ri)
11 ActiveRecord::Base::find (ri)
12 ActiveSupport::Callbacks::CallbackChain#find (ri)
13 Daemons::Monitor::find (usr)
14 Daemons::Monitor::find (usr)
15 Daemons::Monitor::find (ri)
16 Gem::GemPathSearcher#find (usr)
17 ActiveResource::Base::find (ri)
18 Spec::Story::StepGroup#find (ri)
19 Spec::Story::StepMother#find (ri)
20 EnumerablePass#find (ri)
21 PathList::Finder#find (ri)
So I changed your patch a little to this:
entries.each_with_index do |m, i|
# Assume that a gem version is always formatted like 2.0.2
match_data = /-(\d+\.\d+\.\d+)/.match(m.path_name)
version_string = match_data ? " (#{match_data[1]})" : nil
STDOUT.puts "%2d %s%s" % [i+1, m.full_name, version_string]
end
Now the output is right:
spartan:~ choi$ ri find
More than one method matched your request. Type the number
of the method you want, or press Return to cancel:
1 Enumerable#find
2 Find#find
3 IRB::Locale#find
4 Pathname#find
5 Rinda::TupleBag#find
6 XML::Document#find (0.3.8)
7 XML::Node#find (0.3.8)
8 XML::XPath::find (0.3.8)
9 ActiveRecord::Base::find (1.15.6)
10 ActiveRecord::Base::find (2.0.2)
11 ActiveRecord::Base::find (2.1.0)
12 ActiveSupport::Callbacks::CallbackChain#find (2.1.0)
13 Daemons::Monitor::find (1.0.7)
14 Daemons::Monitor::find (1.0.9)
15 Daemons::Monitor::find (1.0.10)
16 Gem::GemPathSearcher#find (1.0.1)
17 ActiveResource::Base::find (2.0.2)
18 Spec::Story::StepGroup#find (1.1.4)
19 Spec::Story::StepMother#find (1.1.4)
20 EnumerablePass#find (2.4.1)
21 PathList::Finder#find (2.4.1)
Please let me know if this works on your system too. I'm going to add
this to my patch and credit you. Thanks Les,
Dan
···
On Jun 13, 5:07 am, Leslie Viljoen <leslievilj...@gmail.com> wrote:
On Thu, Jun 12, 2008 at 8:39 PM,DanielChoi<dhc...@gmail.com> wrote: