class SunatBooks::Pdf::TradingBook
Public Class Methods
new(company, tickets, month, year)
click to toggle source
Calls superclass method
# File lib/sunat_books/pdf/trading_book.rb, line 8 def initialize(company, tickets, month, year) # company => an object that respond to ruc and name methods # tickets => an array of objects that respond to a layout's methods # month => a number that represent a month # year => a number that represent a year super(page_layout: :landscape, margin: [5], page_size: "A4") @company = company @period = get_period(month, year) @tickets = tickets @book_name = self.class.name.downcase.sub("sunatbooks::pdf::", "") dir = File.dirname(__FILE__) @blayout = YAML.load_file("#{dir}/layouts/#{@book_name}.yml") end
Public Instance Methods
book_body()
click to toggle source
# File lib/sunat_books/pdf/trading_book.rb, line 35 def book_body data = [] fields = @blayout["headers"] data << table_head(fields, @book_name, @blayout) if @tickets.length.positive? row_data(data, @blayout["widths"], @blayout["align"], fields, @book_name) else not_moviment_page(data) end render_prawn_table(data) end
prawn_book(title, page_max)
click to toggle source
# File lib/sunat_books/pdf/trading_book.rb, line 22 def prawn_book(title, page_max) prawn_header title, @period, @company @pages = [] @page_max = page_max bounding_box([bounds.left + 3, bounds.top - 45], width: 800, height: 530) do setup_pages(@pages, @tickets.length, @page_max) move_down 5 book_body end end