ライブラリ
- psych (174)
- yaml (1)
-
yaml
/ store (2)
クラス
- Object (3)
-
Psych
:: Emitter (7) -
Psych
:: Handler (12) -
Psych
:: Nodes :: Alias (3) -
Psych
:: Nodes :: Document (10) -
Psych
:: Nodes :: Mapping (12) -
Psych
:: Nodes :: Node (8) -
Psych
:: Nodes :: Scalar (19) -
Psych
:: Nodes :: Sequence (12) -
Psych
:: Nodes :: Stream (7) -
Psych
:: Parser (9) -
Psych
:: Parser :: Mark (3) -
Psych
:: ScalarScanner (3) -
Psych
:: Stream (4) -
Psych
:: SyntaxError (6) -
Psych
:: TreeBuilder (2) -
Psych
:: Visitors :: YAMLTree (10) -
YAML
:: Store (2)
キーワード
- << (1)
- ANY (5)
- Alias (1)
- BLOCK (2)
- BadAlias (1)
-
DOUBLE
_ QUOTED (1) - Document (1)
- Emitter (1)
- Exception (1)
- FLOW (2)
- FOLDED (1)
- Handler (1)
-
LIBYAML
_ VERSION (1) - LITERAL (1)
- Mapping (1)
- Mark (1)
-
NEWS for Ruby 2
. 2 . 0 (1) -
NEWS for Ruby 2
. 3 . 0 (1) -
NEWS for Ruby 2
. 4 . 0 (1) -
NEWS for Ruby 2
. 5 . 0 (1) -
NEWS for Ruby 2
. 6 . 0 (1) -
NEWS for Ruby 3
. 0 . 0 (1) -
NEWS for Ruby 3
. 1 . 0 (1) - Node (1)
- Nodes (1)
- Omap (1)
- PLAIN (1)
- Parser (1)
- Psych (1)
-
SINGLE
_ QUOTED (1) - Scalar (1)
- ScalarScanner (1)
- Sequence (1)
- Set (1)
- Stream (2)
- SyntaxError (1)
- TreeBuilder (1)
- UTF16BE (2)
- UTF16LE (2)
- UTF8 (2)
- VERSION (1)
- Visitor (1)
- Visitors (1)
- YAML (1)
- YAMLTree (1)
- alias (1)
- anchor (4)
- anchor= (4)
- canonical (1)
- canonical= (1)
- children (1)
- column (2)
- context (1)
- dump (2)
-
dump
_ stream (1) - each (2)
- empty (1)
- encoding (1)
- encoding= (1)
-
end
_ document (1) -
end
_ mapping (1) -
end
_ sequence (1) -
end
_ stream (1) - file (1)
- finish (2)
- finished (1)
- finished? (1)
- handler (1)
- handler= (1)
- implicit (3)
- implicit= (3)
-
implicit
_ end (1) -
implicit
_ end= (1) - indentation (1)
- indentation= (1)
- index (1)
-
libyaml
_ version (1) - line (2)
-
line
_ width (1) -
line
_ width= (1) - load (1)
-
load
_ file (1) -
load
_ stream (2) - mark (1)
- new (14)
- offset (1)
- parse (2)
-
parse
_ file (1) -
parse
_ stream (2) -
parse
_ time (1) - parser (1)
- plain (1)
- plain= (1)
- problem (1)
-
psych
_ to _ yaml (1) -
psych
_ y (1) - push (1)
- quoted (1)
- quoted= (1)
- root (2)
-
safe
_ load (2) - scalar (1)
- start (3)
-
start
_ document (1) -
start
_ mapping (1) -
start
_ sequence (1) -
start
_ stream (1) - started (1)
- started? (1)
- streaming? (1)
- style (3)
- style= (3)
- tag (4)
- tag= (3)
-
tag
_ directives (1) -
tag
_ directives= (1) -
to
_ json (1) -
to
_ ruby (1) -
to
_ yaml (2) - tokenize (1)
- transform (1)
- tree (1)
- value (1)
- value= (1)
- version (1)
- version= (1)
- y (1)
- yaml (2)
-
yaml
_ tag (1)
検索結果
先頭5件
-
psych (114397.0)
-
yaml のバックエンドライブラリです。libyaml ベースで作成されてお り、YAML バージョン 1.1 を扱う事ができます。
yaml のバックエンドライブラリです。libyaml ベースで作成されてお
り、YAML バージョン 1.1 を扱う事ができます。
=== 概要
Psych を用いると YAML のパースと出力ができます。
これらの機能は libyaml http://pyyaml.org/wiki/LibYAML を用いて
実装されています。さらに Ruby の大半のオブジェクトと YAML フォーマットの
データの間を相互に変換することができます。
=== 基本的な使いかた
//emlist[][ruby]{
require 'psych'
# YAML のテキストをパースする
Psych.l... -
Psych
. parse(yaml , filename = nil) -> Psych :: Nodes :: Document (51448.0) -
YAML ドキュメントをパースし、YAML の AST を返します。
YAML ドキュメントをパースし、YAML の AST を返します。
入力に複数のドキュメントが含まれている場合は、先頭のものを AST に変換して
返します。
filename はパース中に発生した例外のメッセージに用います。
AST については Psych::Nodes を参照してください。
@param yaml YAML ドキュメント(文字列 or IO オブジェクト)
@param filename Psych::SyntaxError 発生時にファイル名として表示する文字列。
@raise Psych::SyntaxError YAMLドキュメントに文法エラーが発見されたと... -
Psych
. parse _ stream(yaml) -> Psych :: Nodes :: Stream (51394.0) -
YAML ドキュメントをパースします。 yaml が 複数の YAML ドキュメントを含む場合を取り扱うことができます。
YAML ドキュメントをパースします。
yaml が 複数の YAML ドキュメントを含む場合を取り扱うことができます。
ブロックなしの場合は YAML の AST (すべての YAML ドキュメントを
保持した Psych::Nodes::Stream オブジェクト)を返します。
ブロック付きの場合は、そのブロックに最初の YAML ドキュメント
の Psych::Nodes::Document オブジェクトが渡されます。
この場合の返り値には意味がありません。
@see Psych::Nodes
//emlist[例][ruby]{
Psych.parse_stream("--... -
Psych
. parse _ file(filename) -> Psych :: Nodes :: Document (51322.0) -
filename で指定したファイルをパースして YAML の AST を返します。
filename で指定したファイルをパースして YAML の AST を返します。
@param filename パースするファイルの名前
@raise Psych::SyntaxError YAMLドキュメントに文法エラーが発見されたときに発生します -
Psych
. parser -> Psych :: Parser (51304.0) -
デフォルトで使われるのパーサを返します。
デフォルトで使われるのパーサを返します。 -
Psych
. safe _ load(yaml , legacy _ permitted _ classes=[] , legacy _ permitted _ symbols=[] , legacy _ aliases=false , legacy _ filename=nil) -> object (51253.0) -
安全に YAML フォーマットの文書を読み込み Ruby のオブジェクトを生成して返します。
安全に YAML フォーマットの文書を読み込み Ruby のオブジェクトを生成して返します。
デフォルトでは以下のクラスのオブジェクトしか変換しません。
* TrueClass
* FalseClass
* NilClass
* Numeric
* String
* Array
* Hash
再帰的なデータ構造はデフォルトでは許可されていません。
任意のクラスを許可するにはキーワード引数 permitted_classes を指定すると、
そのクラスが追加されます。例えば Date クラスを許可するには
以下のように書いてください:
//emlist[permitte... -
Psych
. safe _ load(yaml , permitted _ classes: [] , permitted _ symbols: [] , aliases: false , filename: nil , fallback: nil , symbolize _ names: false , freeze: false) -> object (51253.0) -
安全に YAML フォーマットの文書を読み込み Ruby のオブジェクトを生成して返します。
安全に YAML フォーマットの文書を読み込み Ruby のオブジェクトを生成して返します。
デフォルトでは以下のクラスのオブジェクトしか変換しません。
* TrueClass
* FalseClass
* NilClass
* Numeric
* String
* Array
* Hash
再帰的なデータ構造はデフォルトでは許可されていません。
任意のクラスを許可するにはキーワード引数 permitted_classes を指定すると、
そのクラスが追加されます。例えば Date クラスを許可するには
以下のように書いてください:
//emlist[permitte... -
Psych
. load(yaml , filename: nil , fallback: false , symbolize _ names: false) -> object (51163.0) -
YAML ドキュメントを Ruby のデータ構造(オブジェクト)に変換します。
YAML ドキュメントを Ruby のデータ構造(オブジェクト)に変換します。
入力に複数のドキュメントが含まれている場合は、先頭のものを変換して
返します。
filename はパース中に発生した例外のメッセージに用います。
@param yaml YAML ドキュメント(文字列 or IO オブジェクト)
@param filename Psych::SyntaxError 発生時にファイル名として表示する文字列。
@param fallback 引数 yaml に空のYAMLを指定した場合の戻り値を指定します。デフォルトは false です。
@param symbolize_... -
Psych
. parse _ stream(yaml) {|node| . . . } -> () (51094.0) -
YAML ドキュメントをパースします。 yaml が 複数の YAML ドキュメントを含む場合を取り扱うことができます。
YAML ドキュメントをパースします。
yaml が 複数の YAML ドキュメントを含む場合を取り扱うことができます。
ブロックなしの場合は YAML の AST (すべての YAML ドキュメントを
保持した Psych::Nodes::Stream オブジェクト)を返します。
ブロック付きの場合は、そのブロックに最初の YAML ドキュメント
の Psych::Nodes::Document オブジェクトが渡されます。
この場合の返り値には意味がありません。
@see Psych::Nodes
//emlist[例][ruby]{
Psych.parse_stream("--... -
Psych
. dump(o , io , options = {}) -> () (51073.0) -
Ruby のオブジェクト o を YAML ドキュメントに変換します。
Ruby のオブジェクト o を YAML ドキュメントに変換します。
io に IO オブジェクトを指定した場合は、変換されたドキュメントが
その IO に書き込まれます。
指定しなかった場合は変換されたドキュメントが文字列としてメソッドの返り値と
なります。
options で出力に関するオプションを以下の指定できます。
: :version
YAML document に付加するバージョンを [major, minor] という配列、
もしくは文字列で指定します
: :header
出力にヘッダを付けるかどうかを真偽値で指定します
: :indentation
イン... -
Psych
. dump(o , options = {}) -> String (51073.0) -
Ruby のオブジェクト o を YAML ドキュメントに変換します。
Ruby のオブジェクト o を YAML ドキュメントに変換します。
io に IO オブジェクトを指定した場合は、変換されたドキュメントが
その IO に書き込まれます。
指定しなかった場合は変換されたドキュメントが文字列としてメソッドの返り値と
なります。
options で出力に関するオプションを以下の指定できます。
: :version
YAML document に付加するバージョンを [major, minor] という配列、
もしくは文字列で指定します
: :header
出力にヘッダを付けるかどうかを真偽値で指定します
: :indentation
イン... -
Psych
. load _ stream(yaml , filename=nil) -> [object] (51073.0) -
複数の YAML ドキュメントを含むデータを Ruby のオブジェクトに変換します。
複数の 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...") do |ruby|
list << ru... -
Psych
. load _ stream(yaml , filename=nil) {|obj| . . . } -> () (51073.0) -
複数の YAML ドキュメントを含むデータを Ruby のオブジェクトに変換します。
複数の 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...") do |ruby|
list << ru... -
Psych
:: VERSION -> String (51049.0) -
Psych のバージョン。
Psych のバージョン。 -
Psych
. dump _ stream(*objects) -> String (51019.0) -
オブジェクト列を YAML ドキュメント列に変換します。
オブジェクト列を YAML ドキュメント列に変換します。
@param objects 変換対象のオブジェクト列
//emlist[例][ruby]{
Psych.dump_stream("foo\n ", {}) # => "--- ! \"foo\\n \"\n--- {}\n"
//} -
Psych
. libyaml _ version -> [Integer , Integer , Integer] (51019.0) -
libyaml のバージョンを返します。
libyaml のバージョンを返します。
[major, minor patch-level] という 3 つの整数からなる配列を返します。
@see Psych::LIBYAML_VERSION -
Psych
. load _ file(filename) -> object (51019.0) -
filename で指定したファイルを YAML ドキュメントとして Ruby のオブジェクトに変換します。
filename で指定したファイルを YAML ドキュメントとして
Ruby のオブジェクトに変換します。
@param filename ファイル名
@raise Psych::SyntaxError YAMLドキュメントに文法エラーが発見されたときに発生します -
Psych
. to _ json(o) -> String (51001.0) -
Ruby のオブジェクト o を JSON の文字列に変換します。
Ruby のオブジェクト o を JSON の文字列に変換します。
@param o 変換対象となるオブジェクト -
Psych
:: LIBYAML _ VERSION -> String (51001.0) -
libyaml のバージョン。
libyaml のバージョン。 -
Object
# psych _ to _ yaml(options = {}) -> String (42376.0) -
オブジェクトを YAML document に変換します。
オブジェクトを YAML document に変換します。
options でオプションを指定できます。
Psych.dump と同じなので詳しくはそちらを参照してください。
syck に to_yaml メソッドがあるため、
psych_to_yaml が別名として定義されています。将来的に
syck が廃止された場合 psych_to_yaml は廃止
される予定であるため、特別の事情がない限り to_yaml を用いてください。
@param options 出力オプション
@see Psych.dump -
Kernel
# psych _ y(*objects) -> String (42340.0) -
objects を YAML document に変換します。
objects を YAML document に変換します。
このメソッドは irb 上でのみ定義されます。
syck に y メソッドがあるため、
psych_y が別名として定義されています。将来的に
syck が廃止された場合 psych_y は廃止
される予定であるため、特別の事情がない限り y を用いてください。
@param objects YAML document に変換する Ruby のオブジェクト -
Psych (42001.0)
-
yaml のバックエンドのためのモジュールです。
yaml のバックエンドのためのモジュールです。 -
Psych
:: Visitors :: YAMLTree . new(options = {} , emitter = Psych :: TreeBuilder . new , ss = Psych :: ScalarScanner . new) -> Psych :: Visitors :: YAMLTree (34000.0) -
YAMLTree オブジェクトを生成します。
YAMLTree オブジェクトを生成します。
options には構築される YAML AST に設定されるオプション設定を指定します。
Psych.dump と同じオプションが指定できます。
emitter には AST の構築に使われる Psych::TreeBuilder オブジェクト
を渡します。
ss は Ruby の String が YAML document 上で quote が必要かどうか
を判定するための Psych::ScalarScanner オブジェクトを渡します。
emitter, ss は通常デフォルトのものから変える必要はないでしょう。
@param... -
Psych
:: Nodes :: Stream . new(encoding = Psych :: Nodes :: Stream :: UTF8) -> Psych :: Nodes :: Stream (33709.0) -
Psych::Nodes::Stream オブジェクトを生成して返します。
Psych::Nodes::Stream オブジェクトを生成して返します。
encoding には stream に使われるエンコーディングを指定します。
以下のいずれかを指定します。
* Psych::Nodes::Node::UTF8
* Psych::Nodes::Node::UTF16BE
* Psych::Nodes::Node::UTF16LE
@param encoding エンコーディング -
Psych
:: Stream # start(encoding = Psych :: Nodes :: Stream :: UTF8) -> Psych :: Stream (33631.0) -
Ruby オブジェクトを YAML document に変換するための準備をします。
Ruby オブジェクトを YAML document に変換するための準備をします。
変換された document は Psych::Stream.new で指定した
出力先に出力されます。
finish を呼び出すことで出力が完了します(finish を呼び出さないと
最後まで出力されない場合があります)。
ブロック付きで start を呼び出すと、変換準備を終えた Stream オブジェクト
(self) がブロックに渡され、ブロックが呼び出された後に finish を呼び出します。
これによって finish を確実に呼び出すことができます。
@param encoding 出... -
Psych
:: Stream # start(encoding = Psych :: Nodes :: Stream :: UTF8) {|em| . . . } -> Psych :: Stream (33631.0) -
Ruby オブジェクトを YAML document に変換するための準備をします。
Ruby オブジェクトを YAML document に変換するための準備をします。
変換された document は Psych::Stream.new で指定した
出力先に出力されます。
finish を呼び出すことで出力が完了します(finish を呼び出さないと
最後まで出力されない場合があります)。
ブロック付きで start を呼び出すと、変換準備を終えた Stream オブジェクト
(self) がブロックに渡され、ブロックが呼び出された後に finish を呼び出します。
これによって finish を確実に呼び出すことができます。
@param encoding 出... -
Psych
:: Nodes (33499.0) -
Psych が中間データとして利用している AST (Abstract Syntax Tree) に 関するモジュール。
Psych が中間データとして利用している AST (Abstract Syntax Tree) に
関するモジュール。
Psych.load によって YAML ドキュメントを Ruby オブジェクトに変換
するときには、一度中間的な AST に変換され、その AST が Ruby の
オブジェクトに変換されます。
逆向き、つまり Psych.dump で Ruby のオブジェクトを
YAML ドキュメントに変換するときには、中間的な AST に変換してから
それを YAML ドキュメントに変換します。
YAML AST の各ノードのクラスはすべて Psych::Nodes の下にあり... -
Psych
:: Nodes :: Scalar . new(value , anchor=nil , tag=nil , plain=true , quoted=false , style=ANY) -> Psych :: Nodes:Scalar (33412.0) -
Scalar オブジェクトを生成します。
Scalar オブジェクトを生成します。
value は scalar の値を文字列で指定します。
anchor には scalar に付加されている anchor を文字列で指定します。
anchor を付けない場合には nil を指定します。
tag には scalar に付加されている tag を文字列で指定します。
tag を付けない場合には nil を指定します。
plain は plain style であるかどうか、quoted は quoted style であるかどうか
を指定します。style には node の style を整数値で渡します。
style は次... -
Psych
:: Visitors :: YAMLTree # start(encoding = Nodes :: Stream :: UTF8) -> Psych :: Nodes :: Stream (33376.0) -
Ruby オブジェクトから YAML AST への変換のための準備をします。
Ruby オブジェクトから YAML AST への変換のための準備をします。
Psych::Visitors::YAMLTree#push が呼び出されたとき、
まだこのメソッドが呼び出されていなければ push メソッドがこの
メソッドを呼び出し、変換の準備をします。
encoding には以下のいずれかを指定できます。
* Psych::Nodes::Node::UTF8
* Psych::Nodes::Node::UTF16BE
* Psych::Nodes::Node::UTF16LE
@param encoding YAML AST に設定するエンコーディング -
Psych
:: Nodes :: Mapping . new(anchor=nil , tag=nil , implicit=true , style=BLOCK) -> Psych :: Nodes :: Mapping (33358.0) -
新たな mapping オブジェクトを生成します。
新たな mapping オブジェクトを生成します。
anchor には mapping に付加されている anchor を文字列で指定します。
anchor を付けない場合には nil を指定します。
tag には mapping に付加されている tag を文字列で指定します。
tag を付けない場合には nil を指定します。
implicit には mapping が implicit に開始されたかどうかを
真偽値で指定します。
style には YAML ドキュメント上の style を整数で指定します。以下のいずれ
かを指定できます。
* Psych::Nodes::... -
Psych
:: Nodes :: Sequence . new(anchor=nil , tag=nil , implicit=true , style=BLOCK) -> Psych :: Nodes :: Sequence (33358.0) -
新たな sequence オブジェクトを生成します。
新たな sequence オブジェクトを生成します。
anchor には sequence に付加されている anchor を文字列で指定します。
anchor を付けない場合には nil を指定します。
tag には sequence に付加されている tag を文字列で指定します。
tag を付けない場合には nil を指定します。
implicit には sequence が implicit に開始されたかどうかを
真偽値で指定します。
style には YAML ドキュメント上の style を整数で指定します。以下のいずれ
かを指定できます。
* Psych::Nod... -
Psych
:: Parser # mark -> Psych :: Parser :: Mark (33352.0) -
パーサが現在読み込んでいる入力上の位置を Psych::Parser::Mark オブジェクト で返します。
パーサが現在読み込んでいる入力上の位置を Psych::Parser::Mark オブジェクト
で返します。 -
Psych
:: Nodes :: Document . new(version=[] , tag _ directives=[] , implicit=false) -> Psych :: Nodes :: Document (33340.0) -
Document オブジェクトを生成します。
Document オブジェクトを生成します。
version にはドキュメントのバージョンを指定します。
[major, minor] という配列で指定します。
tag_directives には tag directive の配列を指定します。
それぞれの tag は [prefix, suffix] という文字列の配列で
表現します。
implicit にはドキュメントが implicit に始まっているかどうかを
真偽値で指定します。
@param version YAML ドキュメントのバージョン
@param tag_directives tag directive の配列... -
Psych
:: Parser # handler -> Psych :: Handler (33322.0) -
セットされているイベントハンドラを返します。
セットされているイベントハンドラを返します。
@see Psych::Parser#handler= -
Psych
:: Parser . new(handler = Handler . new) -> Psych :: Parser (33322.0) -
新たなパーサオブジェクトを生成して返します。
新たなパーサオブジェクトを生成して返します。
handler で YAML のイベントを処理するハンドラを指定します。
詳しくは Psych::Parser を参照してください。
@param handler YAML のイベントを処理するハンドラ -
Psych
:: TreeBuilder # root -> Psych :: Nodes :: Stream (33322.0) -
AST の root を返します。
AST の root を返します。
@see Psych::Nodes::Stream -
Psych
:: Visitors :: YAMLTree # finish -> Psych :: Nodes :: Stream|nil (33322.0) -
変換を終了し、構築した AST を返します。
変換を終了し、構築した AST を返します。
このメソッドは2回呼び出さないでください。
@see Psych::Visitors::YAMLTree#tree -
Psych
:: Visitors :: YAMLTree # tree -> Psych :: Nodes :: Stream|nil (33322.0) -
変換を終了し、構築した AST を返します。
変換を終了し、構築した AST を返します。
内部で finish を呼び出し、変換処理を終了します。
このメソッドを2回以上呼ぶと、2回目以降は nil を返します。
@see Psych::Visitors::YAMLTree#finish -
Psych
:: Emitter . new(io) -> Psych :: Emitter (33304.0) -
Emitter オブジェクトを生成して返します。
Emitter オブジェクトを生成して返します。
@param io 出力先の IO オブジェクト -
Psych
:: Nodes :: Alias . new(anchor) -> Psych :: Nodes :: Alias (33304.0) -
新たな Alias オブジェクトを生成します。
新たな Alias オブジェクトを生成します。
anchor で指す先の anchor を指定します。
@param anchor 指す先の anchor -
Psych
:: Nodes :: Document # root -> Psych :: Nodes :: Node (33304.0) -
ルートノードを返します。
ルートノードを返します。 -
Psych
:: Nodes :: Node # children -> [Psych :: Nodes :: Node] (33304.0) -
子ノードの集合を配列で返します。
子ノードの集合を配列で返します。 -
Psych
:: Stream . new(io) -> Psych :: Stream (33304.0) -
新たな Stream オブジェクトを生成します。
新たな Stream オブジェクトを生成します。
io で YAML document の出力先を指定します。
@param io 出力先の IO オブジェクト -
Psych
:: TreeBuilder . new -> Psych :: TreeBuilder (33304.0) -
TreeBuilder オブジェクトを生成します。
TreeBuilder オブジェクトを生成します。 -
Psych
:: Emitter (33247.0) -
Psych::Parser でパースし、生じたイベントから YAML ドキュメントを再構築するようなハンドラです。
Psych::Parser でパースし、生じたイベントから
YAML ドキュメントを再構築するようなハンドラです。
以下の例では STDIN から YAML ドキュメントを入力し、
再構築した YAML ドキュメントを STDERR に出力します。
parser = Psych::Parser.new(Psych::Emitter.new($stderr))
parser.parse($stdin)
また、以下のようにイベントを手動で発生させることで
YAML ドキュメントを構築させることもできます。
各メソッドの意味については Psych::Handler を参照してください... -
Psych
:: Parser (33181.0) -
YAML のパーサ。
YAML のパーサ。
このクラスは YAML ドキュメントをパースし、コンストラクタに渡された
ハンドラにイベントを通知(呼び出し)します。
このイベントを使って YAML の AST を構築したり YAML ドキュメントを
別のフォーマット変換したりします。
Psych::Emitter を使うとパースしたドキュメントを元通りに出力
することもできます。
Psych::Parser が生成するイベントは Psych::Handler
を見てください。
以下の例では YAML ドキュメント に含まれているスカラー値を表示します。
# Handler for detecting s... -
Psych
:: Nodes :: Sequence (33127.0) -
YAML sequence http://yaml.org/spec/1.1/#sequence/syntax を表すクラスです。
YAML sequence http://yaml.org/spec/1.1/#sequence/syntax を表すクラスです。
YAML sequence とは基本的にはリスト、配列です。以下のような例が考えられます。
%YAML 1.1
---
- I am
- a Sequence
YAML sequence には anchor を付加することができます。
この例では Psych::Nodes::Sequence#anchor は "A" を返します。
%YAML 1.1
---
&A [
"This sequence",
"has an... -
Psych
:: Nodes :: Mapping (33109.0) -
YAML の mapping http://yaml.org/spec/1.1/#mapping を表すクラスです。
YAML の mapping http://yaml.org/spec/1.1/#mapping を表すクラスです。
Psych::Nodes::Mapping は 0 個以上の子ノードを持つことができます。
子ノードの個数は偶数でなければなりません。
子ノードは以下のいずれかクラスのインスタンスでなければなりません。
* Psych::Nodes::Sequence
* Psych::Nodes::Mapping
* Psych::Nodes::Scalar
* Psych::Nodes::Alias
子ノードは mapping のキーと値が交互に並んでいます。
as... -
Psych
:: Handler # scalar(value , anchor , tag , plain , quoted , style) -> () (33091.0) -
スカラー値を見付けたときに呼び出されます。
スカラー値を見付けたときに呼び出されます。
value にはスカラー値の文字列が渡されます。
anchor にはスカラー値に関連付けられた anchor の名前が文字列で渡されます。
anchor がない場合には nil が渡されます。
tag にはスカラー値に関連付けられた tag の名前が文字列で渡されます。
tag がない場合には nil が渡されます。
plain は plain style であるかどうか、quoted は quoted style であるかどうか
が渡されます。style には node の style が整数値で渡されます。
style は次の値のいずれか... -
Psych
:: Nodes :: Document (33091.0) -
YAML ドキュメントを表すクラスです。
YAML ドキュメントを表すクラスです。
このノードは Psych::Nodes::Stream の子ノードでなければ
なりません。このノードは1個の子ノードを持たなければなりません。
またこの子ノードは以下のいずれかである必要があります。
* Psych::Nodes::Sequence
* Psych::Nodes::Mapping
* Psych::Nodes::Scalar
この唯一の子ノードは「ルート」とも呼ばれ、Psych::Nodes::Document#root で
アクセスすることができます。 -
Psych
:: TreeBuilder (33091.0) -
YAML AST を構築するためのクラスです。
YAML AST を構築するためのクラスです。
Psych::Parser.new に渡して YAML ドキュメントを YAML AST に変換する
ことができます。
また、Psych::Visitors::YAMLTree.new に渡して Ruby オブジェクト
を YAML AST に変換することもできます。
=== Example
parser = Psych::Parser.new Psych::TreeBuilder.new
parser.parse('--- foo')
parser.handler.root # => #<Psych::Nodes::Stre... -
Object
# to _ yaml(options = {}) -> String (33076.0) -
オブジェクトを YAML document に変換します。
オブジェクトを YAML document に変換します。
options でオプションを指定できます。
Psych.dump と同じなので詳しくはそちらを参照してください。
syck に to_yaml メソッドがあるため、
psych_to_yaml が別名として定義されています。将来的に
syck が廃止された場合 psych_to_yaml は廃止
される予定であるため、特別の事情がない限り to_yaml を用いてください。
@param options 出力オプション
@see Psych.dump -
Psych
:: Nodes :: Stream # encoding=(enc) (33073.0) -
stream に使われるエンコーディングを指定します。
stream に使われるエンコーディングを指定します。
以下のいずれかを指定します。
* Psych::Nodes::Node::UTF8
* Psych::Nodes::Node::UTF16BE
* Psych::Nodes::Node::UTF16LE
@param enc 設定するエンコーディング
@see Psych::Nodes::Stream#encoding -
Psych
:: Stream (33073.0) -
入力されたオブジェクトから変換された YAML document を指定した IO に出力する機能を持つクラスです。
入力されたオブジェクトから変換された YAML document を指定した
IO に出力する機能を持つクラスです。
start で変換を開始し、push で変換する Ruby オブジェクトを渡し、
最後に finish を呼ぶことで変換を完了します。
stream = Psych::Stream.new($stdout)
stream.start
stream.push({:foo => 'bar'})
stream.finish
YAML document は(バッファリングされずに)直接 $stdout に出力されます。
finish を確実に呼び出すためには Ps... -
Psych
:: Handler (33067.0) -
Psych::Parser で用いるイベントハンドラの抽象基底クラスです。
Psych::Parser で用いるイベントハンドラの抽象基底クラスです。
Psych::Parser を使うためには、このクラスを継承し、
取り扱いたいイベントに対応するメソッドを定義します。 -
Psych
:: Handler # start _ stream(encoding) -> () (33055.0) -
YAML ストリームの始まりで呼び出されます。
YAML ストリームの始まりで呼び出されます。
encoding にはストリームのエンコーディング(以下のいずれか)が渡されます。
* Psych::Parser::UTF8
* Psych::Parser::UTF16BE
* Psych::Parser::UTF16LE
このメソッドは YAML のストリームごとに呼び出されます。一つのストリームには
複数のドキュメントが含まれている可能性があります。
必要に応じてこのメソッドを override してください。
@param encoding ストリームのエンコーディング(整数値) -
Psych
:: Nodes :: Mapping :: ANY -> Integer (33055.0) -
「任意」のスタイルを意味します。
「任意」のスタイルを意味します。
emitter が適当に style を決めます。
@see Psych::Nodes::Mapping.new,
Psych::Nodes::Mapping#style,
Psych::Handler#start_mapping -
Psych
:: Nodes :: Mapping :: BLOCK -> Integer (33055.0) -
block style を表します。
block style を表します。
@see Psych::Nodes::Mapping.new,
Psych::Nodes::Mapping#style,
Psych::Handler#start_mapping -
Psych
:: Nodes :: Mapping :: FLOW -> Integer (33055.0) -
flow style を表します。
flow style を表します。
@see Psych::Nodes::Mapping.new,
Psych::Nodes::Mapping#style,
Psych::Handler#start_mapping -
Psych
:: Nodes :: Scalar :: DOUBLE _ QUOTED -> Integer (33055.0) -
double quoted style を表します。
double quoted style を表します。
@see Psych::Nodes::Scalar.new,
Psych::Nodes::Scalar#style,
Psych::Handler#scalar -
Psych
:: Nodes :: Scalar :: FOLDED -> Integer (33055.0) -
folded style を表します。
folded style を表します。
@see Psych::Nodes::Scalar.new,
Psych::Nodes::Scalar#style,
Psych::Handler#scalar -
Psych
:: Nodes :: Scalar :: LITERAL -> Integer (33055.0) -
literal style を表します。
literal style を表します。
@see Psych::Nodes::Scalar.new,
Psych::Nodes::Scalar#style,
Psych::Handler#scalar -
Psych
:: Nodes :: Scalar :: PLAIN -> Integer (33055.0) -
plain scalar style を表します。
plain scalar style を表します。
@see Psych::Nodes::Scalar.new,
Psych::Nodes::Scalar#style,
Psych::Handler#scalar -
Psych
:: Nodes :: Scalar :: SINGLE _ QUOTED -> Integer (33055.0) -
single quoted style を表します。
single quoted style を表します。
@see Psych::Nodes::Scalar.new,
Psych::Nodes::Scalar#style,
Psych::Handler#scalar -
Psych
:: Nodes :: Sequence :: ANY -> Integer (33055.0) -
「任意」のスタイルを意味します。
「任意」のスタイルを意味します。
emitter が適当に style を決めます。
@see Psych::Nodes::Sequence.new,
Psych::Nodes::Sequence#style,
Psych::Handler#start_sequence -
Psych
:: Nodes :: Sequence :: BLOCK -> Integer (33055.0) -
block style を表します。
block style を表します。
@see Psych::Nodes::Sequence.new,
Psych::Nodes::Sequence#style,
Psych::Handler#start_sequence -
Psych
:: Parser # parse(yaml) -> self (33055.0) -
YAML ドキュメントをパースし、イベントハンドラに イベントを逐次通知します。
YAML ドキュメントをパースし、イベントハンドラに
イベントを逐次通知します。
@see Psych::Parser.new, Psych::Handler, Psych::Parser#handler -
Psych
:: Exception (33049.0) -
Psych 関連のエラーを表す例外です。
Psych 関連のエラーを表す例外です。 -
Psych
:: Visitors (33049.0) -
Psych 内部で利用する各種 Visitor class を保持しているモジュール。
Psych 内部で利用する各種 Visitor class を保持しているモジュール。 -
Psych
:: Visitors :: Visitor (33049.0) -
Psych 内部で利用する、Visitor パターンのための 抽象クラス。
Psych 内部で利用する、Visitor パターンのための 抽象クラス。 -
Psych
:: Visitors :: YAMLTree # finished -> bool (33049.0) -
Psych::Visitors::YAMLTree#finish をすでに呼び出しているならば 真を返します。
Psych::Visitors::YAMLTree#finish をすでに呼び出しているならば
真を返します。
まだならば偽を返します。 -
Psych
:: Visitors :: YAMLTree # finished? -> bool (33049.0) -
Psych::Visitors::YAMLTree#finish をすでに呼び出しているならば 真を返します。
Psych::Visitors::YAMLTree#finish をすでに呼び出しているならば
真を返します。
まだならば偽を返します。 -
Psych
:: Visitors :: YAMLTree # started -> bool (33049.0) -
Psych::Visitors::YAMLTree#start をすでに呼び出しているならば 真を返します。
Psych::Visitors::YAMLTree#start をすでに呼び出しているならば
真を返します。
まだならば偽を返します。 -
Psych
:: Visitors :: YAMLTree # started? -> bool (33049.0) -
Psych::Visitors::YAMLTree#start をすでに呼び出しているならば 真を返します。
Psych::Visitors::YAMLTree#start をすでに呼び出しているならば
真を返します。
まだならば偽を返します。 -
Kernel
# y(*objects) -> String (33040.0) -
objects を YAML document に変換します。
objects を YAML document に変換します。
このメソッドは irb 上でのみ定義されます。
syck に y メソッドがあるため、
psych_y が別名として定義されています。将来的に
syck が廃止された場合 psych_y は廃止
される予定であるため、特別の事情がない限り y を用いてください。
@param objects YAML document に変換する Ruby のオブジェクト -
Psych
:: Handler # start _ mapping(anchor , tag , implicit , style) -> () (33037.0) -
mapping の開始を見付けたときに呼び出されます。
mapping の開始を見付けたときに呼び出されます。
anchor には map に関連付けられた anchor の名前が文字列で渡されます。
anchor がない場合には nil が渡されます。
tag には map に関連付けられた tag の名前が文字列で渡されます。
tag がない場合には nil が渡されます。
implicit には map が implicit に開始されたかどうかが
真偽値で渡されます。
style には sequence の style が整数値で渡されます。以下のいずれか
です。
* Psych::Nodes::Mapping::BLOCK
... -
Psych
:: Handler # start _ sequence(anchor , tag , implicit , style) -> () (33037.0) -
sequence の開始を見付けたときに呼び出されます。
sequence の開始を見付けたときに呼び出されます。
anchor には sequence に関連付けられた anchor の名前が文字列で渡されます。
anchor がない場合には nil が渡されます。
tag には sequence に関連付けられた tag の名前が文字列で渡されます。
tag がない場合には nil が渡されます。
implicit には sequence が implicit に開始されたかどうかが
真偽値で渡されます。
style には sequence の style が整数値で渡されます。以下のいずれか
です。
* Psych::Nodes:... -
Psych
:: Nodes :: Alias # anchor -> String (33037.0) -
alias が指す先の anchor を返します。
alias が指す先の anchor を返します。
@see Psych::Nodes::Alias#anchor=,
Psych::Nodes::Alias.new -
Psych
:: Nodes :: Alias # anchor=(val) (33037.0) -
alias が指す先の anchor を変更します。
alias が指す先の anchor を変更します。
@param val 設定する anchor
@see Psych::Nodes::Alias#anchor,
Psych::Nodes::Alias.new -
Psych
:: Nodes :: Document # implicit -> bool (33037.0) -
ドキュメントが implicit に始まっているかどうかを返します。
ドキュメントが implicit に始まっているかどうかを返します。
@see Psych::Nodes::Document#implicit=,
Psych::Nodes::Document.new -
Psych
:: Nodes :: Document # implicit=(bool) (33037.0) -
ドキュメントが implicit に始まっているかどうかを設定します。
ドキュメントが implicit に始まっているかどうかを設定します。
@param bool ドキュメントが implicit に始まっているかどうかの設定値
@see Psych::Nodes::Document#implicit,
Psych::Nodes::Document.new -
Psych
:: Nodes :: Document # tag _ directives -> [[String , String]] (33037.0) -
tag directive の配列を返します。
tag directive の配列を返します。
@see Psych::Nodes::Document#tag_directives=,
Psych::Nodes::Document.new -
Psych
:: Nodes :: Document # tag _ directives=(tags) (33037.0) -
tag directive の配列を設定します。
tag directive の配列を設定します。
@param tags 設定する tag directive の配列
@see Psych::Nodes::Document#tag_directives,
Psych::Nodes::Document.new -
Psych
:: Nodes :: Document # version -> [Integer] (33037.0) -
YAML ドキュメントのバージョンを返します。
YAML ドキュメントのバージョンを返します。
@see Psych::Nodes::Document#version=,
Psych::Nodes::Document.new -
Psych
:: Nodes :: Document # version=(ver) (33037.0) -
YAML ドキュメントのバージョンを設定します。
YAML ドキュメントのバージョンを設定します。
@param ver 設定するバージョン
@see Psych::Nodes::Document#version,
Psych::Nodes::Document.new -
Psych
:: Nodes :: Mapping # anchor -> String|nil (33037.0) -
mapping に付加された anchor を返します。
mapping に付加された anchor を返します。
@see Psych::Nodes::Mapping#anchor=,
Psych::Nodes::Mapping.new -
Psych
:: Nodes :: Mapping # anchor=(a) (33037.0) -
mapping に付加する anchor を設定します。
mapping に付加する anchor を設定します。
@param a 設定する anchor
@see Psych::Nodes::Mapping#anchor,
Psych::Nodes::Mapping.new -
Psych
:: Nodes :: Mapping # implicit -> bool (33037.0) -
mapping が implicit に開始されたかどうかを真偽値で返します。
mapping が implicit に開始されたかどうかを真偽値で返します。
@see Psych::Nodes::Mapping#implicit=,
Psych::Nodes::Mapping.new -
Psych
:: Nodes :: Mapping # implicit=(bool) (33037.0) -
mapping が implicit に開始されたかどうかを真偽値で設定します。
mapping が implicit に開始されたかどうかを真偽値で設定します。
@param bool 設定値
@see Psych::Nodes::Mapping#implicit,
Psych::Nodes::Mapping.new -
Psych
:: Nodes :: Mapping # style -> Integer (33037.0) -
mapping の style を返します。
mapping の style を返します。
@see Psych::Nodes::Mapping#style=,
Psych::Nodes::Mapping.new -
Psych
:: Nodes :: Mapping # style=(sty) (33037.0) -
mapping の style を設定します。
mapping の style を設定します。
@param sty 設定する style
@see Psych::Nodes::Mapping#style,
Psych::Nodes::Mapping.new -
Psych
:: Nodes :: Mapping # tag -> String|nil (33037.0) -
mapping に付加された tag を返します。
mapping に付加された tag を返します。
@see Psych::Nodes::Mapping#tag=,
Psych::Nodes::Mapping.new -
Psych
:: Nodes :: Mapping # tag=(t) (33037.0) -
mapping に付加する tag を設定します。
mapping に付加する tag を設定します。
@param t 設定する tag
@see Psych::Nodes::Mapping#anchor=,
Psych::Nodes::Mapping.new -
Psych
:: Nodes :: Scalar # anchor -> String|nil (33037.0) -
scalar に付加された anchor を返します。
scalar に付加された anchor を返します。
@see Psych::Nodes::Scalar#anchor=,
Psych::Nodes::Scalar.new -
Psych
:: Nodes :: Scalar # anchor=(a) (33037.0) -
scalar に付加された anchor を変更します。
scalar に付加された anchor を変更します。
@param a 設定する anchor
@see Psych::Nodes::Scalar#anchor,
Psych::Nodes::Scalar.new -
Psych
:: Nodes :: Scalar # plain -> bool (33037.0) -
scalar が plain style であるかどうかを返します。
scalar が plain style であるかどうかを返します。
@see Psych::Nodes::Scalar#plain=,
Psych::Nodes::Scalar.new -
Psych
:: Nodes :: Scalar # plain=(bool) (33037.0) -
scalar が plain style であるかどうかを変更します。
scalar が plain style であるかどうかを変更します。
@param bool 設定する真偽値
@see Psych::Nodes::Scalar#plain,
Psych::Nodes::Scalar.new -
Psych
:: Nodes :: Scalar # quoted -> bool (33037.0) -
scalar が quoted であるかどうかを返します。
scalar が quoted であるかどうかを返します。
@see Psych::Nodes::Scalar#quoted=,
Psych::Nodes::Scalar.new -
Psych
:: Nodes :: Scalar # quoted=(bool) (33037.0) -
scalar が quoted であるかどうかを変更します。
scalar が quoted であるかどうかを変更します。
@param bool 設定する真偽値
@see Psych::Nodes::Scalar#quoted,
Psych::Nodes::Scalar.new -
Psych
:: Nodes :: Scalar # style -> Integer (33037.0) -
scalar の style を返します。
scalar の style を返します。
@see Psych::Nodes::Scalar#style=,
Psych::Nodes::Scalar.new