# class Psych::Visitors::Emitter

### Public Class Methods

new(io, options = {}) click to toggle source

    # File ext/psych/lib/psych/visitors/emitter.rb, line 4
    def initialize io, options = {}
      opts = [:indentation, :canonical, :line_width].find_all { |opt|
        options.key?(opt)
      }

      if opts.empty?
        @handler = Psych::Emitter.new io
      else
        du = Handler::DumperOptions.new
        opts.each { |option| du.send :"#{option}=", options[option] }
        @handler = Psych::Emitter.new io, du
      end
    end

### Public Instance Methods

visit_Psych_Nodes_Alias(o) click to toggle source

    # File ext/psych/lib/psych/visitors/emitter.rb, line 46
    def visit_Psych_Nodes_Alias o
      @handler.alias o.anchor
    end

visit_Psych_Nodes_Document(o) click to toggle source

    # File ext/psych/lib/psych/visitors/emitter.rb, line 24
    def visit_Psych_Nodes_Document o
      @handler.start_document o.version, o.tag_directives, o.implicit
      o.children.each { |c| accept c }
      @handler.end_document o.implicit_end
    end

visit_Psych_Nodes_Mapping(o) click to toggle source

    # File ext/psych/lib/psych/visitors/emitter.rb, line 40
    def visit_Psych_Nodes_Mapping o
      @handler.start_mapping o.anchor, o.tag, o.implicit, o.style
      o.children.each { |c| accept c }
      @handler.end_mapping
    end

visit_Psych_Nodes_Scalar(o) click to toggle source

    # File ext/psych/lib/psych/visitors/emitter.rb, line 30
    def visit_Psych_Nodes_Scalar o
      @handler.scalar o.value, o.anchor, o.tag, o.plain, o.quoted, o.style
    end

visit_Psych_Nodes_Sequence(o) click to toggle source

    # File ext/psych/lib/psych/visitors/emitter.rb, line 34
    def visit_Psych_Nodes_Sequence o
      @handler.start_sequence o.anchor, o.tag, o.implicit, o.style
      o.children.each { |c| accept c }
      @handler.end_sequence
    end

visit_Psych_Nodes_Stream(o) click to toggle source

    # File ext/psych/lib/psych/visitors/emitter.rb, line 18
    def visit_Psych_Nodes_Stream o
      @handler.start_stream o.encoding
      o.children.each { |c| accept c }
      @handler.end_stream
    end