Ruby Tips!

RubyのTipsを紹介します

一時ディレクトリを作成する

Rubyで一時ディレクトリを作成するにはtmpdirライブラリが利用できる。timdirライブラリが提供するDir.mktmpdirは、一時ディレクトリを作成するメソッドだ。以下のようにして簡単に一時ディレクトリを作成できる。

require 'tmpdir'
require 'fileutils'

dir = Dir.mktmpdir
p dir #=> "/tmp/d20140323-9126-qfceji"
FileUtils.rm_rf dir # 後始末

引数にはオプションで一時ディレクトリのプリフィックスが指定できる。デフォルトのプリフィックスはdである。

require 'tmpdir'
require 'fileutils'

dir = Dir.mktmpdir("foo")
p dir #=> "/tmp/foo20140323-9136-8m6uug"
FileUtils.rm_rf dir # 後始末

ブロックが与えられると、一時ディレクトリのパスをブロックに渡し、ブロックを抜けると一時ディレクトリを自動的に削除する。

require 'tmpdir'
require 'fileutils'

Dir.mktmpdir{|dir|
  p dir #=> "/tmp/d20140323-9144-110yfpo"
}
# 後始末は不要