Method: FileUtils#cp_r
- Defined in:
- lib/fileutils.rb
#cp_r(src, dest, options = {}) ⇒ Object (private)
Options: preserve noop verbose dereference_root remove_destination
Copies src to dest. If src is a directory, this method copies all its contents recursively. If dest is a directory, copies src to dest/src.
src can be a list of files.
# Installing ruby library "mylib" under the site_ruby
FileUtils.rm_r site_ruby + '/mylib', :force
FileUtils.cp_r 'lib/', site_ruby + '/mylib'
# Examples of copying several files to target directory.
FileUtils.cp_r %w(mail.rb field.rb debug/), site_ruby + '/tmail'
FileUtils.cp_r Dir.glob('*.rb'), '/home/aamine/lib/ruby', :noop => true, :verbose => true
# If you want to copy all contents of a directory instead of the
# directory itself, c.f. src/x -> dest/x, src/y -> dest/y,
# use following code.
FileUtils.cp_r 'src/.', 'dest' # cp_r('src', 'dest') makes src/dest,
# but this doesn't.
417 418 419 420 421 422 423 424 425 |
# File 'lib/fileutils.rb', line 417 def cp_r(src, dest, = {}) , OPT_TABLE['cp_r'] "cp -r#{options[:preserve] ? 'p' : ''}#{options[:remove_destination] ? ' --remove-destination' : ''} #{[src,dest].flatten.join ' '}" if [:verbose] return if [:noop] [:dereference_root] = true unless .key?(:dereference_root) fu_each_src_dest(src, dest) do |s, d| copy_entry s, d, [:preserve], [:dereference_root], [:remove_destination] end end |