File Coverage

blib/lib/Business/Westpac/PaymentsPlus/Australian/Payment/Import/Payment/Cheque.pm
Criterion Covered Total %
statement 17 17 100.0
branch n/a
condition n/a
subroutine 6 6 100.0
pod 1 2 50.0
total 24 25 96.0


line stmt bran cond sub pod time code
1             package Business::Westpac::PaymentsPlus::Australian::Payment::Import::Payment::Cheque;
2              
3             =head1 NAME
4              
5             Business::Westpac::PaymentsPlus::Australian::Payment::Import::Payment::Cheque
6              
7             =head1 SYNOPSIS
8              
9             use Business::Westpac::PaymentsPlus::Australian::Payment::Import::Payment::Cheque;
10              
11             my $Cheque = Business::Westpac::PaymentsPlus::Australian::Payment::Import::Payment::Cheque->new(
12             payer_payment_reference => 'REF00002',
13             payment_amount => '718.65',
14             recipient_reference => '100008',
15             funding_bsb_number => '032-000',
16             funding_account_number => '000007',
17             );
18              
19             =head1 DESCRIPTION
20              
21             Class for modeling Cheque payments in the context of Westpac CSV files.
22              
23             Extends L<Business::Westpac::PaymentsPlus::Australian::Payment::Import::Payment>.
24             =cut
25              
26 4     4   450838 use feature qw/ signatures /;
  4         14  
  4         625  
27              
28 4     4   704 use Moose;
  4         667206  
  4         35  
29             extends 'Business::Westpac::PaymentsPlus::Australian::Payment::Import::Payment';
30 4     4   34580 no warnings qw/ experimental::signatures /;
  4         13  
  4         276  
31              
32 4         1019 use Business::Westpac::Types qw/
33             add_max_string_attribute
34 4     4   832 /;
  4         13  
35              
36 2     2 0 8 sub record_type { 'C' }
37              
38             =head1 ATTRIBUTES
39              
40             All attributes are optional, except were stated, and are read only
41              
42             =over
43              
44             =item recipient_reference (Str, max 7 chars)
45              
46             =back
47              
48             =cut
49              
50             foreach my $str_attr (
51             'RecipientReference[7]',
52             ) {
53             __PACKAGE__->add_max_string_attribute(
54             $str_attr,
55             is => 'ro',
56             required => 0,
57             );
58             }
59              
60             =head1 METHODS
61              
62             =head2 to_csv
63              
64             Convert the attributes to CSV line(s):
65              
66             my @csv = $Cheque->to_csv;
67              
68             =cut
69              
70 2     2 1 26 sub to_csv ( $self ) {
  2         6  
  2         6  
71              
72 2         24 return $self->attributes_to_csv(
73             qw/
74             record_type
75             recipient_number
76             payer_payment_reference
77             payment_amount
78             recipient_reference
79             funding_bsb_number
80             funding_account_number
81             /
82             );
83             }
84              
85             =head1 SEE ALSO
86              
87             L<Business::Westpac::PaymentsPlus::Australian::Payment::Import::Payment>
88              
89             L<Business::Westpac::Types>
90              
91             =cut
92              
93             __PACKAGE__->meta->make_immutable;