summaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorNobuyoshi Nakada <nobu@ruby-lang.org>2019-06-21 23:03:36 +0900
committerNobuyoshi Nakada <nobu@ruby-lang.org>2019-06-21 23:04:34 +0900
commit1c7e303b26090205f393595f15dadddd4b2d31b6 (patch)
tree402fdbab9cf9a6feee621be7442d3409f333ca1d /lib
parent551ef27490bf380e46453846c040b48596f34a6a (diff)
Constified unusable chars
Diffstat (limited to 'lib')
-rw-r--r--lib/tmpdir.rb6
1 files changed, 4 insertions, 2 deletions
diff --git a/lib/tmpdir.rb b/lib/tmpdir.rb
index 87e53a83be..05e74eb523 100644
--- a/lib/tmpdir.rb
+++ b/lib/tmpdir.rb
@@ -112,6 +112,8 @@ class Dir
Dir.tmpdir
end
+ UNUSABLE_CHARS = [File::SEPARATOR, File::ALT_SEPARATOR, File::PATH_SEPARATOR, ":"].uniq.join("").freeze
+
def create(basename, tmpdir=nil, max_try: nil, **opts)
if $SAFE > 0 and tmpdir.tainted?
tmpdir = '/tmp'
@@ -123,10 +125,10 @@ class Dir
prefix, suffix = basename
prefix = (String.try_convert(prefix) or
raise ArgumentError, "unexpected prefix: #{prefix.inspect}")
- prefix = prefix.delete("#{File::SEPARATOR}#{File::ALT_SEPARATOR}")
+ prefix = prefix.delete(UNUSABLE_CHARS)
suffix &&= (String.try_convert(suffix) or
raise ArgumentError, "unexpected suffix: #{suffix.inspect}")
- suffix &&= suffix.delete("#{File::SEPARATOR}#{File::ALT_SEPARATOR}")
+ suffix &&= suffix.delete(UNUSABLE_CHARS)
begin
t = Time.now.strftime("%Y%m%d")
path = "#{prefix}#{t}-#{$$}-#{rand(0x100000000).to_s(36)}"\