Class: Thinreports::BasicReport::Generator::PDF

Inherits:
Object
  • Object
show all
Defined in:
lib/thinreports/basic_report/generator/pdf.rb,
lib/thinreports/basic_report/generator/pdf/document.rb,
lib/thinreports/basic_report/generator/pdf/drawer/base.rb,
lib/thinreports/basic_report/generator/pdf/drawer/list.rb,
lib/thinreports/basic_report/generator/pdf/drawer/page.rb,
lib/thinreports/basic_report/generator/pdf/document/font.rb,
lib/thinreports/basic_report/generator/pdf/document/page.rb,
lib/thinreports/basic_report/generator/pdf/document/graphics.rb,
lib/thinreports/basic_report/generator/pdf/document/draw_shape.rb,
lib/thinreports/basic_report/generator/pdf/drawer/list_section.rb,
lib/thinreports/basic_report/generator/pdf/document/parse_color.rb,
lib/thinreports/basic_report/generator/pdf/document/graphics/text.rb,
lib/thinreports/basic_report/generator/pdf/document/graphics/basic.rb,
lib/thinreports/basic_report/generator/pdf/document/graphics/image.rb,
lib/thinreports/basic_report/generator/pdf/document/draw_template_items.rb,
lib/thinreports/basic_report/generator/pdf/document/graphics/attributes.rb

Defined Under Namespace

Modules: DrawShape, DrawTemplateItems, Drawer, Font, Graphics, Page, ParseColor Classes: Document

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(report, security: nil, title: nil) ⇒ PDF

Returns a new instance of PDF.

Parameters:



18
19
20
21
22
23
24
25
26
# File 'lib/thinreports/basic_report/generator/pdf.rb', line 18

def initialize(report, security: nil, title: nil)
  report.finalize

  @report = report.internal
  title ||= default_layout ? default_layout.format.report_title : nil

  @document = Document.new(title: title, security: security)
  @drawers = {}
end

Instance Attribute Details

#reportThinreports::BasicReport::Report::Base (readonly)



13
14
15
# File 'lib/thinreports/basic_report/generator/pdf.rb', line 13

def report
  @report
end

Instance Method Details

#default_layoutObject



35
36
37
# File 'lib/thinreports/basic_report/generator/pdf.rb', line 35

def default_layout
  report.default_layout
end

#generate(filename = nil) ⇒ String?

Parameters:

  • filename (String, nil) (defaults to: nil)

Returns:

  • (String, nil)


30
31
32
33
# File 'lib/thinreports/basic_report/generator/pdf.rb', line 30

def generate(filename = nil)
  draw_report
  filename ? @document.render_file(filename) : @document.render
end