Type:
Class
Psych::Stream is a streaming YAML emitter. It will not buffer your YAML, but send it straight to an IO.
Here is an example use:
1 2 3 4 | stream = Psych::Stream. new ( $stdout ) stream.start stream.push({ :foo => 'bar' }) stream.finish |
YAML will be immediately emitted to $stdout with no buffering.
Psych::Streaming#start will take a block and ensure that Psych::Visitors::YAMLTree#finish is called, so you can do this form:
1 2 3 4 | stream = Psych::Stream. new ( $stdout ) stream.start do |em| em.push( :foo => 'bar' ) end |