種類
- モジュール関数 (55)
- 文書 (33)
- インスタンスメソッド (32)
- ライブラリ (11)
- 特異メソッド (11)
ライブラリ
- ビルトイン (65)
- pathname (11)
-
win32
/ resolv (11) - win32ole (11)
クラス
- IO (21)
- Pathname (11)
-
WIN32OLE
_ TYPELIB (11) -
Win32
:: Resolv (11)
モジュール
- Kernel (44)
キーワード
- DOSISH 対応 (11)
- Rubyの起動 (11)
- binwrite (11)
- flush (10)
-
get
_ hosts _ path (11) -
relative
_ path _ from (11) -
rubygems
/ security (11) - spawn (44)
- セキュリティモデル (11)
検索結果
先頭5件
-
WIN32OLE
_ TYPELIB # path -> String (21113.0) -
TypeLibのパス名を取得します。
...TypeLibのパス名を取得します。
@return TypeLibのパス名を文字列で返します。この値はレジストリの登録値を
そのまま利用するため、Rubyのパス名形式(ディレクトリ区切りは
「/」)ではなく、Windowsのパス名形式(......OLERuntimeError TypeLibの属性が読み取れない場合に通知します。
tlib = WIN32OLE_TYPELIB.new('Microsoft Excel 14.0 Object Library')
puts tlib.path # => 'C:\...\EXCEL.EXE'
TypeLibは拡張子TLB(まれにOLB)という独立したファイルの場合と、サーバの
DLL... -
Pathname
# relative _ path _ from(base _ directory) -> Pathname (15325.0) -
base_directory から self への相対パスを求め、その内容の新しい Pathname オブジェクトを生成して返します。
...self への相対パスを求め、その内容の新しい Pathname
オブジェクトを生成して返します。
パス名の解決は文字列操作によって行われ、ファイルシステムをアクセス
しません。
self が相対パスなら base_directory も相対パス、self......トリを表す Pathname オブジェクトを指定します。
@raise ArgumentError Windows上でドライブが違うなど、base_directory から self への相対パスが求められないときに例外が発生します。
//emlist[例][ruby]{
require 'pathname'
path = Pathname.new("/tmp....../foo")
base = Pathname.new("/tmp")
path.relative_path_from(base) # => #<Pathname:foo>
//}... -
Win32
:: Resolv . # get _ hosts _ path -> String | nil (9213.0) -
hosts ファイルのパスを返します。ファイルが存在しない場合は nil を返します。
...hosts ファイルのパスを返します。ファイルが存在しない場合は nil を返します。
例:
require "win32/resolv"
p Win32::Resolv.get_hosts_path #=> "C:\Windows\System32\drivers\etc\hosts"... -
IO
# flush -> self (6118.0) -
IO ポートの内部バッファをフラッシュします。
...せん(特にWindowsで)。
即座にメタデータも更新したいときは IO#fsync を使います。
@raise IOError 自身が書き込み用にオープンされていなければ発生します。
@raise Errno::EXXX fflush(3) が失敗した場合に発生します。
//emlist[例][ruby]{......require "tempfile"
Tempfile.open("testtmpfile") do |f|
f.print "test"
File.read(f.path) # => ""
f.flush
File.read(f.path) # => "test"
end
//}... -
DOSISH 対応 (3034.0)
-
DOSISH 対応 ruby version 1.7 では、DOSISH対応(DOS/Windows のパス名の扱いに対する変 更)が含まれています。(現在の)変更点を以下に示します。
...DOSISH 対応
ruby version 1.7 では、DOSISH対応(DOS/Windows のパス名の扱いに対する変
更)が含まれています。(現在の)変更点を以下に示します。
なお、これらの変更は platform/mswin32 版、platform/mingw32
版の Ruby にのみあてはまります。......いては現在もruby-listなどで議論が継続されています。
現時点では、Fileの各メソッドに対する\対応, マルチバイトパス名対応, UNC 対応が実装されています。13817, 14097
以下、各メソッドの挙動について...
: File.dirname
パスセ......File.split
File.dirname と File.basename が変更されているので、File.split もそれに準じた
結果を返します。
: File.expand_path
ドライブレター対応に関して、下記のような案が提示されています。
Dir.chdir("D:/")
p File.expand_path(... -
Kernel
. # spawn(env , program , *args , options={}) -> Integer (3012.0) -
引数を外部コマンドとして実行しますが、生成した 子プロセスの終了を待ち合わせません。生成した子プロセスのプロセスIDを返します。
...名文字列、Hash の値に設定する値とします。
nil とすることで環境変数が削除(unsetenv(3))されます。
//emlist[例][ruby]{
# FOO を BAR にして BAZ を削除する
pid = spawn({"FOO"=>"BAR", "BAZ"=>nil}, command)
//}
親プロセスは Process.#waitpid で子プロ......第1要素はフルパスで指定しなくても環境変数 PATH から探します。
=== option引数の概要
Hash を options として渡すことで、起動される子プロセスの
* プロセスグループ
* resource limit
* カレントディレクトリ
* umask
* 子プロ......リプタを作り、利用します。
:close_others と :close オプションが意味を持つのは、
子プロセスに閉じていないファイルデスクリプタが全て渡される環境
(Unix 系統の環境)のみです。
例えば Windows では元々子プロセスにはファ... -
Kernel
. # spawn(program , *args) -> Integer (3012.0) -
引数を外部コマンドとして実行しますが、生成した 子プロセスの終了を待ち合わせません。生成した子プロセスのプロセスIDを返します。
...名文字列、Hash の値に設定する値とします。
nil とすることで環境変数が削除(unsetenv(3))されます。
//emlist[例][ruby]{
# FOO を BAR にして BAZ を削除する
pid = spawn({"FOO"=>"BAR", "BAZ"=>nil}, command)
//}
親プロセスは Process.#waitpid で子プロ......第1要素はフルパスで指定しなくても環境変数 PATH から探します。
=== option引数の概要
Hash を options として渡すことで、起動される子プロセスの
* プロセスグループ
* resource limit
* カレントディレクトリ
* umask
* 子プロ......リプタを作り、利用します。
:close_others と :close オプションが意味を持つのは、
子プロセスに閉じていないファイルデスクリプタが全て渡される環境
(Unix 系統の環境)のみです。
例えば Windows では元々子プロセスにはファ... -
セキュリティモデル (3012.0)
-
セキュリティモデル RubyにはCGI等のプログラミングを安全に行うことを助ける為に、セキュリティ 機構が備わっています。
...引き継ぐ
//emlist[][ruby]{
$SAFE = 0
th = Thread.new{
p $SAFE # => 0
$SAFE = 1
}
th.join
p $SAFE # => 0
//}
* $SAFE の値を現在の値より小さく変更する事はできない
//emlist{
$ ruby -e '$SAFE = 1; $SAFE = 0'
-e:1: tried to downgrade safe level from 1 to 0 (Sec......や環境変数、コマンドライン引数(ARGV)から得られた文字列
$ ruby -e 'p ARGV[0].tainted?' hoge
true
環境変数PATHだけは例外で、値に危険なパスを含む場合のみ汚染されます。
ここでは危険なパスとは誰でも変更/書き込......ェックされ、一箇所でも誰でも
変更可能な個所があればそのパスは危険とみなされます。
なお、DOSISH(DOSとWindows)、cygwin では権限をチェックしません。
===== 禁止される操作
* 特になし
==== レベル 1
信用しているプログ......て ensure で戻す
//emlist{
$SAFE = 0
th = Thread.new do
p $SAFE # => 0
$SAFE = 1
ensure
$SAFE = 0
end
th.join
p $SAFE # => 0
//}
* $SAFE の値を現在の値より小さく変更する事もできる
//emlist{
$ ruby -e '$SAFE... -
Kernel
. # spawn(command , options={}) -> Integer (3002.0) -
引数を外部コマンドとして実行しますが、生成した 子プロセスの終了を待ち合わせません。生成した子プロセスのプロセスIDを返します。
...ロセスのプロセスIDを返します。
=== 引数の解釈
この形式では command が shell のメタ文字
//emlist{
* ? {} [] <> () ~ & | \ $ ; ' ` " \n
//}
を含む場合、shell 経由で実行されます。
そうでなければインタプリタから直接実行されます......表す Hash
@param options オプションパラメータ Hash
@raise Errno::EXXX 起動に失敗し、ruby インタプリタに制御が戻った場合に発生します。
@raise Errno::EXXX コマンドが実行できなかった場合に発生します。
@see Kernel.#system,Kernel.#exec... -
Kernel
. # spawn(env , command , options={}) -> Integer (3002.0) -
引数を外部コマンドとして実行しますが、生成した 子プロセスの終了を待ち合わせません。生成した子プロセスのプロセスIDを返します。
...ロセスのプロセスIDを返します。
=== 引数の解釈
この形式では command が shell のメタ文字
//emlist{
* ? {} [] <> () ~ & | \ $ ; ' ` " \n
//}
を含む場合、shell 経由で実行されます。
そうでなければインタプリタから直接実行されます......表す Hash
@param options オプションパラメータ Hash
@raise Errno::EXXX 起動に失敗し、ruby インタプリタに制御が戻った場合に発生します。
@raise Errno::EXXX コマンドが実行できなかった場合に発生します。
@see Kernel.#system,Kernel.#exec...