File Coverage

blib/lib/Interchange6/Types.pm
Criterion Covered Total %
statement 16 16 100.0
branch n/a
condition n/a
subroutine 6 6 100.0
pod n/a
total 22 22 100.0


line stmt bran cond sub pod time code
1             package Interchange6::Types;
2              
3 6     6   22 use strict;
  6         8  
  6         127  
4 6     6   18 use warnings;
  6         7  
  6         169  
5              
6 6     6   2506 use Type::Library -base, -declare => qw( Cart CartCost CartProduct );
  6         121873  
  6         54  
7 6     6   10826 use Type::Utils -all;
  6         19547  
  6         47  
8 6     6   13974 use Types::Standard -types;
  6         179451  
  6         56  
9              
10             BEGIN {
11 6     6   16267 extends "Types::Standard", "Types::Common::Numeric",
12             "Types::Common::String";
13             }
14              
15             class_type Cart, { class => 'Interchange6::Cart' };
16              
17             class_type CartCost, { class => 'Interchange6::Cart::Cost' };
18             coerce CartCost, from Any, via { 'Interchange6::Cart::Cost'->new(@_) };
19              
20             class_type CartProduct, { class => 'Interchange6::Cart::Product' };
21             coerce CartProduct, from Any, via { 'Interchange6::Cart::Product'->new(@_) };
22              
23             1;
24             __END__