summaryrefslogtreecommitdiff
path: root/lib/yaml/emitter.rb
diff options
context:
space:
mode:
Diffstat (limited to 'lib/yaml/emitter.rb')
-rw-r--r--lib/yaml/emitter.rb107
1 files changed, 0 insertions, 107 deletions
diff --git a/lib/yaml/emitter.rb b/lib/yaml/emitter.rb
deleted file mode 100644
index a6be4a6733..0000000000
--- a/lib/yaml/emitter.rb
+++ /dev/null
@@ -1,107 +0,0 @@
-#
-# Output classes and methods
-#
-
-require 'yaml/baseemitter'
-require 'yaml/encoding'
-
-module YAML
-
- #
- # Emit a set of values
- #
-
- class Emitter
-
- include BaseEmitter
-
- attr_accessor :options
-
- def initialize( opts )
- opts = {} if opts.class != Hash
- @options = YAML::DEFAULTS.dup.update( opts )
- @headless = 0
- @seq_map = false
- @anchors = {}
- @anchor_extras = {}
- @active_anchors = []
- @level = -1
- self.clear
- end
-
- def clear
- @buffer = []
- end
-
- def level
- @level
- end
-
- #
- # Version string
- #
- def version_s
- " %YAML:#{@options[:Version]}" if @options[:UseVersion]
- end
-
- #
- # Header
- #
- def header
- if @headless.nonzero?
- ""
- else
- "---#{version_s} "
- end
- end
-
- #
- # Concatenate to the buffer
- #
- def <<( str )
- #p [ self.id, @level, str ]
- @buffer.last << str
- end
-
- #
- # Monitor objects and allow references
- #
- def start_object( oid )
- @level += 1
- @buffer.push( "" )
- #p [ self.id, @level, :OPEN ]
- idx = nil
- if oid
- if @anchors.has_key?( oid )
- idx = @active_anchors.index( oid )
- unless idx
- idx = @active_anchors.length
- af_str = "&#{@options[:AnchorFormat]} " % [ idx + 1 ]
- af_str += @anchor_extras[ @anchors[ oid ] ].to_s
- @buffer[ @anchors[ oid ] ][0,0] = af_str
- @headless = 0 if @anchors[ oid ].zero?
- end
- idx += 1
- @active_anchors.push( oid )
- else
- @anchors[ oid ] = @buffer.length - 1
- end
- end
- return idx
- end
-
- #
- # Output method
- #
- def end_object
- @level -= 1
- @buffer.push( "" )
- #p [ self.id, @level, :END ]
- if @level < 0
- header + @buffer.to_s[@headless..-1].to_s
- end
- end
- end
-
-end
-