sys-filesystem interface advice

D

Daniel Berger

Hi,

I'm going to add the Filesystem.mount_point method. It will simply
return the mount point associated with the given file.

Example:

Filesystem.mount_point('/home/djberge/foo.txt') # => '/home' (RHEL
Linux)

My dilemma is what I should do when I can't find an associated mount
point. For example, the device number for '/dev' on our RHEL box at
work doesn't match the device number of any of the mount points.

Which of these options seems most appropriate?

1 - Return nil
2 - Return '/'
3 - Return itself, e.g. '/dev' would return '/dev'
4 - Raise an error

Suggestions?

Regards,

Dan
 
D

Daniel Berger

Hi,

I'm going to add the Filesystem.mount_point method. It will simply
return the mount point associated with the given file.

Example:

Filesystem.mount_point('/home/djberge/foo.txt') # =3D> '/home' (RHEL
Linux)

My dilemma is what I should do when I can't find an associated mount
point. For example, the device number for '/dev' on our RHEL box at
work doesn't match the device number of any of the mount points.

Which of these options seems most appropriate?

1 - Return nil
2 - Return '/'
3 - Return itself, e.g. '/dev' would return '/dev'
4 - Raise an error

Suggestions?

Well, since no one chimed in, I went with "returns itself".

BTW, I've released sys-filesystem 0.3.0, which now includes support
for FreeBSD and OS X. Thanks go to Nobuyoshi Miyokawa for that.

Regards,

Dan
 
I

Igor Pirnovar

Daniel said:
Well, since no one chimed in, I went with "returns itself".

First, sorry, haven't got a clue what you are talking about. There is no
mounting point specified in your example!? But that is not the reason
for my reply. Rather, I would like to know where did the Filesystem
class came from, and if there is any documentation on this?

However, I do think, returning itself in this case is definitely not the
way to go, raising an error would be my preference!
 
D

Daniel Berger

First, sorry, haven't got a clue what you are talking about. There is no
mounting point specified in your example!?

On our RHEL box, the device id for '/dev' does not match the device id
of any of the mount points.
But that is not the reason
for my reply. Rather, I would like to know where did the Filesystem
class came from, and if there is any documentation on this?

I don't understand your question. It should be visible in the rdoc
generated when you did "gem install sys-filesystem".

Regards,

Dan
 
L

Leo

Well, since no one chimed in, I went with "returns itself".

Just a thought: a return value of nil would make it possible for
users
to opt for return-itself behaviour by using

Filesystem.mount_point(itself = '/home/djberge/foo.txt') || itself

I have no idea which case is be more likely but it seems to me that
returning itself gives users fewer choices. It seems to me that nil
would be more consistent with the usual ruby practice.
 
I

Igor Pirnovar

Daniel said:
I don't understand your question. It should be visible in the rdoc
generated when you did "gem install sys-filesystem".

Thank you for your reply. The "gem install sys-filesystem" was not
obvious to me, instead I thought you may be talking about a new
expansion of standard Ruby classes, modules or interfaces.
 

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

No members online now.

Forum statistics

Threads
474,176
Messages
2,570,950
Members
47,503
Latest member
supremedee

Latest Threads

Top