Class: ReportEngine::PdfCanvas
- Inherits:
-
Object
- Object
- ReportEngine::PdfCanvas
- Defined in:
- lib/report_engine/pdf_canvas.rb
Instance Attribute Summary collapse
-
#pdf ⇒ Object
readonly
Returns the value of attribute pdf.
Instance Method Summary collapse
- #add(element) ⇒ Object
- #add_block(&blk) ⇒ Object
-
#initialize ⇒ PdfCanvas
constructor
A new instance of PdfCanvas.
- #paint(klass, options) ⇒ Object
- #render ⇒ Object
- #render_file(filename) ⇒ Object
Constructor Details
#initialize ⇒ PdfCanvas
Returns a new instance of PdfCanvas.
6 7 8 |
# File 'lib/report_engine/pdf_canvas.rb', line 6 def initialize @pdf = Prawn::Document.new() end |
Instance Attribute Details
#pdf ⇒ Object (readonly)
Returns the value of attribute pdf.
4 5 6 |
# File 'lib/report_engine/pdf_canvas.rb', line 4 def pdf @pdf end |
Instance Method Details
#add(element) ⇒ Object
18 19 20 |
# File 'lib/report_engine/pdf_canvas.rb', line 18 def add(element) element.render(@pdf) end |
#add_block(&blk) ⇒ Object
22 23 24 25 26 27 28 29 30 31 |
# File 'lib/report_engine/pdf_canvas.rb', line 22 def add_block(&blk) success = @pdf.transaction do blk.call @pdf @pdf.rollback if @pdf.cursor < 0 end unless success @pdf.start_new_page blk.call @pdf end end |
#paint(klass, options) ⇒ Object
33 34 35 |
# File 'lib/report_engine/pdf_canvas.rb', line 33 def paint(klass, ) ReportEngine::Pdf.const_get(klass.to_s.camelize).new(self, ).render end |
#render ⇒ Object
14 15 16 |
# File 'lib/report_engine/pdf_canvas.rb', line 14 def render @pdf.render end |
#render_file(filename) ⇒ Object
10 11 12 |
# File 'lib/report_engine/pdf_canvas.rb', line 10 def render_file(filename) @pdf.render_file(filename) end |