Class: PdfRenderer::Pdf

Inherits:
Object
  • Object
show all
Defined in:
lib/pdf_renderer/pdf.rb

Overview

Wrapper class that represents the PDF to be rendered. An instance of this class is returned by a PdfRenderer, when an action is called without a prefix (i.e. without render_ or save_).

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(renderer) ⇒ Pdf

Returns a new instance of Pdf.



13
14
15
16
# File 'lib/pdf_renderer/pdf.rb', line 13

def initialize(renderer)
  @renderer = renderer
  @body = renderer.body
end

Instance Attribute Details

#bodyObject

Contains the instance variable assigns



7
8
9
# File 'lib/pdf_renderer/pdf.rb', line 7

def body
  @body
end

#renderedObject

Contains the rendered PDF as string.



11
12
13
# File 'lib/pdf_renderer/pdf.rb', line 11

def rendered
  @rendered
end

#sourceObject

Contains the LaTeX source for this PDF.



9
10
11
# File 'lib/pdf_renderer/pdf.rb', line 9

def source
  @source
end

Instance Method Details

#render!Object

Renders the PDF.



19
20
21
22
23
# File 'lib/pdf_renderer/pdf.rb', line 19

def render!
  @rendered = @renderer.render!
  @source = @renderer.tex_out
  @rendered
end

#save(filename) ⇒ Object

Renders the PDF and saves it to the file system.



26
27
28
# File 'lib/pdf_renderer/pdf.rb', line 26

def save(filename)
  File.open(filename, 'wb') { |file| file.print render! }
end