Excellent.  Thanks for the help.  I should have known better...

Josh

On 9/7/05, Robert Klemme <bob.news / gmx.net> wrote:
> Josh Charles <josh.charles / gmail.com> wrote:
> > I have a bit of code I'm working on where I need to seperate the
> > directories from the files.  Currently, it's processing the first
> > three properly and skipping the rest.
> >
> > I'm running this on windows.
> >
> > Here is the code:
> >
> > def GetFolders
> >   rtn = ""
> >   Dir.foreach( @userFilePath ) do |x|
> > if  FileTest.directory?( x )
> >     rtn += "<Folder name=\"" + x + "\"  />" unless x <= ".."
> > end
> >    end
> >    return rtn
> > end
> >
> > def GetFiles
> >   rtn = ""
> >   Dir.foreach( @userFilePath ) do |x|
> >     rtn += "<File name=\"" + x + "\" size=\"000\" />" unless
> > FileTest.directory?(  x )
> >   end
> >   return rtn
> > end
> >
> > It gives the output of:
> >
> > <Folders>
> > <Folder name="test"/>
> > </Folders>
> > <Files>
> > <File name="404.html" size="000"/>
> > <File name="500.html" size="000"/>
> > <File name="asdf" size="000"/>
> > <File name="asdnt.txt" size="000"/>
> > <File name="silk" size="000"/>
> > <File name="thingy.html" size="000"/>
> > </Files>
> >
> > The actual directory contains:
> >
> > <DIR>          .
> > <DIR>          ..
> > <FILE>    404.html
> > <FILE>    500.html
> > <DIR>          asdf
> > <FILE>    asdnt.txt
> > <DIR>          silk
> >  <DIR>          test
> > <FILE>    thingy.html
> > 4 File(s)            567 bytes
> > 5 Dir(s)  22,350,041,088 bytes free
> >
> > I'm still learning ruby, so I've probably written something
> > incorrectly...
> 
> You're testing relative file names only while you want absolute file names:
> 
> def GetFolders
>   rtn = ""
>   Dir.foreach( @userFilePath ) do |x|
>      if  FileTest.directory?( File.join( @userFilePath, x ) )
>        rtn << "<Folder name=\"" + x + "\"  />" unless x <= ".."
>      end
>   end
>   return rtn
> end
> 
> Kind regards
> 
>     robert
> 
> 
>