aboutsummaryrefslogtreecommitdiffstats
path: root/lib/un.rb
diff options
context:
space:
mode:
authornobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2016-06-27 07:55:17 +0000
committernobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2016-06-27 07:55:17 +0000
commitfa68e03dbbd82b81e89099daeb0c70020c6be404 (patch)
tree737f2309dda93c8a3e895b01feb25ba0e9c349e9 /lib/un.rb
parent7d2edb376d8d34630b3a1902f0919a1e56463e2d (diff)
downloadruby-fa68e03dbbd82b81e89099daeb0c70020c6be404.tar.gz
FileUtils#install: owner/group options
* lib/fileutils.rb (FileUtils#install): add owner and group options. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@55512 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'lib/un.rb')
-rw-r--r--lib/un.rb6
1 files changed, 5 insertions, 1 deletions
diff --git a/lib/un.rb b/lib/un.rb
index 9c1ce624a5..54abd74060 100644
--- a/lib/un.rb
+++ b/lib/un.rb
@@ -189,13 +189,17 @@ end
# -p apply access/modification times of SOURCE files to
# corresponding destination files
# -m set permission mode (as in chmod), instead of 0755
+# -o set owner user id, instead of the current owner
+# -g set owner group id, instead of the current group
# -v verbose
#
def install
- setup("pm:") do |argv, options|
+ setup("pm:o:g:") do |argv, options|
options[:mode] = (mode = options.delete :m) ? mode.oct : 0755
options[:preserve] = true if options.delete :p
+ (owner = options.delete :o) and options[:owner] = owner
+ (group = options.delete :g) and options[:group] = group
dest = argv.pop
argv = argv[0] if argv.size == 1
FileUtils.install argv, dest, options