YAML AST のノードを表す抽象クラスです。
このクラスをインスタンス化することは不適切です。すべてのノードのクラスはこのクラスの派生クラスです。
children -> [Psych::Nodes::Node]
[permalink][rdoc]子ノードの集合を配列で返します。
each -> Enumerator
[permalink][rdoc]each {|node| ... } -> ()
self のノードをルートとする部分木の各ノードを引数としてブロックを呼び出します。
ブロックを省略した場合は上のような繰り返しをする Enumerator オブジェクトを返します。
tag -> String | nil
[permalink][rdoc]ノードに付加されたタグを返します。
タグが付加されていない場合は nil を返します。
ast = Psych.parse(<<EOS) --- - !!str a - b EOS p ast.root.children[0].value # => "a" p ast.root.children[0].tag # => "tag:yaml.org,2002:str" p ast.root.children[1].value # => "b" p ast.root.children[1].tag # => nil
to_ruby -> object
[permalink][rdoc]transform -> object
AST を ruby のオブジェクトに変換します。
yaml(io=nil, options={}) -> String | IO
[permalink][rdoc]to_yaml(io=nil, options={}) -> String | IO
AST を YAML ドキュメントに変換します。
io に IO オブジェクトを指定した場合は、そのオブジェクトに変換後のドキュメントが書き込まれます。この場合は io を返り値として返します。
io を省略した(nil を指定した)場合には変換後のドキュメントを文字列で返します。
Psych::Nodes::Stream 以外を変換しようとすると、AST として不正であるためエラーが発生します。
options には以下が指定できます。
YAML document に付加するバージョンを [major, minor] という配列、もしくは文字列で指定します
出力にヘッダを付けるかどうかを真偽値で指定します
インデントのレベルを 1 から 9 までの整数で指定します
出力の style が canonical であるかどうかを真偽値で指定します
「好ましい」行幅を整数値で指定します