種類
- 特異メソッド (84)
- モジュール関数 (24)
- インスタンスメソッド (24)
- 文書 (12)
クラス
- Dir (24)
- Tempfile (24)
-
Zlib
:: GzipWriter (60)
モジュール
- FileTest (24)
キーワード
- close (12)
- close! (12)
- directory? (12)
- identical? (12)
- mktmpdir (24)
- new (12)
- wrap (24)
- セキュリティモデル (12)
検索結果
先頭5件
- FileTest
. # directory?(file) -> bool - FileTest
. # identical?(file1 , file2) -> bool - Zlib
:: GzipWriter . open(filename , level = Zlib :: DEFAULT _ COMPRESSION , strategy = Zlib :: DEFAULT _ STRATEGY) -> Zlib :: GzipWriter - Zlib
:: GzipWriter . open(filename , level = Zlib :: DEFAULT _ COMPRESSION , strategy = Zlib :: DEFAULT _ STRATEGY) {|gz| . . . } -> object - Dir
. mktmpdir(prefix _ suffix = nil , tmpdir = nil) -> String
-
FileTest
. # directory?(file) -> bool (21030.0) -
ファイルがディレクトリの時に真を返します。そうでない場合、ファイルが存在しない場合、あるいはシステムコールに失敗した場合などには false を返します。
...ブジェクト file が既に close されていた場合に発生します。
例:
FileTest.directory?('/etc') # => true
FileTest.directory?('/etc/passwd') # => false
f = File.open('/etc')
FileTest.directory?(f) # => true
f.close
FileTest.directory?(f) # => IOError: closed stream... -
FileTest
. # identical?(file1 , file2) -> bool (21012.0) -
file1 と file2 が同じファイルを指している時に真を返します。 そうでない場合、ファイルが存在しない場合、あるいはシステムコールに失敗した場合などには false を返します。
...使ってください。
open("a", "w") {}
p File.identical?("a", "a") #=> true
p File.identical?("a", "./a") #=> true
File.link("a", "b")
p File.identical?("a", "b") #=> true
File.symlink("a", "c")
p File.identical?("a", "c") #=> true
open("d", "w") {}
p File.id... -
Zlib
:: GzipWriter . open(filename , level = Zlib :: DEFAULT _ COMPRESSION , strategy = Zlib :: DEFAULT _ STRATEGY) -> Zlib :: GzipWriter (18114.0) -
filename で指定されるファイルを gzip 圧縮データの 書き出し用にオープンします。GzipWriter オブジェクトを返します。 その他詳細は Zlib::GzipWriter.new や Zlib::GzipWriter.wrap と 同じです。
...FFMAN_ONLY, Zlib::DEFAULT_STRATEGYなど指定します。
詳細はzlib.h を参照してください。
require 'zlib'
filename='hoge1.gz'
gz = Zlib::GzipWriter.open(filename)
gz.puts "hogehoge" * 100
gz.close
p gz.closed? #=> true
p FileTest.size(filename) #=> 32... -
Zlib
:: GzipWriter . open(filename , level = Zlib :: DEFAULT _ COMPRESSION , strategy = Zlib :: DEFAULT _ STRATEGY) {|gz| . . . } -> object (18114.0) -
filename で指定されるファイルを gzip 圧縮データの 書き出し用にオープンします。GzipWriter オブジェクトを返します。 その他詳細は Zlib::GzipWriter.new や Zlib::GzipWriter.wrap と 同じです。
...FFMAN_ONLY, Zlib::DEFAULT_STRATEGYなど指定します。
詳細はzlib.h を参照してください。
require 'zlib'
filename='hoge1.gz'
gz = Zlib::GzipWriter.open(filename)
gz.puts "hogehoge" * 100
gz.close
p gz.closed? #=> true
p FileTest.size(filename) #=> 32... -
Dir
. mktmpdir(prefix _ suffix = nil , tmpdir = nil) -> String (24.0) -
一時ディレクトリを作成します。
...memory_dir = nil
Dir.mktmpdir {|dir|
memory_dir = dir
File.open("#{dir}/foo", "w") { |fp|
fp.puts "hogehoge"
}
}
# ブロックを抜けたら、テンポラリディレクトリは消される。
p FileTest.directory?(memory_dir) #=> false
dir = Dir.mktmpdir
# ブロ......ックを与えない場合は、ディレクトリは存在する。
begin
File.open("#{dir}/foo", "w") { |fp|
fp.puts "hogehoge"
}
ensure
FileUtils.remove_entry_secure dir
end
p FileTest.directory?(dir) #=> false
@raise ArgumentError tmpdirが全てのユーザから書... -
Dir
. mktmpdir(prefix _ suffix = nil , tmpdir = nil) {|dir| . . . } -> object (24.0) -
一時ディレクトリを作成します。
...memory_dir = nil
Dir.mktmpdir {|dir|
memory_dir = dir
File.open("#{dir}/foo", "w") { |fp|
fp.puts "hogehoge"
}
}
# ブロックを抜けたら、テンポラリディレクトリは消される。
p FileTest.directory?(memory_dir) #=> false
dir = Dir.mktmpdir
# ブロ......ックを与えない場合は、ディレクトリは存在する。
begin
File.open("#{dir}/foo", "w") { |fp|
fp.puts "hogehoge"
}
ensure
FileUtils.remove_entry_secure dir
end
p FileTest.directory?(dir) #=> false
@raise ArgumentError tmpdirが全てのユーザから書... -
Zlib
:: GzipWriter . wrap(io , level = Zlib :: DEFAULT _ COMPRESSION , strategy = Zlib :: DEFAULT _ STRATEGY) -> Zlib :: GzipWriter (24.0) -
io と関連付けられた GzipWriter オブジェクトを作成します。 ブロックが与えられた場合、 それを引数としてブロックを実行します。 ブロックの実行が終了すると、GzipWriter オブジェクトは自動的に クローズされます。関連付けられている IO オブジェクトまで クローズしたくない時は、ブロック中で Zlib::GzipFile#finish メソッドを呼び出して下さい。
...ename='hoge1.txt'
f = File.open(filename, "w")
Zlib::GzipWriter.wrap(f, Zlib::NO_COMPRESSION){|gz|
gz.puts "hogehoge" * 100
}
p f.closed? #=> true
p FileTest.size(filename) #=> 824
end
def case2
filename='hoge1.gz'
f = File.open(filename, "w")
Zlib::GzipW......riter.wrap(f, Zlib::BEST_COMPRESSION){|gz|
gz.puts "hogehoge" * 100
gz.finish
}
p f.closed? #=> false
f.close
p FileTest.size(filename) #=> 32
end
case1
case2... -
Zlib
:: GzipWriter . wrap(io , level = Zlib :: DEFAULT _ COMPRESSION , strategy = Zlib :: DEFAULT _ STRATEGY) {|gz| . . . } -> object (24.0) -
io と関連付けられた GzipWriter オブジェクトを作成します。 ブロックが与えられた場合、 それを引数としてブロックを実行します。 ブロックの実行が終了すると、GzipWriter オブジェクトは自動的に クローズされます。関連付けられている IO オブジェクトまで クローズしたくない時は、ブロック中で Zlib::GzipFile#finish メソッドを呼び出して下さい。
...ename='hoge1.txt'
f = File.open(filename, "w")
Zlib::GzipWriter.wrap(f, Zlib::NO_COMPRESSION){|gz|
gz.puts "hogehoge" * 100
}
p f.closed? #=> true
p FileTest.size(filename) #=> 824
end
def case2
filename='hoge1.gz'
f = File.open(filename, "w")
Zlib::GzipW......riter.wrap(f, Zlib::BEST_COMPRESSION){|gz|
gz.puts "hogehoge" * 100
gz.finish
}
p f.closed? #=> false
f.close
p FileTest.size(filename) #=> 32
end
case1
case2... -
セキュリティモデル (18.0)
-
セキュリティモデル RubyにはCGI等のプログラミングを安全に行うことを助ける為に、セキュリティ 機構が備わっています。
...禁止される操作
* 汚染された文字列を引数とした以下の操作
* Dir, IO, File, FileTest のメソッド呼び出し
//emlist{
$ ruby -e '$SAFE = 1; open(ARGV[0])' hoge
-e:1:in `initialize': Insecure operation - initialize (SecurityError)......own File.chmod File.umask File.truncate
File#lstat File#chmod File#chown File.delete File.unlink
File#truncate File#flock
および FileTest モジュールのメソッド
* IO#ioctl, IO#fcntl
* Process.fork Process.#setpgid Process.#setsid
Process.#setpriority Process.#egi... -
Tempfile
# close! -> nil (12.0) -
テンポラリファイルをクローズし、すぐに削除します。
...テンポラリファイルをクローズし、すぐに削除します。
require "tempfile"
tf = Tempfile.open("bar")
path = tf.path
tf.close!
p FileTest.exist?(path) # => false...