X7ROOT File Manager
Current Path:
/opt/alt/ruby18/lib64/ruby/1.8
opt
/
alt
/
ruby18
/
lib64
/
ruby
/
1.8
/
??
..
??
English.rb
(5.6 KB)
??
Env.rb
(274 B)
??
abbrev.rb
(2.5 KB)
??
base64.rb
(3.37 KB)
??
benchmark.rb
(17.73 KB)
??
bigdecimal
??
cgi
??
cgi-lib.rb
(6.89 KB)
??
cgi.rb
(73.74 KB)
??
complex.rb
(12.84 KB)
??
csv.rb
(24.46 KB)
??
date
??
date.rb
(53.02 KB)
??
date2.rb
(128 B)
??
debug.rb
(20.61 KB)
??
delegate.rb
(8.81 KB)
??
digest
??
digest.rb
(1.12 KB)
??
dl
??
drb
??
drb.rb
(19 B)
??
e2mmap.rb
(4.04 KB)
??
erb.rb
(21.38 KB)
??
eregex.rb
(487 B)
??
expect.rb
(633 B)
??
fileutils.rb
(42.23 KB)
??
finalize.rb
(5.38 KB)
??
find.rb
(1.84 KB)
??
forwardable.rb
(6.16 KB)
??
ftools.rb
(6.17 KB)
??
generator.rb
(8.1 KB)
??
getoptlong.rb
(14.88 KB)
??
getopts.rb
(2.25 KB)
??
gserver.rb
(6.43 KB)
??
importenv.rb
(590 B)
??
io
??
ipaddr.rb
(21.96 KB)
??
irb
??
irb.rb
(7.43 KB)
??
jcode.rb
(4.3 KB)
??
kconv.rb
(8.12 KB)
??
logger.rb
(17.59 KB)
??
mailread.rb
(1.28 KB)
??
mathn.rb
(5.42 KB)
??
matrix.rb
(27.21 KB)
??
md5.rb
(411 B)
??
mkmf.rb
(50.65 KB)
??
monitor.rb
(7.93 KB)
??
mutex_m.rb
(2.07 KB)
??
net
??
observer.rb
(5.15 KB)
??
open-uri.rb
(20.49 KB)
??
open3.rb
(2.1 KB)
??
openssl
??
openssl.rb
(575 B)
??
optparse
??
optparse.rb
(47.12 KB)
??
ostruct.rb
(3.35 KB)
??
parsearg.rb
(1.55 KB)
??
parsedate.rb
(1.33 KB)
??
pathname.rb
(29.39 KB)
??
ping.rb
(1.48 KB)
??
pp.rb
(15.97 KB)
??
prettyprint.rb
(18.33 KB)
??
profile.rb
(90 B)
??
profiler.rb
(1.59 KB)
??
pstore.rb
(11.15 KB)
??
racc
??
rational.rb
(12.05 KB)
??
rdoc
??
readbytes.rb
(835 B)
??
resolv-replace.rb
(1.55 KB)
??
resolv.rb
(56.83 KB)
??
rexml
??
rinda
??
rss
??
rss.rb
(504 B)
??
rubyunit.rb
(180 B)
??
runit
??
scanf.rb
(20.63 KB)
??
securerandom.rb
(4.27 KB)
??
set.rb
(27.08 KB)
??
sha1.rb
(418 B)
??
shell
??
shell.rb
(4.66 KB)
??
shellwords.rb
(3.99 KB)
??
singleton.rb
(8.08 KB)
??
soap
??
sync.rb
(6.09 KB)
??
tempfile.rb
(4.86 KB)
??
test
??
thread.rb
(104 B)
??
thwait.rb
(4.32 KB)
??
time.rb
(31.58 KB)
??
timeout.rb
(3 KB)
??
tmpdir.rb
(3.69 KB)
??
tracer.rb
(2.73 KB)
??
tsort.rb
(7.99 KB)
??
un.rb
(4.54 KB)
??
uri
??
uri.rb
(710 B)
??
weakref.rb
(2.68 KB)
??
webrick
??
webrick.rb
(811 B)
??
wsdl
??
x86_64-linux
??
xmlrpc
??
xsd
??
yaml
??
yaml.rb
(12.36 KB)
Editing: ftools.rb
# # = ftools.rb: Extra tools for the File class # # Author:: WATANABE, Hirofumi # Documentation:: Zachary Landau # # This library can be distributed under the terms of the Ruby license. # You can freely distribute/modify this library. # # It is included in the Ruby standard library. # # == Description # # ftools adds several (class, not instance) methods to the File class, for # copying, moving, deleting, installing, and comparing files, as well as # creating a directory path. See the File class for details. # # FileUtils contains all or nearly all the same functionality and more, and # is a recommended option over ftools # # When you # # require 'ftools' # # then the File class aquires some utility methods for copying, moving, and # deleting files, and more. # # See the method descriptions below, and consider using FileUtils as it is # more comprehensive. # class File end class << File BUFSIZE = 8 * 1024 # # If +to+ is a valid directory, +from+ will be appended to +to+, adding # and escaping backslashes as necessary. Otherwise, +to+ will be returned. # Useful for appending +from+ to +to+ only if the filename was not specified # in +to+. # def catname(from, to) if directory? to join to.sub(%r([/\\]$), ''), basename(from) else to end end # # Copies a file +from+ to +to+. If +to+ is a directory, copies +from+ # to <tt>to/from</tt>. # def syscopy(from, to) to = catname(from, to) fmode = stat(from).mode tpath = to not_exist = !exist?(tpath) from = open(from, "rb") to = open(to, "wb") begin while true to.syswrite from.sysread(BUFSIZE) end rescue EOFError ret = true rescue ret = false ensure to.close from.close end chmod(fmode, tpath) if not_exist ret end # # Copies a file +from+ to +to+ using #syscopy. If +to+ is a directory, # copies +from+ to <tt>to/from</tt>. If +verbose+ is true, <tt>from -> to</tt> # is printed. # def copy(from, to, verbose = false) $stderr.print from, " -> ", catname(from, to), "\n" if verbose syscopy from, to end alias cp copy # # Moves a file +from+ to +to+ using #syscopy. If +to+ is a directory, # copies from +from+ to <tt>to/from</tt>. If +verbose+ is true, <tt>from -> # to</tt> is printed. # def move(from, to, verbose = false) to = catname(from, to) $stderr.print from, " -> ", to, "\n" if verbose if RUBY_PLATFORM =~ /djgpp|(cyg|ms|bcc)win|mingw/ and file? to unlink to end fstat = stat(from) begin rename from, to rescue begin symlink readlink(from), to and unlink from rescue from_stat = stat(from) syscopy from, to and unlink from utime(from_stat.atime, from_stat.mtime, to) begin chown(fstat.uid, fstat.gid, to) rescue end end end end alias mv move # # Returns +true+ if and only if the contents of files +from+ and +to+ are # identical. If +verbose+ is +true+, <tt>from <=> to</tt> is printed. # def compare(from, to, verbose = false) $stderr.print from, " <=> ", to, "\n" if verbose return false if stat(from).size != stat(to).size from = open(from, "rb") to = open(to, "rb") ret = false fr = tr = '' begin while fr == tr fr = from.read(BUFSIZE) if fr tr = to.read(fr.size) else ret = to.read(BUFSIZE) ret = !ret || ret.length == 0 break end end rescue ret = false ensure to.close from.close end ret end alias cmp compare # # Removes a list of files. Each parameter should be the name of the file to # delete. If the last parameter isn't a String, verbose mode will be enabled. # Returns the number of files deleted. # def safe_unlink(*files) verbose = if files[-1].is_a? String then false else files.pop end files.each do |file| begin unlink file $stderr.print "removing ", file, "\n" if verbose rescue Errno::EACCES # for Windows continue if symlink? file begin mode = stat(file).mode o_chmod mode | 0200, file unlink file $stderr.print "removing ", file, "\n" if verbose rescue o_chmod mode, file rescue nil end rescue end end end alias rm_f safe_unlink # # Creates a directory and all its parent directories. # For example, # # File.makedirs '/usr/lib/ruby' # # causes the following directories to be made, if they do not exist. # * /usr # * /usr/lib # * /usr/lib/ruby # # You can pass several directories, each as a parameter. If the last # parameter isn't a String, verbose mode will be enabled. # def makedirs(*dirs) verbose = if dirs[-1].is_a? String then false else dirs.pop end mode = 0755 for dir in dirs parent = dirname(dir) next if parent == dir or directory? dir makedirs parent unless directory? parent $stderr.print "mkdir ", dir, "\n" if verbose if basename(dir) != "" begin Dir.mkdir dir, mode rescue SystemCallError raise unless directory? dir end end end end alias mkpath makedirs alias o_chmod chmod vsave, $VERBOSE = $VERBOSE, false # # Changes permission bits on +files+ to the bit pattern represented # by +mode+. If the last parameter isn't a String, verbose mode will # be enabled. # # File.chmod 0755, 'somecommand' # File.chmod 0644, 'my.rb', 'your.rb', true # def chmod(mode, *files) verbose = if files[-1].is_a? String then false else files.pop end $stderr.printf "chmod %04o %s\n", mode, files.join(" ") if verbose o_chmod mode, *files end $VERBOSE = vsave # # If +src+ is not the same as +dest+, copies it and changes the permission # mode to +mode+. If +dest+ is a directory, destination is <tt>dest/src</tt>. # If +mode+ is not set, default is used. If +verbose+ is set to true, the # name of each file copied will be printed. # def install(from, to, mode = nil, verbose = false) to = catname(from, to) unless exist? to and cmp from, to safe_unlink to if exist? to cp from, to, verbose chmod mode, to, verbose if mode end end end # vi:set sw=2:
Upload File
Create Folder