File Coverage

blib/lib/Acme/Mitey/Cards/Card/Numeric.pm
Criterion Covered Total %
statement 9 9 100.0
branch n/a
condition n/a
subroutine 3 3 100.0
pod n/a
total 12 12 100.0


line stmt bran cond sub pod time code
1             package Acme::Mitey::Cards::Card::Numeric;
2              
3             our $VERSION = '0.013';
4             our $AUTHORITY = 'cpan:TOBYINK';
5              
6 3     3   876 use Acme::Mitey::Cards::Mite qw( -all );
  3         4  
  3         14  
7 3     3   17 use Acme::Mitey::Cards::Types qw( :types );
  3         4  
  3         900  
8              
9             extends 'Acme::Mitey::Cards::Card';
10              
11 3     3   432 use Acme::Mitey::Cards::Suit;
  3         6  
  3         420  
12              
13             has suit => (
14             is => ro,
15             isa => Suit,
16             required => true,
17             coerce => true,
18             );
19              
20             has number => (
21             is => ro,
22             isa => CardNumber,
23             required => true,
24             coerce => true,
25             );
26              
27             signature_for number_or_a => (
28             pos => [],
29             );
30              
31             sub number_or_a {
32             my $self = shift;
33              
34             my $num = $self->number;
35             ( $num == 1 ) ? 'A' : $num;
36             }
37              
38             signature_for '+to_string';
39              
40             sub to_string {
41             my $self = shift;
42              
43             return sprintf( '%s%s', $self->number_or_a, $self->suit->abbreviation );
44             }
45              
46             1;