summaryrefslogtreecommitdiff
path: root/lib/fileutils.rb
diff options
context:
space:
mode:
authorBurdetteLamar <burdettelamar@yahoo.com>2022-05-11 08:48:19 -0700
committergit <svn-admin@ruby-lang.org>2022-05-12 04:11:50 +0900
commitdbca60c58d3bd34a855b10a40e8f086296efe426 (patch)
treea01f5957673dacc768d6eb5fea874dc3b92f8714 /lib/fileutils.rb
parent4da0f7a7f565c252f7a031472b796410ab8d5ac1 (diff)
downloadruby-dbca60c58d3bd34a855b10a40e8f086296efe426.tar.gz
[ruby/fileutils] Enhanced RDoc for FileUtils
https://github.com/ruby/fileutils/commit/a0ea474214
Diffstat (limited to 'lib/fileutils.rb')
-rw-r--r--lib/fileutils.rb66
1 files changed, 52 insertions, 14 deletions
diff --git a/lib/fileutils.rb b/lib/fileutils.rb
index c987909ffb..575f1f84ec 100644
--- a/lib/fileutils.rb
+++ b/lib/fileutils.rb
@@ -236,19 +236,35 @@ module FileUtils
module_function :mkdir
#
- # Creates a directory and all its parent directories.
- # For example,
+ # Creates directories at the paths in the given +list+
+ # (an array of strings or a single string),
+ # also creating ancestor directories as needed;
+ # returns +list+.
+ #
+ # With no keyword arguments, creates a directory at each +path+ in +list+,
+ # along with any needed ancestor directories,
+ # by calling: <tt>Dir.mkdir(path, mode)</tt>;
+ # see {Dir.mkdir}[https://docs.ruby-lang.org/en/master/Dir.html#method-c-mkdir]:
+ #
+ # FileUtils.mkdir_p(%w[tmp0/tmp1 tmp2/tmp3]) # => ["tmp0/tmp1", "tmp2/tmp3"]
+ # FileUtils.mkdir_p('tmp4/tmp5') # => ["tmp4/tmp5"]
+ #
+ # Keyword arguments:
+ #
+ # - <tt>mode: <i>integer</i></tt> - also calls <tt>File.chmod(mode, path)</tt>;
+ # see {File.chmod}[https://docs.ruby-lang.org/en/master/File.html#method-c-chmod].
+ # - <tt>noop: true</tt> - does not create directories.
+ # - <tt>verbose: true</tt> - prints an equivalent command:
#
- # FileUtils.mkdir_p '/usr/local/lib/ruby'
+ # FileUtils.mkdir_p(%w[tmp0 tmp1], verbose: true)
+ # FileUtils.mkdir_p(%w[tmp2 tmp3], mode: 0700, verbose: true)
#
- # causes to make following directories, if they do not exist.
+ # Output:
#
- # * /usr
- # * /usr/local
- # * /usr/local/lib
- # * /usr/local/lib/ruby
+ # mkdir -p tmp0 tmp1
+ # mkdir -p -m 700 tmp2 tmp3
#
- # You can pass several directories at a time in a list.
+ # Raises an exception if for any reason a directory cannot be created.
#
def mkdir_p(list, mode: nil, noop: nil, verbose: nil)
list = fu_list(list)
@@ -293,12 +309,34 @@ module FileUtils
private_module_function :fu_mkdir
#
- # Removes one or more directories.
+ # Removes directories at the paths in the given +list+
+ # (an array of strings or a single string);
+ # returns +list+.
+ #
+ # With no keyword arguments, removes the directory at each +path+ in +list+,
+ # by calling: <tt>Dir.rmdir(path, mode)</tt>;
+ # see {Dir.rmdir}[https://docs.ruby-lang.org/en/master/Dir.html#method-c-rmdir]:
+ #
+ # FileUtils.rmdir(%w[tmp0/tmp1 tmp2/tmp3]) # => ["tmp0/tmp1", "tmp2/tmp3"]
+ # FileUtils.rmdir('tmp4/tmp5') # => ["tmp4/tmp5"]
+ #
+ # Keyword arguments:
+ #
+ # - <tt>parents: true</tt> - removes successive ancestor directories
+ # if empty.
+ # - <tt>noop: true</tt> - does not remove directories.
+ # - <tt>verbose: true</tt> - prints an equivalent command:
+ #
+ # FileUtils.rmdir(%w[tmp0/tmp1 tmp2/tmp3], parents: true, verbose: true)
+ # FileUtils.rmdir('tmp4/tmp5', parents: true, verbose: true)
+ #
+ # Output:
+ #
+ # rmdir -p tmp0/tmp1 tmp2/tmp3
+ # rmdir -p tmp4/tmp5
#
- # FileUtils.rmdir 'somedir'
- # FileUtils.rmdir %w(somedir anydir otherdir)
- # # Does not really remove directory; outputs message.
- # FileUtils.rmdir 'somedir', verbose: true, noop: true
+ # Raises an exception if a directory does not exist
+ # or if for any reason a directory cannot be removed.
#
def rmdir(list, parents: nil, noop: nil, verbose: nil)
list = fu_list(list)