クラス
- Object (1)
-
Psych
:: Emitter (1) -
Psych
:: Nodes :: Alias (1) -
Psych
:: Nodes :: Document (1) -
Psych
:: Nodes :: Mapping (1) -
Psych
:: Nodes :: Scalar (1) -
Psych
:: Nodes :: Sequence (1) -
Psych
:: Nodes :: Stream (1) -
Psych
:: Parser (1) -
Psych
:: ScalarScanner (1) -
Psych
:: Stream (1) -
Psych
:: TreeBuilder (1) -
Psych
:: Visitors :: YAMLTree (1)
モジュール
- Psych (17)
キーワード
- dump (2)
-
dump
_ stream (1) -
libyaml
_ version (1) - load (2)
-
load
_ file (1) -
load
_ stream (2) - new (12)
- parse (1)
-
parse
_ file (1) -
parse
_ stream (2) - parser (1)
-
safe
_ load (2) -
to
_ json (1) -
yaml
_ tag (1)
検索結果
先頭5件
- Psych
. parse(yaml , filename = nil) -> Psych :: Nodes :: Document - Psych
. parse _ stream(yaml) -> Psych :: Nodes :: Stream - Psych
. parse _ file(filename) -> Psych :: Nodes :: Document - Psych
. parser -> Psych :: Parser - Psych
. safe _ load(yaml , legacy _ permitted _ classes=[] , legacy _ permitted _ symbols=[] , legacy _ aliases=false , legacy _ filename=nil) -> object
-
Psych
. parse(yaml , filename = nil) -> Psych :: Nodes :: Document (51457.0) -
YAML ドキュメントをパースし、YAML の AST を返します。
...用います。
AST については Psych::Nodes を参照してください。
@param yaml YAML ドキュメント(文字列 or IO オブジェクト)
@param filename Psych::SyntaxError 発生時にファイル名として表示する文字列。
@raise Psych::SyntaxError YAMLドキュメント......に文法エラーが発見されたときに発生します
@see Psych.load
//emlist[例][ruby]{
Psych.parse("---\n - a\n - b") # => #<Psych::Nodes::Document:...>
begin
Psych.parse("--- `", "file.txt")
rescue Psych::SyntaxError => ex
p ex.file # => 'file.txt'
p ex.message # => "(file.txt... -
Psych
. parse _ stream(yaml) -> Psych :: Nodes :: Stream (51403.0) -
YAML ドキュメントをパースします。 yaml が 複数の YAML ドキュメントを含む場合を取り扱うことができます。
...した Psych::Nodes::Stream オブジェクト)を返します。
ブロック付きの場合は、そのブロックに最初の YAML ドキュメント
の Psych::Nodes::Document オブジェクトが渡されます。
この場合の返り値には意味がありません。
@see Psych::Nodes......//emlist[例][ruby]{
Psych.parse_stream("---\n - a\n - b") # => #<Psych::Nodes::Stream:0x00>
//}... -
Psych
. parse _ file(filename) -> Psych :: Nodes :: Document (51331.0) -
filename で指定したファイルをパースして YAML の AST を返します。
...filename で指定したファイルをパースして YAML の AST を返します。
@param filename パースするファイルの名前
@raise Psych::SyntaxError YAMLドキュメントに文法エラーが発見されたときに発生します... -
Psych
. parser -> Psych :: Parser (51313.0) -
デフォルトで使われるのパーサを返します。
デフォルトで使われるのパーサを返します。 -
Psych
. safe _ load(yaml , legacy _ permitted _ classes=[] , legacy _ permitted _ symbols=[] , legacy _ aliases=false , legacy _ filename=nil) -> object (51226.0) -
安全に YAML フォーマットの文書を読み込み Ruby のオブジェクトを生成して返します。
...えば Date クラスを許可するには
以下のように書いてください:
//emlist[permitted_classes: に Date を渡した例][ruby]{
Psych.safe_load(yaml, permitted_classes: [Date])
//}
すると上のクラス一覧に加えて Date クラスが読み込まれます。
エイリア......の例][ruby]{
x = []
x << x
yaml = Psych.dump x
Psych.safe_load yaml # => 例外発生
Psych.safe_load yaml, aliases: true # => エイリアスが読み込まれる
//}
yaml に許可されていないクラスが含まれていた場合は、
Psych::DisallowedClass 例外が発生......します。
yaml がエイリアスを含んでいてキーワード引数 aliases が false の時、
Psych::BadAlias 例外が発生します。
filename はパース中に発生した例外のメッセージに用います。
キーワード引数 symbolize_names に true を指定した場... -
Psych
. safe _ load(yaml , permitted _ classes: [] , permitted _ symbols: [] , aliases: false , filename: nil , fallback: nil , symbolize _ names: false) -> object (51226.0) -
安全に YAML フォーマットの文書を読み込み Ruby のオブジェクトを生成して返します。
...えば Date クラスを許可するには
以下のように書いてください:
//emlist[permitted_classes: に Date を渡した例][ruby]{
Psych.safe_load(yaml, permitted_classes: [Date])
//}
すると上のクラス一覧に加えて Date クラスが読み込まれます。
エイリア......の例][ruby]{
x = []
x << x
yaml = Psych.dump x
Psych.safe_load yaml # => 例外発生
Psych.safe_load yaml, aliases: true # => エイリアスが読み込まれる
//}
yaml に許可されていないクラスが含まれていた場合は、
Psych::DisallowedClass 例外が発生......します。
yaml がエイリアスを含んでいてキーワード引数 aliases が false の時、
Psych::BadAlias 例外が発生します。
filename はパース中に発生した例外のメッセージに用います。
キーワード引数 symbolize_names に true を指定した場... -
Psych
. load(yaml , filename = nil , fallback: false , symbolize _ names: false) -> object (51172.0) -
YAML ドキュメントを Ruby のデータ構造(オブジェクト)に変換します。
...に発生した例外のメッセージに用います。
@param yaml YAML ドキュメント(文字列 or IO オブジェクト)
@param filename Psych::SyntaxError 発生時にファイル名として表示する文字列。
@param fallback 引数 yaml に空のYAMLを指定した場合の戻り......raise Psych::SyntaxError YAMLドキュメントに文法エラーが発見されたときに発生します
@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::Syn......ード引数 symbolize_names に true を指定した場合はハッシュのキー
を Symbol に変換して返します。
//emlist[例][ruby]{
Psych.load("---\n foo: bar") # => {"foo"=>"bar"}
Psych.load("---\n foo: bar", symbolize_names: true) # => {:foo=>"bar"}
//}... -
Psych
. load(yaml , filename: nil , fallback: false , symbolize _ names: false) -> object (51172.0) -
YAML ドキュメントを Ruby のデータ構造(オブジェクト)に変換します。
...に発生した例外のメッセージに用います。
@param yaml YAML ドキュメント(文字列 or IO オブジェクト)
@param filename Psych::SyntaxError 発生時にファイル名として表示する文字列。
@param fallback 引数 yaml に空のYAMLを指定した場合の戻り......raise Psych::SyntaxError YAMLドキュメントに文法エラーが発見されたときに発生します
@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::Syn......ード引数 symbolize_names に true を指定した場合はハッシュのキー
を Symbol に変換して返します。
//emlist[例][ruby]{
Psych.load("---\n foo: bar") # => {"foo"=>"bar"}
Psych.load("---\n foo: bar", symbolize_names: true) # => {:foo=>"bar"}
//}... -
Psych
. parse _ stream(yaml) {|node| . . . } -> () (51103.0) -
YAML ドキュメントをパースします。 yaml が 複数の YAML ドキュメントを含む場合を取り扱うことができます。
...した Psych::Nodes::Stream オブジェクト)を返します。
ブロック付きの場合は、そのブロックに最初の YAML ドキュメント
の Psych::Nodes::Document オブジェクトが渡されます。
この場合の返り値には意味がありません。
@see Psych::Nodes......//emlist[例][ruby]{
Psych.parse_stream("---\n - a\n - b") # => #<Psych::Nodes::Stream:0x00>
//}... -
Psych
. dump(o , io , options = {}) -> () (51082.0) -
Ruby のオブジェクト o を YAML ドキュメントに変換します。
...[例][ruby]{
# Dump an array, get back a YAML string
Psych.dump(['a', 'b']) # => "---\n- a\n- b\n"
# Dump an array to an IO object
Psych.dump(['a', 'b'], StringIO.new) # => #<StringIO:0x000001009d0890>
# Dump an array with indentation set
Psych.dump(['a', ['b']], :indentation => 3) # => "---\n-......a\n- - b\n"
# Dump an array to an IO with indentation set
Psych.dump(['a', ['b']], StringIO.new, :indentation => 3)
//}... -
Psych
. dump(o , options = {}) -> String (51082.0) -
Ruby のオブジェクト o を YAML ドキュメントに変換します。
...[例][ruby]{
# Dump an array, get back a YAML string
Psych.dump(['a', 'b']) # => "---\n- a\n- b\n"
# Dump an array to an IO object
Psych.dump(['a', 'b'], StringIO.new) # => #<StringIO:0x000001009d0890>
# Dump an array with indentation set
Psych.dump(['a', ['b']], :indentation => 3) # => "---\n-......a\n- - b\n"
# Dump an array to an IO with indentation set
Psych.dump(['a', ['b']], StringIO.new, :indentation => 3)
//}... -
Psych
. load _ stream(yaml , filename=nil) -> [object] (51082.0) -
複数の YAML ドキュメントを含むデータを Ruby のオブジェクトに変換します。
...を返します。
//emlist[例][ruby]{
Psych.load_stream("--- foo\n...\n--- bar\n...") # => ['foo', 'bar']
//}
ブロックありの場合は各オブジェクト引数としてそのブロックを呼び出します。
//emlist[例][ruby]{
list = []
Psych.load_stream("--- foo\n...\n--- bar\n.........に用います。
@param yaml YAML ドキュメント(文字列 or IO オブジェクト)
@param filename Psych::SyntaxError 発生時にファイル名として表示する文字列。
@raise Psych::SyntaxError YAMLドキュメントに文法エラーが発見されたときに発生します... -
Psych
. load _ stream(yaml , filename=nil) {|obj| . . . } -> () (51082.0) -
複数の YAML ドキュメントを含むデータを Ruby のオブジェクトに変換します。
...を返します。
//emlist[例][ruby]{
Psych.load_stream("--- foo\n...\n--- bar\n...") # => ['foo', 'bar']
//}
ブロックありの場合は各オブジェクト引数としてそのブロックを呼び出します。
//emlist[例][ruby]{
list = []
Psych.load_stream("--- foo\n...\n--- bar\n.........に用います。
@param yaml YAML ドキュメント(文字列 or IO オブジェクト)
@param filename Psych::SyntaxError 発生時にファイル名として表示する文字列。
@raise Psych::SyntaxError YAMLドキュメントに文法エラーが発見されたときに発生します... -
Psych
. dump _ stream(*objects) -> String (51028.0) -
オブジェクト列を YAML ドキュメント列に変換します。
...オブジェクト列を YAML ドキュメント列に変換します。
@param objects 変換対象のオブジェクト列
//emlist[例][ruby]{
Psych.dump_stream("foo\n ", {}) # => "--- ! \"foo\\n \"\n--- {}\n"
//}... -
Psych
. libyaml _ version -> [Integer , Integer , Integer] (51028.0) -
libyaml のバージョンを返します。
...libyaml のバージョンを返します。
[major, minor patch-level] という 3 つの整数からなる配列を返します。
@see Psych::LIBYAML_VERSION... -
Psych
. load _ file(filename) -> object (51028.0) -
filename で指定したファイルを YAML ドキュメントとして Ruby のオブジェクトに変換します。
...filename で指定したファイルを YAML ドキュメントとして
Ruby のオブジェクトに変換します。
@param filename ファイル名
@raise Psych::SyntaxError YAMLドキュメントに文法エラーが発見されたときに発生します... -
Psych
. to _ json(o) -> String (51010.0) -
Ruby のオブジェクト o を JSON の文字列に変換します。
Ruby のオブジェクト o を JSON の文字列に変換します。
@param o 変換対象となるオブジェクト -
Psych
:: Visitors :: YAMLTree . new(options = {} , emitter = Psych :: TreeBuilder . new , ss = Psych :: ScalarScanner . new) -> Psych :: Visitors :: YAMLTree (34009.0) -
YAMLTree オブジェクトを生成します。
...定します。
Psych.dump と同じオプションが指定できます。
emitter には AST の構築に使われる Psych::TreeBuilder オブジェクト
を渡します。
ss は Ruby の String が YAML document 上で quote が必要かどうか
を判定するための Psych::ScalarScanner......常デフォルトのものから変える必要はないでしょう。
@param options オプション
@param emitter AST の構築に使う Psych::TreeBuilder オブジェクト
@param ss 文字列に quite が必要かどうかを判定するための Psych::ScalarScanner オブジェクト... -
Psych
:: Nodes :: Stream . new(encoding = Psych :: Nodes :: Stream :: UTF8) -> Psych :: Nodes :: Stream (33718.0) -
Psych::Nodes::Stream オブジェクトを生成して返します。
...
Psych::Nodes::Stream オブジェクトを生成して返します。
encoding には stream に使われるエンコーディングを指定します。
以下のいずれかを指定します。
* Psych::Nodes::Node::UTF8
* Psych::Nodes::Node::UTF16BE
* Psych::Nodes::Node::UTF16LE
@param... -
Psych
:: Nodes :: Scalar . new(value , anchor=nil , tag=nil , plain=true , quoted=false , style=ANY) -> Psych :: Nodes:Scalar (33421.0) -
Scalar オブジェクトを生成します。
...します。
style は次の値のいずれかです。
* Psych::Nodes::Scalar::ANY
* Psych::Nodes::Scalar::PLAIN
* Psych::Nodes::Scalar::SINGLE_QUOTED
* Psych::Nodes::Scalar::DOUBLE_QUOTED
* Psych::Nodes::Scalar::LITERAL
* Psych::Nodes::Scalar::FOLDED
@param value スカラー値
@para... -
Psych
:: Nodes :: Mapping . new(anchor=nil , tag=nil , implicit=true , style=BLOCK) -> Psych :: Nodes :: Mapping (33367.0) -
新たな mapping オブジェクトを生成します。
...AML ドキュメント上の style を整数で指定します。以下のいずれ
かを指定できます。
* Psych::Nodes::Mapping::ANY
* Psych::Nodes::Mapping::BLOCK
* Psych::Nodes::Mapping::FLOW
@param anchor mapping に付加された anchor
@param tag mapping に付加された tag
@... -
Psych
:: Nodes :: Sequence . new(anchor=nil , tag=nil , implicit=true , style=BLOCK) -> Psych :: Nodes :: Sequence (33367.0) -
新たな sequence オブジェクトを生成します。
...ML ドキュメント上の style を整数で指定します。以下のいずれ
かを指定できます。
* Psych::Nodes::Sequence::ANY
* Psych::Nodes::Sequence::BLOCK
* Psych::Nodes::Sequence::FLOW
@param anchor sequence に付加された anchor
@param tag sequence に付加された t... -
Psych
:: Nodes :: Document . new(version=[] , tag _ directives=[] , implicit=false) -> Psych :: Nodes :: Document (33349.0) -
Document オブジェクトを生成します。
...YAML 1.1 のドキュメントで、
tag directive を1つ持ち、 implicit にドキュメントが開始
している Document オブジェクトを生成しています。
Psych::Nodes::Document.new(
[1,1],
tenderlovemaking.com,2009:",
true)
@see Psych::Handler#start_document... -
Psych
:: Parser . new(handler = Handler . new) -> Psych :: Parser (33331.0) -
新たなパーサオブジェクトを生成して返します。
...新たなパーサオブジェクトを生成して返します。
handler で YAML のイベントを処理するハンドラを指定します。
詳しくは Psych::Parser を参照してください。
@param handler YAML のイベントを処理するハンドラ... -
Psych
:: Emitter . new(io) -> Psych :: Emitter (33313.0) -
Emitter オブジェクトを生成して返します。
Emitter オブジェクトを生成して返します。
@param io 出力先の IO オブジェクト -
Psych
:: Nodes :: Alias . new(anchor) -> Psych :: Nodes :: Alias (33313.0) -
新たな Alias オブジェクトを生成します。
新たな Alias オブジェクトを生成します。
anchor で指す先の anchor を指定します。
@param anchor 指す先の anchor -
Psych
:: Stream . new(io) -> Psych :: Stream (33313.0) -
新たな Stream オブジェクトを生成します。
新たな Stream オブジェクトを生成します。
io で YAML document の出力先を指定します。
@param io 出力先の IO オブジェクト -
Psych
:: TreeBuilder . new -> Psych :: TreeBuilder (33313.0) -
TreeBuilder オブジェクトを生成します。
TreeBuilder オブジェクトを生成します。 -
Psych
:: ScalarScanner . new (33010.0) -
新たな ScalarScanner オブジェクトを生成します。
新たな ScalarScanner オブジェクトを生成します。 -
Object
. yaml _ tag(tag) -> () (24082.0) -
クラスと tag の間を関連付けます。
...g 対象のクラスに関連付けるタグの文字列
=== Example
require 'psych'
class Foo
def initialize(x)
@x = x
end
attr_reader :x
end
# Dumps Ruby object normally
p Psych.dump(Foo.new(3))
# =>
# --- !ruby/object:Foo
# x: 3
# Registers tag......yaml_as("tag:example.com,2013:foo")
# ... and dumps the object of Foo class
Psych.dump(Foo.new(3), STDOUT)
# =>
# --- !<tag:example.com,2013:foo>
# x: 3
# Loads the object from the tagged YAML node
p Psych.load(<<EOS)
--- !<tag:example.com,2012:foo>
x: 8
EOS
# => #<Foo:0x00...