Class: ReportBuilder::Table::PdfBuilder

Inherits:
ElementBuilder show all
Defined in:
lib/reportbuilder/table/pdfbuilder.rb

Overview

Text Builder for ReportBuilder::Table objects.

Uses Aaron Tinio’s text-table gem

Instance Method Summary collapse

Methods inherited from ElementBuilder

#initialize

Constructor Details

This class inherits a constructor from ReportBuilder::ElementBuilder

Instance Method Details

#generateObject



10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
# File 'lib/reportbuilder/table/pdfbuilder.rb', line 10

def generate()
  t=@element
  @pdf=@builder.pdf
  @rowspans=[]
  @pdf.text t.name, :size=>14
  return if t.header.size+t.rows.size==0
  has_header=t.header.size>0
  if has_header
    t_options=t.options.merge({:headers=>t.header})
    @pdf.table(t.rows.map{|row| parse_row(row)}, t_options) do
      row(0).style(:style => :bold, :background_color => 'cccccc')
    end
  else
    @pdf.table(t.rows.map{|row| parse_row(row)}, t.options) 
  end
end

#parse_row(row) ⇒ Object

Parse a row



27
28
29
30
31
32
33
# File 'lib/reportbuilder/table/pdfbuilder.rb', line 27

def parse_row(row)
  if row==:hr
    []
  else
    row
  end
end