Current Path: > > opt > alt > ruby31 > > share > ruby
Operation : Linux premium131.web-hosting.com 4.18.0-553.44.1.lve.el8.x86_64 #1 SMP Thu Mar 13 14:29:12 UTC 2025 x86_64 Software : Apache Server IP : 162.0.232.56 | Your IP: 216.73.216.111 Domains : 1034 Domain(s) Permission : [ 0755 ]
Name | Type | Size | Last Modified | Actions |
---|---|---|---|---|
benchmark | Directory | - | - | |
bigdecimal | Directory | - | - | |
cgi | Directory | - | - | |
csv | Directory | - | - | |
did_you_mean | Directory | - | - | |
digest | Directory | - | - | |
drb | Directory | - | - | |
erb | Directory | - | - | |
error_highlight | Directory | - | - | |
fiddle | Directory | - | - | |
forwardable | Directory | - | - | |
io | Directory | - | - | |
json | Directory | - | - | |
logger | Directory | - | - | |
net | Directory | - | - | |
objspace | Directory | - | - | |
open3 | Directory | - | - | |
openssl | Directory | - | - | |
optparse | Directory | - | - | |
psych | Directory | - | - | |
racc | Directory | - | - | |
random | Directory | - | - | |
reline | Directory | - | - | |
rinda | Directory | - | - | |
ripper | Directory | - | - | |
set | Directory | - | - | |
syslog | Directory | - | - | |
unicode_normalize | Directory | - | - | |
uri | Directory | - | - | |
vendor_ruby | Directory | - | - | |
yaml | Directory | - | - | |
English.rb | File | 6258 bytes | April 28 2025 17:36:08. | |
abbrev.rb | File | 3529 bytes | April 28 2025 17:36:08. | |
base64.rb | File | 3435 bytes | April 28 2025 17:36:07. | |
benchmark.rb | File | 18842 bytes | April 28 2025 17:36:08. | |
bigdecimal.rb | File | 24 bytes | April 28 2025 17:36:08. | |
cgi.rb | File | 10070 bytes | April 28 2025 17:36:08. | |
coverage.rb | File | 368 bytes | April 28 2025 17:36:08. | |
csv.rb | File | 94629 bytes | April 28 2025 17:36:08. | |
date.rb | File | 1130 bytes | April 28 2025 17:36:07. | |
delegate.rb | File | 11961 bytes | April 28 2025 17:36:06. | |
did_you_mean.rb | File | 5440 bytes | April 28 2025 17:36:06. | |
digest.rb | File | 3381 bytes | April 28 2025 17:36:08. | |
drb.rb | File | 50 bytes | April 28 2025 17:36:07. | |
erb.rb | File | 29425 bytes | April 28 2025 17:36:07. | |
error_highlight.rb | File | 84 bytes | April 28 2025 17:36:08. | |
expect.rb | File | 2217 bytes | April 28 2025 17:36:06. | |
fiddle.rb | File | 2162 bytes | April 28 2025 17:36:08. | |
fileutils.rb | File | 48886 bytes | April 28 2025 17:36:06. | |
find.rb | File | 2556 bytes | April 28 2025 17:36:08. | |
forwardable.rb | File | 9199 bytes | April 28 2025 17:36:06. | |
getoptlong.rb | File | 15826 bytes | April 28 2025 17:36:07. | |
ipaddr.rb | File | 21077 bytes | April 28 2025 17:36:06. | |
json.rb | File | 19757 bytes | April 28 2025 17:36:07. | |
kconv.rb | File | 5861 bytes | April 28 2025 17:36:08. | |
logger.rb | File | 16935 bytes | April 28 2025 17:36:08. | |
mkmf.rb | File | 90232 bytes | April 28 2025 17:36:08. | |
monitor.rb | File | 6920 bytes | April 28 2025 17:36:06. | |
mutex_m.rb | File | 2383 bytes | April 28 2025 17:36:08. | |
objspace.rb | File | 2728 bytes | April 28 2025 17:36:07. | |
observer.rb | File | 6532 bytes | April 28 2025 17:36:08. | |
open-uri.rb | File | 25474 bytes | April 28 2025 17:36:08. | |
open3.rb | File | 22640 bytes | April 28 2025 17:36:07. | |
openssl.rb | File | 1052 bytes | April 28 2025 17:36:07. | |
optionparser.rb | File | 59 bytes | April 28 2025 17:36:08. | |
optparse.rb | File | 60227 bytes | April 28 2025 17:36:06. | |
ostruct.rb | File | 14114 bytes | April 28 2025 17:36:06. | |
pathname.rb | File | 16868 bytes | April 28 2025 17:36:07. | |
pp.rb | File | 17094 bytes | April 28 2025 17:36:07. | |
prettyprint.rb | File | 16281 bytes | April 28 2025 17:36:07. | |
pstore.rb | File | 15084 bytes | April 28 2025 17:36:08. | |
psych.rb | File | 25199 bytes | April 28 2025 17:36:06. | |
racc.rb | File | 137 bytes | April 28 2025 17:36:07. | |
readline.rb | File | 189 bytes | April 28 2025 17:36:08. | |
reline.rb | File | 18093 bytes | April 28 2025 17:36:07. | |
resolv-replace.rb | File | 1805 bytes | April 28 2025 17:36:07. | |
resolv.rb | File | 75959 bytes | April 28 2025 17:36:07. | |
ripper.rb | File | 2494 bytes | April 28 2025 17:36:08. | |
securerandom.rb | File | 2112 bytes | April 28 2025 17:36:06. | |
set.rb | File | 26038 bytes | April 28 2025 17:36:08. | |
shellwords.rb | File | 7259 bytes | April 28 2025 17:36:08. | |
singleton.rb | File | 4178 bytes | April 28 2025 17:36:07. | |
socket.rb | File | 44702 bytes | April 28 2025 17:36:07. | |
tempfile.rb | File | 12730 bytes | April 28 2025 17:36:08. | |
time.rb | File | 24287 bytes | April 28 2025 17:36:07. | |
timeout.rb | File | 4171 bytes | April 28 2025 17:36:08. | |
tmpdir.rb | File | 4543 bytes | April 28 2025 17:36:08. | |
tsort.rb | File | 14642 bytes | April 28 2025 17:36:08. | |
un.rb | File | 11323 bytes | April 28 2025 17:36:08. | |
uri.rb | File | 3131 bytes | April 28 2025 17:36:07. | |
weakref.rb | File | 1493 bytes | April 28 2025 17:36:07. | |
yaml.rb | File | 1841 bytes | April 28 2025 17:36:07. |
# frozen_string_literal: true # # tmpdir - retrieve temporary directory path # # $Id$ # require 'fileutils' begin require 'etc.so' rescue LoadError # rescue LoadError for miniruby end class Dir @@systmpdir ||= defined?(Etc.systmpdir) ? Etc.systmpdir : '/tmp' ## # Returns the operating system's temporary file path. def self.tmpdir tmp = nil ['TMPDIR', 'TMP', 'TEMP', ['system temporary path', @@systmpdir], ['/tmp']*2, ['.']*2].each do |name, dir = ENV[name]| next if !dir dir = File.expand_path(dir) stat = File.stat(dir) rescue next case when !stat.directory? warn "#{name} is not a directory: #{dir}" when !stat.writable? warn "#{name} is not writable: #{dir}" when stat.world_writable? && !stat.sticky? warn "#{name} is world-writable: #{dir}" else tmp = dir break end end raise ArgumentError, "could not find a temporary directory" unless tmp tmp end # Dir.mktmpdir creates a temporary directory. # # The directory is created with 0700 permission. # Application should not change the permission to make the temporary directory accessible from other users. # # The prefix and suffix of the name of the directory is specified by # the optional first argument, <i>prefix_suffix</i>. # - If it is not specified or nil, "d" is used as the prefix and no suffix is used. # - If it is a string, it is used as the prefix and no suffix is used. # - If it is an array, first element is used as the prefix and second element is used as a suffix. # # Dir.mktmpdir {|dir| dir is ".../d..." } # Dir.mktmpdir("foo") {|dir| dir is ".../foo..." } # Dir.mktmpdir(["foo", "bar"]) {|dir| dir is ".../foo...bar" } # # The directory is created under Dir.tmpdir or # the optional second argument <i>tmpdir</i> if non-nil value is given. # # Dir.mktmpdir {|dir| dir is "#{Dir.tmpdir}/d..." } # Dir.mktmpdir(nil, "/var/tmp") {|dir| dir is "/var/tmp/d..." } # # If a block is given, # it is yielded with the path of the directory. # The directory and its contents are removed # using FileUtils.remove_entry before Dir.mktmpdir returns. # The value of the block is returned. # # Dir.mktmpdir {|dir| # # use the directory... # open("#{dir}/foo", "w") { something using the file } # } # # If a block is not given, # The path of the directory is returned. # In this case, Dir.mktmpdir doesn't remove the directory. # # dir = Dir.mktmpdir # begin # # use the directory... # open("#{dir}/foo", "w") { something using the file } # ensure # # remove the directory. # FileUtils.remove_entry dir # end # def self.mktmpdir(prefix_suffix=nil, *rest, **options) base = nil path = Tmpname.create(prefix_suffix || "d", *rest, **options) {|path, _, _, d| base = d mkdir(path, 0700) } if block_given? begin yield path.dup ensure unless base stat = File.stat(File.dirname(path)) if stat.world_writable? and !stat.sticky? raise ArgumentError, "parent directory is world writable but not sticky" end end FileUtils.remove_entry path end else path end end module Tmpname # :nodoc: module_function def tmpdir Dir.tmpdir end UNUSABLE_CHARS = "^,-.0-9A-Z_a-z~" class << (RANDOM = Random.new) MAX = 36**6 # < 0x100000000 def next rand(MAX).to_s(36) end end private_constant :RANDOM def create(basename, tmpdir=nil, max_try: nil, **opts) origdir = tmpdir tmpdir ||= tmpdir() n = nil prefix, suffix = basename prefix = (String.try_convert(prefix) or raise ArgumentError, "unexpected prefix: #{prefix.inspect}") prefix = prefix.delete(UNUSABLE_CHARS) suffix &&= (String.try_convert(suffix) or raise ArgumentError, "unexpected suffix: #{suffix.inspect}") suffix &&= suffix.delete(UNUSABLE_CHARS) begin t = Time.now.strftime("%Y%m%d") path = "#{prefix}#{t}-#{$$}-#{RANDOM.next}"\ "#{n ? %[-#{n}] : ''}#{suffix||''}" path = File.join(tmpdir, path) yield(path, n, opts, origdir) rescue Errno::EEXIST n ||= 0 n += 1 retry if !max_try or n < max_try raise "cannot generate temporary name using `#{basename}' under `#{tmpdir}'" end path end end end
SILENT KILLER Tool