class Bookify::Node::Base

Constants

FONTS

Attributes

node[RW]
pdf[RW]

Public Class Methods

new(node, pdf) click to toggle source
# File lib/bookify/node/base.rb, line 21
def initialize(node, pdf)
  self.node = node
  self.pdf = pdf
end
render(node, pdf) click to toggle source
# File lib/bookify/node/base.rb, line 13
def self.render(node, pdf)
  new(node, pdf).render
end

Public Instance Methods

break_if_close_to_bottom(tolerance = 125) click to toggle source
# File lib/bookify/node/base.rb, line 42
def break_if_close_to_bottom(tolerance = 125)
  bounds.move_past_bottom if pdf.y <= tolerance
end
clean_html(html) click to toggle source
# File lib/bookify/node/base.rb, line 34
def clean_html(html)
  html.delete("\n").gsub(/\s+/, " ")
end
decode_html(html) click to toggle source
# File lib/bookify/node/base.rb, line 38
def decode_html(html)
  HTMLEntities.new.decode(html)
end
font(name, &block) click to toggle source
# File lib/bookify/node/base.rb, line 30
def font(name, &block)
  pdf.font(*FONTS[name], &block)
end
html_classes(element = node) click to toggle source
# File lib/bookify/node/base.rb, line 26
def html_classes(element = node)
  (element.attr(:class) || "").split(" ")
end
method_missing(method, *args, &block) click to toggle source
# File lib/bookify/node/base.rb, line 17
def method_missing(method, *args, &block)
  pdf.send(method, *args, &block)
end
page_top() click to toggle source
# File lib/bookify/node/base.rb, line 46
def page_top
  pdf.bounds.parent.height + 50
end