josh
April 1, 2006, 2:41pm
1
Hi all
I’d like Ruby to open a folder, search it for files and then store all
files names of .png files in an array and close the folder. So after
this I can do anything I like with the png files in the array…
How do I do this? Thanks a lot for help.
Joshua
josh
April 1, 2006, 2:50pm
2
On 1 Apr 2006, at 13:41, Joshua M. wrote:
Hi all
I’d like Ruby to open a folder, search it for files and then store all
files names of .png files in an array and close the folder. So after
this I can do anything I like with the png files in the array…
How do I do this? Thanks a lot for help.
Joshua
You’ll want the class Dir, and the class method glob.
png_files = Dir.glob(File.join(path_of_folder, ‘*.png’))
Cheers,
Benj
josh
April 1, 2006, 6:06pm
3
You’ll want the class Dir, and the class method glob.
png_files = Dir.glob(File.join(path_of_folder, ‘*.png’))
Cheers,
Benj
Thank you so far. I’m using this in Ruby on Rails and tried the
following:
@images = Dir.glob(’/images/content/parties/photo_galleries/1/’,
‘*.jpg’)
Sadly this delivers me an empty array, but there are about 20 jpg files
in this folder… :-/
Thanks for help… Josh
josh
April 1, 2006, 6:07pm
4
Ups sorry, it doesn’t return an empty array but the following error:
cannot convert String into Integer
josh
April 1, 2006, 6:27pm
5
On Apr 1, 2006, at 8:06 AM, Joshua M. wrote:
@images = Dir.glob(’/images/content/parties/photo_galleries/1/’,
‘*.jpg’)
Try:
@images = Dir.glob('/images/content/parties/photo_galleries/1/
*.jpg’)
–Steve
josh
April 2, 2006, 12:14am
6
Joshua M. schrieb:
I’d like Ruby to open a folder, search it for files and then store all
files names of .png files in an array and close the folder. So after
this I can do anything I like with the png files in the array…
This is part of a RHTML file for showing all JPEG files as a list:
<% bilder = Dir["*.jpeg"] %>
This is part of a RHTML file for randomly show a picture from a
picture list like above:
<% bilder = Dir["…/*.jpeg"] %>
Daniel
josh
April 4, 2006, 7:54pm
7
Thank you all, guys!
I have now the following array:
/Users/Josh/Webwork/PsyGuide.org/public/…/config/…/public/images/content/parties/photo_galleries/1/2005_10_08_-_claudias_abschieds_party-01.jpg
/Users/Josh/Webwork/PsyGuide.org/public/…/config/…/public/images/content/parties/photo_galleries/1/2005_10_08_-_claudias_abschieds_party-02.jpg
/Users/Josh/Webwork/PsyGuide.org/public/…/config/…/public/images/content/parties/photo_galleries/1/2005_10_08_-_claudias_abschieds_party-03.jpg
/Users/Josh/Webwork/PsyGuide.org/public/…/config/…/public/images/content/parties/photo_galleries/1/2005_10_08_-_claudias_abschieds_party-04.jpg
/Users/Josh/Webwork/PsyGuide.org/public/…/config/…/public/images/content/parties/photo_galleries/1/2005_10_08_-_claudias_abschieds_party-05.jpg
/Users/Josh/Webwork/PsyGuide.org/public/…/config/…/public/images/content/parties/photo_galleries/1/2005_10_08_-_claudias_abschieds_party-06.jpg
/Users/Josh/Webwork/PsyGuide.org/public/…/config/…/public/images/content/parties/photo_galleries/1/2005_10_08_-_claudias_abschieds_party-07.jpg
/Users/Josh/Webwork/PsyGuide.org/public/…/config/…/public/images/content/parties/photo_galleries/1/2005_10_08_-_claudias_abschieds_party-08.jpg
/Users/Josh/Webwork/PsyGuide.org/public/…/config/…/public/images/content/parties/photo_galleries/1/2005_10_08_-_claudias_abschieds_party-09.jpg
/Users/Josh/Webwork/PsyGuide.org/public/…/config/…/public/images/content/parties/photo_galleries/1/2005_10_08_-_claudias_abschieds_party-10.jpg
/Users/Josh/Webwork/PsyGuide.org/public/…/config/…/public/images/content/parties/photo_galleries/1/2005_10_08_-_claudias_abschieds_party-11.jpg
/Users/Josh/Webwork/PsyGuide.org/public/…/config/…/public/images/content/parties/photo_galleries/1/2005_10_08_-_claudias_abschieds_party-12.jpg
/Users/Josh/Webwork/PsyGuide.org/public/…/config/…/public/images/content/parties/photo_galleries/1/2005_10_08_-_claudias_abschieds_party-13.jpg
/Users/Josh/Webwork/PsyGuide.org/public/…/config/…/public/images/content/parties/photo_galleries/1/2005_10_08_-_claudias_abschieds_party-14.jpg
/Users/Josh/Webwork/PsyGuide.org/public/…/config/…/public/images/content/parties/photo_galleries/1/2005_10_08_-_claudias_abschieds_party-15.jpg
/Users/Josh/Webwork/PsyGuide.org/public/…/config/…/public/images/content/parties/photo_galleries/1/2005_10_08_-_claudias_abschieds_party-16.jpg
/Users/Josh/Webwork/PsyGuide.org/public/…/config/…/public/images/content/parties/photo_galleries/1/2005_10_08_-_claudias_abschieds_party-17.jpg
/Users/Josh/Webwork/PsyGuide.org/public/…/config/…/public/images/content/parties/photo_galleries/1/2005_10_08_-_claudias_abschieds_party-18.jpg
/Users/Josh/Webwork/PsyGuide.org/public/…/config/…/public/images/content/parties/photo_galleries/1/2005_10_08_-_claudias_abschieds_party-19.jpg
/Users/Josh/Webwork/PsyGuide.org/public/…/config/…/public/images/content/parties/photo_galleries/1/2005_10_08_-_claudias_abschieds_party-20.jpg
Is there a way to clean the path (I mean the unnecessary “/…”)?
Thanks.
josh
April 2, 2006, 5:29pm
8
This is operating on the actual filesystem, so you have to use real
paths, not the URI for the web application. Try this:
File.join(RAILS_ROOT, ‘public’)
@images = Dir.glob(File.join(RAILS_ROOT,
‘public/images/content/parties/photo_galleries/1/’), ‘*.jpg’)
josh
April 4, 2006, 8:03pm
9
Oh, and how do I cut the RAILS_ROOT away again? So I can use the paths
in the RHTML file again…?
josh
April 4, 2006, 8:46pm
10
You might want to look at Pathname
(http://ruby-doc.org/stdlib/libdoc/pathname/rdoc/classes/Pathname.html )
It wraps alot of the File related libs into a nice package
Cheers
josh
April 4, 2006, 8:06pm
11
On Wed, 5 Apr 2006, Joshua M. wrote:
Is there a way to clean the path (I mean the unnecessary “/…”)?
list_of_paths.map!{|path| File.expand_path path}
-a