[lnkForumImage]
TotalShareware - Download Free Software

Confronta i prezzi di migliaia di prodotti.
Asp Forum
 Home | Login | Register | Search 


 

Forums >

comp.lang.ruby

Feedback on new Path Library

p. Corey

10/11/2007 4:26:00 PM

I created a new Path library (http://pow.rub...) that combines
a lot of the functionality of Dir, FileUtils, File and Pathname into
one with a object centered approach. I'm looking for some feedback to
see if people would find this useful, or if I am the only one that get
frustrated when trying to deal with paths in ruby.

Here are some quick example of how it makes things easier...
File.read(File.join(DIR_CONSTANT, "some_text.txt"))
you be written as
Pow[DIR_CONSTANT, "some_text.txt].read

Or if you wanted to to find the number of files in each sub directory
Pathname.new("/usr/lib/ruby/1.8").children(true).select {|p|
p.directory?}.collect {|d| d.children.length}
you would do
Pow["/usr/lib/ruby/1.8"].directories.collect {|d| d.files.length}

Also if you want to create a nested directory structure you can easily
do that.
Pow["./moar"].create do
Pow["empty_dir"].create

Pow["sub_dir"].create do
Pow["info.txt"].create {|file| file.puts "Here is the info you
desired!"}
end
end

would create...
/moar
/empty_dir
/sub_dir
info.txt

It is still a work in progress so any feedback would be great! I
realize this is all just syntactic sugar, but i find it much easier
than using bits of File, Dir, FileUtils and Pathname all over the
place.

Corey

P.S. Why did I call it Pow? Because it was quick to type and all other
path-type names were taken!

6 Answers

Sharon Rosner

10/11/2007 8:27:00 PM

0

On Oct 11, 6:30 pm, "p. Corey" <probablyCo...@gmail.com> wrote:
> I created a new Path library (http://pow.rub...) that combines
> a lot of the functionality of Dir, FileUtils, File and Pathname into
> one with a object centered approach. I'm looking for some feedback to
> see if people would find this useful, or if I am the only one that get
> frustrated when trying to deal with paths in ruby.

Congrats. This looks very nice!

Sharon


Daniel Berger

10/11/2007 8:51:00 PM

0



On Oct 11, 10:30 am, "p. Corey" <probablyCo...@gmail.com> wrote:
> I created a new Path library (http://pow.rub...) that combines
> a lot of the functionality of Dir, FileUtils, File and Pathname into
> one with a object centered approach. I'm looking for some feedback to
> see if people would find this useful, or if I am the only one that get
> frustrated when trying to deal with paths in ruby.

What does this do that pathname2 doesn't do?

http://raa.ruby-lang.org/project...

Regards,

Dan


p. Corey

10/12/2007 12:18:00 AM

0

> What does this do that pathname2 doesn't do?

Well, Pow does have the nested directory structure creation, but other
than that they both seem to have similar abilities but with a
different style. To be honest, i didn't know pathname2 existed when I
started, so I wasn't trying to rain on anyones parade.

Corey

Marc Heiler

10/12/2007 12:27:00 AM

0

I believe these two competing products (hehe ;> ) demonstrate that the
current solutions for the various Pathname.new File FileUtils Dir and so
on are a little bit cumbersome (to use)
I think you can get the basename with File too or, with less typing than
with the Pathname representation?
--
Posted via http://www.ruby-....

Eric Hodel

10/12/2007 12:33:00 AM

0

On Oct 11, 2007, at 17:26 , Marc Heiler wrote:
> I believe these two competing products (hehe ;> ) demonstrate that the
> current solutions for the various Pathname.new File FileUtils Dir
> and so
> on are a little bit cumbersome (to use)
> I think you can get the basename with File too or, with less typing
> than
> with the Pathname representation?

How is FileUtils cumbersome?

I find it easier than using sh due to FileUtils::Verbose and
FileUtils::DryRun. Replacing RubyGems' setup.rb with a tiny,
debuggable installer was incredibly easy using FileUtils and Dir.

--
Poor workers blame their tools. Good workers build better tools. The
best workers get their tools to do the work for them. -- Syndicate Wars



p. Corey

10/12/2007 12:09:00 PM

0

> I find it easier than using sh due to FileUtils::Verbose and
> FileUtils::DryRun. Replacing RubyGems' setup.rb with a tiny,
> debuggable installer was incredibly easy using FileUtils and Dir.
First off I totally agree with you here, the FileUtils::DryRun and
FileUtils::Verbose are very helpful over sh to do such things. And Pow
does nothing to emulate that great functionality.


> How is FileUtils cumbersome?
Individual FileUtil commands are not cumbersome, but the combination
of them with other methods is. Rarely do I just need mv a predefined
path to a new predefined. First I have to build the src_path using a
combination of File.dirname and File.join, then I have to do the same
with the dest_path as well as mkdir_p'ing it to make sure path
hierarchy exists. When I find myself using FileUtils it usually
involves doing this with multiples files and multiple commands, that's
where it becomes cumbersome. FileUtils just emulates shell commands,
which are great on the command line but archaic compared to the rest
of ruby's syntax and style.