Class: Psych::Stream

Inherits:
Visitors::YAMLTree show all
Includes:
Streaming
Defined in:
lib/psych/stream.rb

Overview

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:

stream = Psych::Stream.new($stdout)
stream.start
stream.push({:foo => 'bar'})
stream.finish

YAML will be immediately emitted to $stdout with no buffering.

Psych::Stream#start will take a block and ensure that Psych::Stream#finish is called, so you can do this form:

stream = Psych::Stream.new($stdout)
stream.start do |em|
  em.push(:foo => 'bar')
end

Defined Under Namespace

Classes: Emitter

Instance Attribute Summary

Attributes inherited from Visitors::YAMLTree

#finished, #started

Method Summary

Methods included from Streaming

#initialize, #start

Methods inherited from Visitors::YAMLTree

#accept, #finish, #format_time, #initialize, #push, #start, #tree, #visit_Array, #visit_BigDecimal, #visit_Class, #visit_Complex, #visit_DateTime, #visit_Exception, #visit_Float, #visit_Hash, #visit_Integer, #visit_Module, #visit_NilClass, #visit_Object, #visit_Psych_Omap, #visit_Psych_Set, #visit_Range, #visit_Rational, #visit_Regexp, #visit_String, #visit_Struct, #visit_Symbol, #visit_Time

Methods inherited from Visitors::Visitor

#accept