Module: Bookify::Node

Defined in:
lib/bookify/node.rb,
lib/bookify/node/h1.rb,
lib/bookify/node/h2.rb,
lib/bookify/node/h3.rb,
lib/bookify/node/h4.rb,
lib/bookify/node/hr.rb,
lib/bookify/node/div.rb,
lib/bookify/node/base.rb,
lib/bookify/node/list.rb,
lib/bookify/node/image.rb,
lib/bookify/node/table.rb,
lib/bookify/node/paragraph.rb,
lib/bookify/node/blockquote.rb

Defined Under Namespace

Classes: Base, Blockquote, Div, H1, H2, H3, H4, Hr, Image, List, Paragraph, Table

Constant Summary collapse

SUBCLASSES =
{
  blockquote: Blockquote,
  div: Div,
  h1: H1,
  h2: H2,
  h3: H3,
  h4: H4,
  h5: H4,
  h6: H4,
  hr: Hr,
  img: Image,
  ol: List,
  p: Paragraph,
  table: Table,
  ul: List
}

Class Method Summary collapse

Class Method Details

.render(node, pdf) ⇒ Object



19
20
21
22
23
24
25
# File 'lib/bookify/node.rb', line 19

def self.render(node, pdf)
  if subclass = SUBCLASSES[node.name.to_sym]
    subclass.render(node, pdf)
  else
    node.children.each { |c| render(c, pdf) }
  end
end