Sha256: 92b3da42e59752d404180afb5a2d567883a41c62172b2403263e8bac63a1d1c0

Contents?: true

Size: 1.05 KB

Versions: 2

Compression:

Stored size: 1.05 KB

Contents

module AUB
  module Payroll
    module SummaryFile
      class Generator

        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

        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

        def html_generator
          HTMLGenerator.new(company_info: @company_info, payroll_info: @payroll_info, transactions: @transactions)
        end
      end
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
aub-payroll-1.0.1 lib/aub/payroll/summary_file/generator.rb
aub-payroll-1.0.0 lib/aub/payroll/summary_file/generator.rb