mirror of
https://github.com/ruby/ruby.git
synced 2022-11-09 12:17:21 -05:00
* lib/un.rb: use OptionParser instead of getopts.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@5704 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
parent
34a18bb526
commit
e8262c8f04
2 changed files with 34 additions and 22 deletions
|
@ -1,3 +1,7 @@
|
||||||
|
Sat Feb 14 23:26:27 2004 WATANABE Hirofumi <eban@ruby-lang.org>
|
||||||
|
|
||||||
|
* lib/un.rb: use OptionParser instead of getopts.
|
||||||
|
|
||||||
Sat Feb 14 11:28:14 2004 Masatoshi SEKI <m_seki@mva.biglobe.ne.jp>
|
Sat Feb 14 11:28:14 2004 Masatoshi SEKI <m_seki@mva.biglobe.ne.jp>
|
||||||
|
|
||||||
* sample/drb/*: import lib/drb/sample
|
* sample/drb/*: import lib/drb/sample
|
||||||
|
|
52
lib/un.rb
52
lib/un.rb
|
@ -21,20 +21,19 @@
|
||||||
# ruby -run -e touch -- [OPTION] FILE
|
# ruby -run -e touch -- [OPTION] FILE
|
||||||
# ruby -run -e help [COMMAND]
|
# ruby -run -e help [COMMAND]
|
||||||
|
|
||||||
require 'fileutils'
|
require "fileutils"
|
||||||
require 'getopts'
|
require "optparse"
|
||||||
|
|
||||||
module FileUtils
|
module FileUtils
|
||||||
# @fileutils_label = ''
|
# @fileutils_label = ""
|
||||||
@fileutils_output = $stdout
|
@fileutils_output = $stdout
|
||||||
end
|
end
|
||||||
|
|
||||||
def setup(options = "")
|
def setup(options = "")
|
||||||
options += "v"
|
|
||||||
ARGV.map! do |x|
|
ARGV.map! do |x|
|
||||||
case x
|
case x
|
||||||
when /^-/
|
when /^-/
|
||||||
x.delete "^-#{options}"
|
x.delete "^-#{options}v"
|
||||||
when /[*?\[{]/
|
when /[*?\[{]/
|
||||||
Dir[x]
|
Dir[x]
|
||||||
else
|
else
|
||||||
|
@ -42,13 +41,18 @@ def setup(options = "")
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
ARGV.flatten!
|
ARGV.flatten!
|
||||||
ARGV.delete_if{|x| x == '-'}
|
ARGV.delete_if{|x| x == "-"}
|
||||||
getopts(options)
|
opt_hash = {}
|
||||||
options = {}
|
OptionParser.new do |o|
|
||||||
options[:verbose] = true if $OPT["v"]
|
options.scan(/.:?/) do |s|
|
||||||
options[:force] = true if $OPT["f"]
|
o.on("-" + s.tr(":", " ")) do |val|
|
||||||
options[:preserve] = true if $OPT["p"]
|
opt_hash[s.delete(":").intern] = val
|
||||||
yield ARGV, options, $OPT
|
end
|
||||||
|
end
|
||||||
|
o.on("-v") do opt_hash[:verbose] = true end
|
||||||
|
o.parse!
|
||||||
|
end
|
||||||
|
yield ARGV, opt_hash
|
||||||
end
|
end
|
||||||
|
|
||||||
##
|
##
|
||||||
|
@ -62,9 +66,10 @@ end
|
||||||
#
|
#
|
||||||
|
|
||||||
def cp
|
def cp
|
||||||
setup("pr") do |argv, options, opt|
|
setup("pr") do |argv, options|
|
||||||
cmd = "cp"
|
cmd = "cp"
|
||||||
cmd += "_r" if opt["r"]
|
cmd += "_r" if options.delete :r
|
||||||
|
options[:preserve] = true if options.delete :p
|
||||||
dest = argv.pop
|
dest = argv.pop
|
||||||
argv = argv[0] if argv.size == 1
|
argv = argv[0] if argv.size == 1
|
||||||
FileUtils.send cmd, argv, dest, options
|
FileUtils.send cmd, argv, dest, options
|
||||||
|
@ -82,9 +87,10 @@ end
|
||||||
#
|
#
|
||||||
|
|
||||||
def ln
|
def ln
|
||||||
setup("sf") do |argv, options, opt|
|
setup("sf") do |argv, options|
|
||||||
cmd = "ln"
|
cmd = "ln"
|
||||||
cmd += "_s" if opt["s"]
|
cmd += "_s" if options.delete :s
|
||||||
|
options[:force] = true if options.delete :f
|
||||||
dest = argv.pop
|
dest = argv.pop
|
||||||
argv = argv[0] if argv.size == 1
|
argv = argv[0] if argv.size == 1
|
||||||
FileUtils.send cmd, argv, dest, options
|
FileUtils.send cmd, argv, dest, options
|
||||||
|
@ -118,9 +124,10 @@ end
|
||||||
#
|
#
|
||||||
|
|
||||||
def rm
|
def rm
|
||||||
setup("fr") do |argv, options, opt|
|
setup("fr") do |argv, options|
|
||||||
cmd = "rm"
|
cmd = "rm"
|
||||||
cmd += "_r" if opt["r"]
|
cmd += "_r" if options.delete :r
|
||||||
|
options[:force] = true if options.delete :f
|
||||||
FileUtils.send cmd, argv, options
|
FileUtils.send cmd, argv, options
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
@ -135,9 +142,9 @@ end
|
||||||
#
|
#
|
||||||
|
|
||||||
def mkdir
|
def mkdir
|
||||||
setup("p") do |argv, options, opt|
|
setup("p") do |argv, options|
|
||||||
cmd = "mkdir"
|
cmd = "mkdir"
|
||||||
cmd += "_p" if options.delete :preserve
|
cmd += "_p" if options.delete :p
|
||||||
FileUtils.send cmd, argv, options
|
FileUtils.send cmd, argv, options
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
@ -168,8 +175,9 @@ end
|
||||||
#
|
#
|
||||||
|
|
||||||
def install
|
def install
|
||||||
setup("pm:") do |argv, options, opt|
|
setup("pm:") do |argv, options|
|
||||||
options[:mode] = opt["m"] ? opt["m"].oct : 0755
|
options[:mode] = (mode = options.delete :m) ? mode.oct : 0755
|
||||||
|
options[:preserve] = true if options.delete :p
|
||||||
dest = argv.pop
|
dest = argv.pop
|
||||||
argv = argv[0] if argv.size == 1
|
argv = argv[0] if argv.size == 1
|
||||||
FileUtils.install argv, dest, options
|
FileUtils.install argv, dest, options
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue