Sha256: 7a43969159b154d35eac07062c7b7471c30733b803dc8b0ebe346336822d587c
Contents?: true
Size: 1.02 KB
Versions: 1
Compression:
Stored size: 1.02 KB
Contents
module PrawnCocktail class Renderer def initialize(template, data, doc_initializers) @template = template @data = data @doc_initializers = doc_initializers end def meta(opts) @prawn_document_options = opts end def content(&block) @doc_initializers.each do |proc| doc.instance_eval(&proc) end doc.instance_exec(data_object, &block) end def render_data render doc.render end def render_file(file) render doc.render_file(file) end private def render # We pass the filename for better backtraces. instance_eval(read_template, template_path) end def doc @doc ||= Prawn::Document.new(@prawn_document_options || {}) end def data_object OpenStruct.new(@data) end def read_template File.read(File.join(app_root, template_path)) end def template_path "app/documents/views/#{@template}.pdf.rb" end def app_root Rails.root end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
prawn_cocktail-0.0.1 | lib/prawn_cocktail/renderer.rb |