123456789_123456789_123456789_123456789_123456789_

Class: Psych::Visitors::Emitter

Relationships & Source Files
Super Chains via Extension / Inclusion / Inheritance
Class Chain:
self, Visitor
Instance Chain:
self, Visitor
Inherits: Psych::Visitors::Visitor
Defined in: ext/psych/lib/psych/visitors/emitter.rb

Constant Summary

Visitor - Inherited

DISPATCH

Class Method Summary

Instance Method Summary

Constructor Details

.new(io, options = {}) ⇒ Emitter

[ GitHub ]

  
# 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

Instance Method Details

#visit_Psych_Nodes_Alias(o)

[ GitHub ]

  
# 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)

[ GitHub ]

  
# 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)

[ GitHub ]

  
# 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)

[ GitHub ]

  
# 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)

[ GitHub ]

  
# 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)

[ GitHub ]

  
# 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