Business-AU-Ledger
view release on metacpan or search on metacpan
lib/Business/AU/Ledger/View/Payment.pm view on Meta::CPAN
package Business::AU::Ledger::View::Payment;
use Business::AU::Ledger::Util::Validate;
use Date::Simple;
use JSON::XS;
use Moose;
extends 'Business::AU::Ledger::View::Base';
has field_width => (is => 'rw', isa => 'HashRef');
has row_count => (is => 'rw', isa => 'Int');
use namespace::autoclean;
our $VERSION = '0.88';
# -----------------------------------------------
sub BUILD
{
my($self) = @_;
$self -> field_width
(
{
amount => 12,
day => 5, # For 'Total'.
gst_amount => 12,
petty_cash_in => 7,
petty_cash_out => 7,
private_use_amount => 10,
private_use_percent => 6,
reference => 10,
}
);
$self -> row_count(0);
} # End of BUILD;
# -----------------------------------------------
sub format
{
my($self, $output) = @_;
my($field);
my($row, @row);
for $row (@$output)
{
$field = $self -> format_fields($row);
push @row, $field;
}
$self -> log(__PACKAGE__ . '. Leaving format');
return [@row];
} # End of format.
# -----------------------------------------------
sub format_fields
{
my($self, $default) = @_;
$default ||= {};
# Ensure all fields, except menus, have defaults.
for (qw/amount day error gst_amount petty_cash_in petty_cash_out private_use_amount private_use_percent reference timestamp/)
{
if (! defined $$default{$_})
( run in 2.647 seconds using v1.01-cache-2.11-cpan-744e820c463 )