Class: Psych::Visitors::Emitter

Inherits:
Visitor show all
Defined in:
lib/psych/visitors/emitter.rb

Instance Method Summary collapse

Methods inherited from Visitor

#accept

Constructor Details

#initialize(io, options = {}) ⇒ Emitter

Returns a new instance of Emitter.



4
5
6
7
8
9
# File 'lib/psych/visitors/emitter.rb', line 4

def initialize io, options = {}
  @handler = Psych::Emitter.new io
  @handler.indentation = options[:indentation] if options[:indentation]
  @handler.canonical = options[:canonical] if options[:canonical]
  @handler.line_width = options[:line_width] if options[:line_width]
end

Instance Method Details

#visit_Psych_Nodes_Alias(o) ⇒ Object



39
40
41
# File 'lib/psych/visitors/emitter.rb', line 39

def visit_Psych_Nodes_Alias o
  @handler.alias o.anchor
end

#visit_Psych_Nodes_Document(o) ⇒ Object



17
18
19
20
21
# File 'lib/psych/visitors/emitter.rb', line 17

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) ⇒ Object



33
34
35
36
37
# File 'lib/psych/visitors/emitter.rb', line 33

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) ⇒ Object



23
24
25
# File 'lib/psych/visitors/emitter.rb', line 23

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) ⇒ Object



27
28
29
30
31
# File 'lib/psych/visitors/emitter.rb', line 27

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) ⇒ Object



11
12
13
14
15
# File 'lib/psych/visitors/emitter.rb', line 11

def visit_Psych_Nodes_Stream o
  @handler.start_stream o.encoding
  o.children.each { |c| accept c }
  @handler.end_stream
end