Class: Syck::Stream
Overview
YAML::Stream -- for emitting many documents
Instance Attribute Summary collapse
-
#documents ⇒ Object
Returns the value of attribute documents.
-
#options ⇒ Object
Returns the value of attribute options.
Instance Method Summary collapse
- #[](i) ⇒ Object
- #add(doc) ⇒ Object
- #edit(doc_num, doc) ⇒ Object
- #emit(io = nil) ⇒ Object
-
#initialize(opts = {}) ⇒ Stream
constructor
A new instance of Stream.
Constructor Details
#initialize(opts = {}) ⇒ Stream
Returns a new instance of Stream.
10 11 12 13 |
# File 'lib/syck/stream.rb', line 10 def initialize( opts = {} ) @options = opts @documents = [] end |
Instance Attribute Details
#documents ⇒ Object
Returns the value of attribute documents
8 9 10 |
# File 'lib/syck/stream.rb', line 8 def documents @documents end |
#options ⇒ Object
Returns the value of attribute options
8 9 10 |
# File 'lib/syck/stream.rb', line 8 def @options end |
Instance Method Details
#[](i) ⇒ Object
15 16 17 |
# File 'lib/syck/stream.rb', line 15 def []( i ) @documents[ i ] end |
#add(doc) ⇒ Object
19 20 21 |
# File 'lib/syck/stream.rb', line 19 def add( doc ) @documents << doc end |
#edit(doc_num, doc) ⇒ Object
23 24 25 26 |
# File 'lib/syck/stream.rb', line 23 def edit( doc_num, doc ) warn "#{caller[0]}: edit is deprecated" if $VERBOSE @documents[ doc_num ] = doc end |
#emit(io = nil) ⇒ Object
28 29 30 31 32 33 34 35 36 37 |
# File 'lib/syck/stream.rb', line 28 def emit( io = nil ) # opts = @options.dup # opts[:UseHeader] = true if @documents.length > 1 out = Syck.emitter out.reset( io || io2 = StringIO.new ) @documents.each { |v| v.to_yaml( out ) } io || ( io2.rewind; io2.read ) end |