要約
Psych::Parser で用いるイベントハンドラの抽象基底クラスです。
Psych::Parser を使うためには、このクラスを継承し、取り扱いたいイベントに対応するメソッドを定義します。
目次
- インスタンスメソッド
インスタンスメソッド
- alias(anchor) -> ()[permalink][rdoc][edit]
- 
anchor という名前の alias を見付けたときに呼び出されます。 必要に応じてこのメソッドを override してください。 - [PARAM] anchor:
- aliasのアンカー文字列
 例以下の YAMLドキュメントは自分自身への参照を持つ配列を表しています。 --- &ponies - first element - *ponies この &ponies が anchor で *ponies が alias です。この場合、 alias メソッドは "poines" という引数で呼び出されます。 
- empty -> ()[permalink][rdoc][edit]
- 
empty event が発生したときに呼び出されます。 実際問題としてこれが呼び出される例は知られていません。 
- end_document(implicit) -> ()[permalink][rdoc][edit]
- 
ドキュメントが終了したときに呼び出されます。 ドキュメントが implicit に終わったならば implicit には真が渡されます。 必要に応じてこのメソッドを override してください。 - [PARAM] implicit:
- ドキュメントが implicit に終わったかどうか
 例以下の YAML ドキュメントでは implicit は true です。 --- hello world また、以下の YAML ドキュメントでは implicit は false です。 --- hello world ... 
- end_mapping -> ()[permalink][rdoc][edit]
- 
mapping の終了の見付けたときに呼び出されます。 必要に応じてこのメソッドを override してください。 
- end_sequence -> ()[permalink][rdoc][edit]
- 
sequence の終了の見付けたときに呼び出されます。 必要に応じてこのメソッドを override してください。 
- end_stream -> ()[permalink][rdoc][edit]
- 
YAML stream の終端を見付けたときに呼び出されます。 必要に応じてこのメソッドを override してください。 
- scalar(value, anchor, tag, plain, quoted, style) -> ()[permalink][rdoc][edit]
- 
スカラー値を見付けたときに呼び出されます。 value にはスカラー値の文字列が渡されます。 anchor にはスカラー値に関連付けられた anchor の名前が文字列で渡されます。 anchor がない場合には nil が渡されます。 tag にはスカラー値に関連付けられた tag の名前が文字列で渡されます。 tag がない場合には nil が渡されます。 plain は plain style であるかどうか、quoted は quoted style であるかどうかが渡されます。style には node の style が整数値で渡されます。 style は次の値のいずれかです。 - Psych::Nodes::Scalar::PLAIN
- Psych::Nodes::Scalar::SINGLE_QUOTED
- Psych::Nodes::Scalar::DOUBLE_QUOTED
- Psych::Nodes::Scalar::LITERAL
- Psych::Nodes::Scalar::FOLDED
 必要に応じてこのメソッドを override してください。 - [PARAM] value:
- スカラー値
- [PARAM] anchor:
- 関連付けられた anchor の名前
- [PARAM] tag:
- タグ名
- [PARAM] plain:
- plain style であるかどうか
- [PARAM] quoted:
- quoted style であるかどうか
- [PARAM] style:
- スカラーのスタイル
 例以下の YAML ドキュメントには多くのパターンのスカラーが含まれています。 --- - !str "foo" - &anchor fun - many lines - | many newlines この YAML ドキュメントには4つの文字列が含まれています。 scalar メソッドは 順に以下の引数で呼び出されます。 # value anchor tag plain quoted style ["foo", nil, "!str", false, false, 3 ] ["fun", "anchor", nil, true, false, 1 ] ["many lines", nil, nil, true, false, 1 ] ["many\nnewlines\n", nil, nil, false, true, 4 ] 
- start_document(version, tag_directives, implicit) -> ()[permalink][rdoc][edit]
- 
YAML ドキュメントの始まりで呼び出されます。 version には YAML ドキュメントに宣言されているバージョンが [major, minor] という配列で渡されます。宣言がない場合は空の配列が渡されます。 tag_directives には tag directive の配列が渡されます。それぞれの tag は [prefix, suffix] という配列で表現されます。 implicit にはドキュメントが implicit に始まっているかどうかが真偽値で渡されます。 必要に応じてこのメソッドを override してください。 - [PARAM] version:
- バージョン
- [PARAM] tag_directives:
- tag directive の配列
- [PARAM] implicit:
- ドキュメントが implicit に始まっているかどうか
 例以下の YAML に対しては %YAML 1.1 %TAG ! tag:tenderlovemaking.com,2009: --- !squee start_document に渡される引数は以下の通りです version # => [1, 1] tag_directives # => [["!", "tag:tenderlovemaking.com,2009:"]] implicit # => false 以下の YAML に対しては - x - y start_document に渡される引数は以下の通りです。 version # => [] tag_directives # => [] implicit # => true 
- start_mapping(anchor, tag, implicit, style) -> ()[permalink][rdoc][edit]
- 
mapping の開始を見付けたときに呼び出されます。 anchor には map に関連付けられた anchor の名前が文字列で渡されます。 anchor がない場合には nil が渡されます。 tag には map に関連付けられた tag の名前が文字列で渡されます。 tag がない場合には nil が渡されます。 implicit には map が implicit に開始されたかどうかが真偽値で渡されます。 style には sequence の style が整数値で渡されます。以下のいずれかです。 必要に応じてこのメソッドを override してください。 - [PARAM] anchor:
- 関連付けられた anchor の名前
- [PARAM] tag:
- タグ名
- [PARAM] implicit:
- mapping が implicit に開始されかどうか
- [PARAM] style:
- mapping のスタイル
 例以下の YAML ドキュメントを例として考えます。 --- k: !!map { hello: world } v: &pewpew hello: worldこの YAML ドキュメントには3つの mapping が含まれています。外側の map の中に 2 つの map が含まれています。 start_mapping メソッドは 順に以下の引数で呼び出されます。 # anchor tag implicit style [nil, nil, true, 1 ] [nil, "tag:yaml.org,2002:map", false, 2 ] ["pewpew", nil, true, 1 ] 
- start_sequence(anchor, tag, implicit, style) -> ()[permalink][rdoc][edit]
- 
sequence の開始を見付けたときに呼び出されます。 anchor には sequence に関連付けられた anchor の名前が文字列で渡されます。 anchor がない場合には nil が渡されます。 tag には sequence に関連付けられた tag の名前が文字列で渡されます。 tag がない場合には nil が渡されます。 implicit には sequence が implicit に開始されたかどうかが真偽値で渡されます。 style には sequence の style が整数値で渡されます。以下のいずれかです。 必要に応じてこのメソッドを override してください。 - [PARAM] anchor:
- 関連付けられた anchor の名前
- [PARAM] tag:
- タグ名
- [PARAM] implicit:
- sequence が implicit に開始されかどうか
- [PARAM] style:
- sequence のスタイル
 Example以下の YAML ドキュメントを例として考えます。 --- - !!seq [ a ] - &pewpew - b この YAML ドキュメントには3つの list が含まれています。外側の list の中に 2 つの list が含まれています。 start_sequence メソッドは 順に以下の引数で呼び出されます。 # anchor tag implicit style [nil, nil, true, 1 ] [nil, "tag:yaml.org,2002:seq", false, 2 ] ["pewpew", nil, true, 1 ] 
- start_stream(encoding) -> ()[permalink][rdoc][edit]
- 
YAML ストリームの始まりで呼び出されます。 encoding にはストリームのエンコーディング(以下のいずれか)が渡されます。 このメソッドは YAML のストリームごとに呼び出されます。一つのストリームには複数のドキュメントが含まれている可能性があります。 必要に応じてこのメソッドを override してください。 - [PARAM] encoding:
- ストリームのエンコーディング(整数値)
 
- streaming? -> bool[permalink][rdoc][edit]
- 
handler が streaming handler であるならば真を返すように override してください。 デフォルトでは false を返します。