method
cp_r
ruby latest stable - Class:
FileUtils
cp_r(src, dest, preserve: nil, noop: nil, verbose: nil, dereference_root: true, remove_destination: nil)public
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/foo/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 dest/src, # but this doesn't.
# File lib/fileutils.rb, line 388
def cp_r(src, dest, preserve: nil, noop: nil, verbose: nil,
dereference_root: true, remove_destination: nil)
fu_output_message "cp -r#{preserve ? 'p' : ''}#{remove_destination ? ' --remove-destination' : ''} #{[src,dest].flatten.join ' '}" if verbose
return if noop
fu_each_src_dest(src, dest) do |s, d|
copy_entry s, d, preserve, dereference_root, remove_destination
end
end