class AUB::Payroll::SummaryFile::Generator

Public Class Methods

new(company_info:, payroll_info:, transactions:) click to toggle source
# File lib/aub/payroll/summary_file/generator.rb, line 6
def initialize(company_info:, payroll_info:, transactions:)
  @company_info = CompanyInfo.build(company_info)
  @payroll_info = PayrollInfo.build(payroll_info)
  @transactions = transactions.map { |transaction| Transaction.build(transaction) }
end

Public Instance Methods

generate() click to toggle source
# File lib/aub/payroll/summary_file/generator.rb, line 12
def generate
  html_generator.generate do
    kit = File.open('body.html', 'r') do |body_file|
      options = {
        page_size: 'Letter',
        header_html: 'header.html',
        footer_html: 'footer.html',
        margin_top: 38,
        margin_bottom: 5,
        margin_left: 0,
        margin_right: 0,
      }
      CustomPDFKit.new(body_file, options)
    end
    kit.to_pdf
  end
end
html_generator() click to toggle source
# File lib/aub/payroll/summary_file/generator.rb, line 30
def html_generator
  HTMLGenerator.new(company_info: @company_info, payroll_info: @payroll_info, transactions: @transactions)
end