File Coverage

blib/lib/Finance/Bank/Wachovia/Transaction.pm
Criterion Covered Total %
statement 42 43 97.6
branch 3 4 75.0
condition n/a
subroutine 16 17 94.1
pod 0 1 0.0
total 61 65 93.8


line stmt bran cond sub pod time code
1             package Finance::Bank::Wachovia::Transaction;
2              
3 4     4   3275 use Finance::Bank::Wachovia::ErrorHandler;
  4         8  
  4         158  
4 4     4   22 use strict;
  4         7  
  4         117  
5 4     4   30 use warnings;
  4         15  
  4         461  
6              
7             our @ISA = qw/Finance::Bank::Wachovia::ErrorHandler/;
8             my @attrs;
9              
10             BEGIN{
11 4     4   23 @attrs = qw(
12             date
13             action
14             description
15             withdrawal_amount
16             deposit_amount
17             balance
18             seq_no
19             trans_code
20             check_num
21             );
22            
23 4         9 my $x = @__SUPER__::ATTRIBUTES;
24 4         9 for( @attrs ){
25 36     149   1238 eval "sub _$_ { $x }";
  149     149   386  
  149     148   408  
  148     154   435  
  154     149   427  
  149     150   452  
  150     149   388  
  149     149   400  
  149     149   400  
  149         412  
26 36         415 $x++;
27             }
28             }
29              
30             sub new {
31 149     149 0 1585 my($class, %attrs) = @_;
32 149         235 my $self = [];
33 149         1059 bless $self, $class;
34 149         613 foreach my $att ( keys %attrs ){
35 1332         5273 $self->$att( $attrs{$att} );
36             }
37 149         907 return $self;
38             }
39              
40             sub AUTOLOAD {
41 4     4   23 no strict 'refs';
  4         7  
  4         745  
42 1346     1346   1972 our $AUTOLOAD;
43 1346         1536 my $self = shift;
44 1346         2461 my $attr = lc $AUTOLOAD;
45 1346         4254 $attr =~ s/.*:://;
46 1346 50       18118 die "$attr not a valid attribute"
47             unless grep /$attr/, @attrs;
48             # get if no args passed
49 1346 100       2846 return $self->[ &{"_$attr"} ] unless @_;
  6         188  
50             # set if args passed
51 1340         1567 $self->[ &{"_$attr"} ] = shift;
  1340         40603  
52 1340         2910 return $self;
53             }
54              
55 0     0     sub DESTROY {}
56              
57             __END__