クラス
- Coverage (29)
-
DRb
:: DRbServer (11)
キーワード
- new (11)
-
peek
_ result (11) - result (11)
-
start
_ service (11) - セキュリティモデル (11)
検索結果
先頭5件
- Psych
. load(yaml , filename = nil , fallback: false , symbolize _ names: false) -> object - Psych
. load(yaml , filename: nil , fallback: false , symbolize _ names: false) -> object - Psych
. load(yaml , filename = nil , fallback: false , symbolize _ names: false) -> object - Psych
. load(yaml , filename: nil , fallback: false , symbolize _ names: false) -> object - Psych
. load(yaml , filename = nil , fallback = false) -> object
-
Psych
. load(yaml , filename = nil , fallback: false , symbolize _ names: false) -> object (24448.0) -
YAML ドキュメントを Ruby のデータ構造(オブジェクト)に変換します。
...YAML ドキュメントを Ruby のデータ構造(オブジェクト)に変換します。
入力に複数のドキュメントが含まれている場合は、先頭のものを変換して
返します。
filename はパース中に発生した例外のメッセージに用います。
@para......m yaml YAML ドキュメント(文字列 or IO オブジェクト)
@param filename Psych::SyntaxError 発生時にファイル名として表示する文字列。
@param fallback 引数 yaml に空のYAMLを指定した場合の戻り値を指定します。デフォルトは false です。
@param......AMLドキュメントに文法エラーが発見されたときに発生します
@see Psych.parse
//emlist[例][ruby]{
Psych.load("--- a") # => 'a'
Psych.load("---\n - a\n - b") # => ['a', 'b']
begin
Psych.load("--- `", filename: "file.txt")
rescue Psych::SyntaxError => ex
p ex.file... -
Psych
. load(yaml , filename: nil , fallback: false , symbolize _ names: false) -> object (24448.0) -
YAML ドキュメントを Ruby のデータ構造(オブジェクト)に変換します。
...YAML ドキュメントを Ruby のデータ構造(オブジェクト)に変換します。
入力に複数のドキュメントが含まれている場合は、先頭のものを変換して
返します。
filename はパース中に発生した例外のメッセージに用います。
@para......m yaml YAML ドキュメント(文字列 or IO オブジェクト)
@param filename Psych::SyntaxError 発生時にファイル名として表示する文字列。
@param fallback 引数 yaml に空のYAMLを指定した場合の戻り値を指定します。デフォルトは false です。
@param......AMLドキュメントに文法エラーが発見されたときに発生します
@see Psych.parse
//emlist[例][ruby]{
Psych.load("--- a") # => 'a'
Psych.load("---\n - a\n - b") # => ['a', 'b']
begin
Psych.load("--- `", filename: "file.txt")
rescue Psych::SyntaxError => ex
p ex.file... -
Psych
. load(yaml , filename = nil , fallback: false , symbolize _ names: false) -> object (24445.0) -
YAML ドキュメントを Ruby のデータ構造(オブジェクト)に変換します。
...YAML ドキュメントを Ruby のデータ構造(オブジェクト)に変換します。
入力に複数のドキュメントが含まれている場合は、先頭のものを変換して
返します。
filename はパース中に発生した例外のメッセージに用います。
@para......m yaml YAML ドキュメント(文字列 or IO オブジェクト)
@param filename Psych::SyntaxError 発生時にファイル名として表示する文字列。
@param fallback 引数 yaml に空のYAMLを指定した場合の戻り値を指定します。デフォルトは false です。
@param......ror YAMLドキュメントに文法エラーが発見されたときに発生します
@see Psych.parse
//emlist[例][ruby]{
Psych.load("--- a") # => 'a'
Psych.load("---\n - a\n - b") # => ['a', 'b']
begin
Psych.load("--- `", "file.txt")
rescue Psych::SyntaxError => ex
p ex.file #... -
Psych
. load(yaml , filename: nil , fallback: false , symbolize _ names: false) -> object (24445.0) -
YAML ドキュメントを Ruby のデータ構造(オブジェクト)に変換します。
...YAML ドキュメントを Ruby のデータ構造(オブジェクト)に変換します。
入力に複数のドキュメントが含まれている場合は、先頭のものを変換して
返します。
filename はパース中に発生した例外のメッセージに用います。
@para......m yaml YAML ドキュメント(文字列 or IO オブジェクト)
@param filename Psych::SyntaxError 発生時にファイル名として表示する文字列。
@param fallback 引数 yaml に空のYAMLを指定した場合の戻り値を指定します。デフォルトは false です。
@param......AMLドキュメントに文法エラーが発見されたときに発生します
@see Psych.parse
//emlist[例][ruby]{
Psych.load("--- a") # => 'a'
Psych.load("---\n - a\n - b") # => ['a', 'b']
begin
Psych.load("--- `", filename: "file.txt")
rescue Psych::SyntaxError => ex
p ex.file... -
Psych
. load(yaml , filename = nil , fallback = false) -> object (24332.0) -
YAML ドキュメントを Ruby のデータ構造(オブジェクト)に変換します。
...YAML ドキュメントを Ruby のデータ構造(オブジェクト)に変換します。
入力に複数のドキュメントが含まれている場合は、先頭のものを変換して
返します。
filename はパース中に発生した例外のメッセージに用います。
@para......m yaml YAML ドキュメント(文字列 or IO オブジェクト)
@param filename Psych::SyntaxError 発生時にファイル名として表示する文字列。
@param fallback 引数 yaml に空のYAMLを指定した場合の戻り値を指定します。デフォルトは false です。
@raise......ror YAMLドキュメントに文法エラーが発見されたときに発生します
@see Psych.parse
//emlist[例][ruby]{
Psych.load("--- a") # => 'a'
Psych.load("---\n - a\n - b") # => ['a', 'b']
begin
Psych.load("--- `", "file.txt")
rescue Psych::SyntaxError => ex
p ex.file #... -
Coverage
. start(option = {}) -> nil (18231.0) -
カバレッジの測定を開始します。既に実行されていた場合には何も起こりません。 ただし、カバレッジ計測中に測定対象を変更しようとした場合は、RuntimeError となります。
...:all か "all" を指定すると、全ての種類を計測します。
個別に指定する場合は、ハッシュを渡します。
詳細は、coverage ライブラリ を参照してください。
//emlist[bool.rb][ruby]{
def bool(obj)
if obj
true
else......false
end
end
//}
//emlist[][ruby]{
require "coverage"
Coverage.start(:all)
load "bool.rb"
bool(0)
pp Coverage.result
# {"bool.rb"=>
# {:lines=>[1, 1, 1, nil, 0, nil, nil],
# :branches=>
# {[:if, 0, 2, 2, 6, 5]=>
# {[:then, 1, 3, 4, 3, 8]=>1, [:else, 2, 5, 4, 5, 9]=>0}},
#......:methods=>{[Object, :bool, 1, 0, 7, 3]=>1}}}
Coverage.start(methods: true)
load "bool.rb"
bool(0)
pp Coverage.result #=> {"bool.rb"=>{:methods=>{[Object, :bool, 1, 0, 7, 3]=>1}}}
//}... -
DRb
. # start _ service(uri=nil , front=nil , config _ or _ acl=nil) -> () (6325.0) -
dRuby のサービス(サーバ)を起動します。
...は false。
: :tcp_acl
サーバに設定する ACL(Access Control List)。詳しくは ACL
を見てください。デフォルトは nil(設定しない)。
: :load_limit
サーバが受け付けるメッセージの最大バイト数。デフォルトは
26214400(25MB)
: :argc_limit......個数。
デフォルトは256。
: :auto_load
真に設定すると、
URIで指定されたプロトコルを取り扱うのに
必要なDRbのサブライブラリが自動的にロードされます。デフォルトは true。
: :safe_level
リモートからのメソッド呼出し......。
* DRb::DRbServer.default_acl
* DRb::DRbServer.default_argc_limit
* DRb::DRbServer.default_id_conv
* DRb::DRbServer.default_load_limit
* DRb::DRbServer.default_safe_level
* DRb::DRbServer.verbose=
config に Hash以外を渡すと、ACL(Access Control List)として取り扱われま... -
Coverage
. result(stop: true , clear: true) -> Hash (6160.0) -
対象ファイル名をキー、測定結果を値したハッシュを返します。 測定結果の詳細は、coverage ライブラリ を参照してください。
...lear true であれば、測定記録をクリアします。
@return 測定結果を表すハッシュ
@raise RuntimeError Coverage.start を実行する前に実行された場合に
発生します。
//emlist[bool.rb][ruby]{
def bool(obj)
if obj
true
else
false....../emlist[][ruby]{
require "coverage"
Coverage.start
load "bool.rb"
p Coverage.result #=> {"bool.rb"=>[1, 0, 0, nil, 0, nil, nil]}
bool(0)
p Coverage.result # coverage measurement is not enabled (RuntimeError)
//}
Ruby 2.6 以降では、オプションを指定できます。
Coverage.result(clear......op: false) と指定することで、続けて新しく実行された行だけを記録することができます。
//emlist[][ruby]{
require "coverage"
Coverage.start(oneshot_lines: true)
load "bool.rb"
p Coverage.result(clear: true, stop: false) #=> {"bool.rb"=>{:oneshot_lines=>[1]}}
bool(0)... -
Coverage
. peek _ result -> Hash (6142.0) -
測定を止めることなく、測定中のその時の結果をハッシュで返します。 測定結果の詳細は、coverage ライブラリ を参照してください。
...は nil になります。
@return 測定途中結果を表すハッシュ
@raise RuntimeError Coverage.start を実行する前に実行された場合に
発生します。
//emlist[bool.rb][ruby]{
def bool(obj)
if obj
true
else
false
end
end
//}
//emlist[][r......verage"
Coverage.start
load "bool.rb"
p Coverage.peek_result #=> {"bool.rb"=>[1, 0, 0, nil, 0, nil, nil]}
bool(true)
p Coverage.peek_result #=> {"bool.rb"=>[1, 1, 1, nil, 0, nil, nil]}
bool(false)
p Coverage.peek_result #=> {"bool.rb"=>[1, 2, 1, nil, 1, nil, nil]}
//}
@see Coverage.result......overage.start を実行する前に実行された場合に
発生します。
//emlist[bool.rb][ruby]{
def bool(obj)
if obj
true
else
false
end
end
//}
//emlist[][ruby]{
require "coverage"
Coverage.start
load "bool.rb"
p Coverage.peek_result #=> {"bool.rb"=>[1......, 0, 0, nil, 0, nil, nil]}
bool(true)
p Coverage.peek_result #=> {"bool.rb"=>[1, 1, 1, nil, 0, nil, nil]}
bool(false)
p Coverage.peek_result #=> {"bool.rb"=>[1, 2, 1, nil, 1, nil, nil]}
//}
@see Coverage.result......result(stop: false, clear: false) と同じです。
@return 測定途中結果を表すハッシュ
@raise RuntimeError Coverage.start を実行する前に実行された場合に
発生します。
//emlist[bool.rb][ruby]{
def bool(obj)
if obj
true
else
false....../emlist[][ruby]{
require "coverage"
Coverage.start
load "bool.rb"
p Coverage.peek_result #=> {"bool.rb"=>[1, 0, 0, nil, 0, nil, nil]}
bool(true)
p Coverage.peek_result #=> {"bool.rb"=>[1, 1, 1, nil, 0, nil, nil]}
bool(false)
p Coverage.peek_result #=> {"bool.rb"=>[1, 2, 1, nil, 1, nil, nil]}......//}
@see Coverage.result... -
Coverage
. result -> Hash (6124.0) -
対象ファイル名をキー、測定結果を値したハッシュを返します。 測定結果の詳細は、coverage ライブラリ を参照してください。
...は nil になります。
resultメソッドが実行された後はカバレッジの測定を行いません。
@return 測定結果を表すハッシュ
@raise RuntimeError Coverage.start を実行する前に実行された場合に
発生します。
//emlist[bool.rb][r......ol(obj)
if obj
true
else
false
end
end
//}
//emlist[][ruby]{
require "coverage"
Coverage.start
load "bool.rb"
p Coverage.result #=> {"bool.rb"=>[1, 0, 0, nil, 0, nil, nil]}
bool(0)
p Coverage.result # coverage measurement is not enabled (RuntimeError)
//}
@see Coverage.peek_result......。
resultメソッドが実行された後はカバレッジの測定を行いません。
@return 測定結果を表すハッシュ
@raise RuntimeError Coverage.start を実行する前に実行された場合に
発生します。
//emlist[bool.rb][ruby]{
def bool(obj)
i......f obj
true
else
false
end
end
//}
//emlist[][ruby]{
require "coverage"
Coverage.start
load "bool.rb"
p Coverage.result #=> {"bool.rb"=>[1, 0, 0, nil, 0, nil, nil]}
bool(0)
p Coverage.result # coverage measurement is not enabled (RuntimeError)
//}
@see Coverage.peek_result... -
セキュリティモデル (3030.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......lize (SecurityError)
from -e:1
//}
* ファイルテスト演算子の使用、ファイルの更新時刻比較
* 外部コマンド実行 (Kernel.#system, Kernel.#exec, Kernel.#`, Kernel.#spawn など)
* Kernel.#eval
* トップレベルへの Kernel.#load......汚染された文字列を第二引数に指定して Kernel.#trap/Kernel.#trace_var を
実行するとその時点で例外 SecurityError が発生する。
* 実装の都合上 Fixnum, Bignum, Float,
Symbol, true, false, nil は汚染されない。
=== 使用例
一旦高くし......* 汚染された文字列を第二引数に指定して Kernel.#trap/Kernel.#trace_var を
実行するとその時点で例外 SecurityError が発生する。
* 実装の都合上 Integer, Float, Symbol, true,
false, nil は汚染されない。
=== 使用例
一旦高くした$S......て 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.#trap/Kernel.#trace_var を
実行するとその時点で例外 SecurityError が発生する。
* 実装の都合上 Integer, Float, Symbol, true,
false, nil は汚染されない。
=== 使用例
$SAFE はスレッド... -
DRb
:: DRbServer . new(uri=nil , front=nil , config _ or _ acl=nil) -> DRb :: DRbServer (230.0) -
dRuby サーバを起動し、DRbServerのインスタンスを返します。
...は false。
: :tcp_acl
サーバに設定する ACL(Access Control List)。詳しくは ACL
を見てください。デフォルトは nil(設定しない)。
: :load_limit
サーバが受け付けるメッセージの最大バイト数。デフォルトは
26214400(25MB)
: :argc_limit......個数。
デフォルトは256。
: :auto_load
真に設定すると、
URIで指定されたプロトコルを取り扱うのに
必要なDRbのサブライブラリが自動的にロードされます。デフォルトは true。
: :safe_level
リモートからのメソッド呼出し......設定の Hash
@raise DRb::DRbBadURI URI の schema が不正(サポートされていないものである)場合に
発生します
プライマリサーバが存在しない場合は、これで起動したサーバがプライマリ
サーバとなります。
@see DRb.#start_service...