Class: Pricecut::MarkdownVisitor

Inherits:
Object
  • Object
show all
Defined in:
lib/pricecut/markdown_visitor.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initializeMarkdownVisitor

Returns a new instance of MarkdownVisitor.



7
8
9
# File 'lib/pricecut/markdown_visitor.rb', line 7

def initialize
  @output = ""
end

Instance Attribute Details

#outputObject (readonly)

Returns the value of attribute output.



5
6
7
# File 'lib/pricecut/markdown_visitor.rb', line 5

def output
  @output
end

Instance Method Details

#append_output(string) ⇒ Object



23
24
25
# File 'lib/pricecut/markdown_visitor.rb', line 23

def append_output(string)
  @output << string
end

#visit(node) ⇒ Object



11
12
13
14
15
16
17
18
19
20
21
# File 'lib/pricecut/markdown_visitor.rb', line 11

def visit(node)
  if Pricecut::Elements.const_defined?(node.name.capitalize)
    element = Pricecut::Elements.const_get(node.name.capitalize)
    element.new(self, node).output!
  else
    # Unsupported element, continue visiting children.
    visit_children(node)
  end

  self
end

#visit_children(node) ⇒ Object



27
28
29
# File 'lib/pricecut/markdown_visitor.rb', line 27

def visit_children(node)
  node.children.each {|child| child.accept(self) }
end