Skip to content

Commit 82a2b62

Browse files
[DOC] More on cp_r (#87)
* More on cp_r
1 parent c3d92d3 commit 82a2b62

File tree

1 file changed

+43
-20
lines changed

1 file changed

+43
-20
lines changed

lib/fileutils.rb

Lines changed: 43 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -817,9 +817,10 @@ def cp(src, dest, preserve: nil, noop: nil, verbose: nil)
817817
alias copy cp
818818
module_function :copy
819819

820-
# Recursively copies files from +src+ to +dest+.
820+
# Recursively copies files.
821821
#
822-
# Arguments +src+ and +dest+
822+
# Arguments +src+ (a single path or an array of paths)
823+
# and +dest+ (a single path)
823824
# should be {interpretable as paths}[rdoc-ref:FileUtils@Path+Arguments].
824825
#
825826
# If +src+ is the path to a file and +dest+ is not the path to a directory,
@@ -841,31 +842,53 @@ def cp(src, dest, preserve: nil, noop: nil, verbose: nil)
841842
# If +src+ is the path to a directory and +dest+ does not exist,
842843
# recursively copies +src+ to +dest+:
843844
#
844-
# FileUtils.mkdir_p(['src2/dir0', 'src2/dir1'])
845-
# FileUtils.touch('src2/dir0/src0.txt')
846-
# FileUtils.touch('src2/dir0/src1.txt')
847-
# FileUtils.touch('src2/dir1/src2.txt')
848-
# FileUtils.touch('src2/dir1/src3.txt')
845+
# tree('src2')
846+
# src2
847+
# |-- dir0
848+
# | |-- src0.txt
849+
# | `-- src1.txt
850+
# `-- dir1
851+
# |-- src2.txt
852+
# `-- src3.txt
853+
# FileUtils.exist?('dest2') # => false
854+
#
849855
# FileUtils.cp_r('src2', 'dest2')
850-
# File.exist?('dest2/dir0/src0.txt') # => true
851-
# File.exist?('dest2/dir0/src1.txt') # => true
852-
# File.exist?('dest2/dir1/src2.txt') # => true
853-
# File.exist?('dest2/dir1/src3.txt') # => true
856+
# tree('dest2')
857+
# dest2
858+
# |-- dir0
859+
# | |-- src0.txt
860+
# | `-- src1.txt
861+
# `-- dir1
862+
# |-- src2.txt
863+
# `-- src3.txt
854864
#
855865
# If +src+ and +dest+ are paths to directories,
856866
# recursively copies +src+ to <tt>dest/src</tt>:
857867
#
858-
# FileUtils.mkdir_p(['src3/dir0', 'src3/dir1'])
859-
# FileUtils.touch('src3/dir0/src0.txt')
860-
# FileUtils.touch('src3/dir0/src1.txt')
861-
# FileUtils.touch('src3/dir1/src2.txt')
862-
# FileUtils.touch('src3/dir1/src3.txt')
868+
# tree('src3')
869+
# src3
870+
# |-- dir0
871+
# | |-- src0.txt
872+
# | `-- src1.txt
873+
# `-- dir1
874+
# |-- src2.txt
875+
# `-- src3.txt
863876
# FileUtils.mkdir('dest3')
877+
#
864878
# FileUtils.cp_r('src3', 'dest3')
865-
# File.exist?('dest3/src3/dir0/src0.txt') # => true
866-
# File.exist?('dest3/src3/dir0/src1.txt') # => true
867-
# File.exist?('dest3/src3/dir1/src2.txt') # => true
868-
# File.exist?('dest3/src3/dir1/src3.txt') # => true
879+
# tree('dest3')
880+
# dest3
881+
# `-- src3
882+
# |-- dir0
883+
# | |-- src0.txt
884+
# | `-- src1.txt
885+
# `-- dir1
886+
# |-- src2.txt
887+
# `-- src3.txt
888+
#
889+
# If +src+ is an array of paths and +dest+ is a directory,
890+
# recursively copies from each path in +src+ to +dest+;
891+
# the paths in +src+ may point to files and/or directories.
869892
#
870893
# Keyword arguments:
871894
#

0 commit comments

Comments
 (0)