* kwatch <kwatch / lycos.jp> [020228 01:38]:
> "roktas" <roktas / omu.edu.tr> wrote in message news:<20020225143216.A1028 / WIN2K>...
> > * kwatch <kwatch / lycos.jp> [020225 14:20]:
> > > If you know how to copy a directory recursively with ruby,
> > > please teach me.
> > > I can't find method like 'copy' or 'xcopy' in Dir class.
> > 
> > How about this one? (`recursive file copy routine` from rubycook)
> > 
> > http://www.rubycookbook.org/showrecipe.rb?recipeID=36
> > 
> 
> 
> Thanks roktas,
> You means that ruby doesn't have directory-copy routine or method, don't you?
> 
> Routine which roktas introduced can work fine if
> 	cp_r("/some/where/dir", "dir2")
> but does not work if
> 	cp_r("dir", "dir2")
> 
> 
> So, I wrote a directory-copy routine named 'xcopy':
> ------------------------------------------------
> ###
> ### xcopy(src, dest)
> ###
> def xcopy(src, dest)
>     if (test(?d, src))
>         # copy directory
>         if test(?e, dest)
>             ## should I raise exception?
>             print "Error: file or directory '#{dest}' already exist.\n"
>             return false
>         else
>             Dir.mkdir(dest)
>         end
>         Dir.foreach(src){|f|
>             next if (f == '.' || f == '..')
>             xcopy("#{src}/#{f}", "#{dest}/#{f}")
>         }
>     else
>         # copy file
>         begin
>             src_f = open(src)
>             dest_f = open(dest, "w")
>             dest_f.write(src_f.read)
>         ensure
>             src_f.close if src_f
>             dest_f.close if dest_f
>         end
>     end
> end
> ------------------------------------------------
> 
> 
> There are some problems on this routine:
>  * it is procedural, not object-oriented
>  * cannot think of permission
>  * if file is very large, code 'dest_f.write(src_f.read)' will require
>    very large memory.
> 
> 
> Tell me your advice if you have a good idea and enough time :-)
> 
> 
> Regards,
> kwatch

Hello,

As far as I know: Yes, there is no dir-copy routines in the built-in lib.
Unfortunately, I am new to Ruby :( (like you?) Of course I have enough
time, but seeing and respecting all those gurus walking around here, I
am not the right person to advise (at least for the moment). Hope,
someone will follow the thread and feed the required help :) BTW, have
you tried to get help from the original site (rubycookbook, I mean)?
Anyway, I am going to examine the problem. Regards,

-- 
roktas