FastRI, handling identical class names and methods

D

Daniel Berger

Hi,

FastRI 0.2.1
Ruby 1.8.5
Windows XP

With FastRI (or rather, fri) how do you distinguish a lookup on classes
with identical names and methods (and no namespace to distinguish them)?

For example, I have the Pathname class from the stdlib and my own
Pathname class from the 'pathname2' package. If I do 'fri
Pathname#descend' I get the documentation from the Pathname class in the
stdlib instead of my own. Is there a way to force the issue?

I tried using the -S and -F options, but I received the following error
(with -S):

Couldn't open the full-text index:
C:\Documents and Settings\djberge/.fastri-fulltext/full_text.dat
C:\Documents and Settings\djberge/.fastri-fulltext/suffixes.dat

The index needs to be rebuilt with fastri-server -B

Since I'm runnng FastRI as a service, rebuilding the index may be
problematic at the moment. :) But, even if that did work, I presume it
would give me all the results instead of just the one I'm looking for.

Suggestions?

Thanks,

Dan
 
D

Daniel Berger

Paul said:
Yes, there is. The best solution is to give your own class a different name.
It is not a good idea to use an existing class name for your own classes.

My class is meant as a replacement for the one in the stdlib.

- Dan
 
M

Mauricio Fernandez

With FastRI (or rather, fri) how do you distinguish a lookup on classes
with identical names and methods (and no namespace to distinguish them)?

For example, I have the Pathname class from the stdlib and my own
Pathname class from the 'pathname2' package. If I do 'fri
Pathname#descend' I get the documentation from the Pathname class in the
stdlib instead of my own. Is there a way to force the issue?

What you're getting is the result of merging the documentation from the
Pathname class in the stdlib and that in the gem package, so you'll see
methods defined in both, but for a given method only the description from the
stdlib IIRC (that depends on the way RDoc defines "merging", which is not
commutative). Internally, FastRI knows where a class/module/method came from,
but there's no way to specify the scope of the search at the moment. Once that
functionality is exposed, you'll be able to do
fri --scope pathname2 Pathname
I tried using the -S and -F options, but I received the following error
(with -S):

Couldn't open the full-text index:
C:\Documents and Settings\djberge/.fastri-fulltext/full_text.dat
C:\Documents and Settings\djberge/.fastri-fulltext/suffixes.dat

The index needs to be rebuilt with fastri-server -B

Since I'm runnng FastRI as a service, rebuilding the index may be
problematic at the moment. :) But, even if that did work, I presume it
would give me all the results instead of just the one I'm looking for.

It should work since fastri-server doesn't access the full-text index itself
at the moment. But it would show all the matches (and only the matching lines,
it doesn't show full entries).
 
E

Eric Hodel

When Mr. Gray, a regular in this newsgroup, decided to replace the
standard
CSV management library with his own, he did not call it "CSV" (the
existing
name), he called it "FasterCSV". As I understand it, part of the
reasoning
was his wish to clearly identify his own work, part was a wish not to
create a name collision.

This is just my opinion, reasonable people may differ.

resolv-replace.rb disagrees with you.
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

Forum statistics

Threads
473,968
Messages
2,570,152
Members
46,698
Latest member
LydiaHalle

Latest Threads

Top