File Coverage

blib/lib/BackPAN/Index/Types.pm
Criterion Covered Total %
statement 6 6 100.0
branch n/a
condition n/a
subroutine 2 2 100.0
pod n/a
total 8 8 100.0


line stmt bran cond sub pod time code
1             package BackPAN::Index::Types;
2              
3 17     17   5780962 use Mouse;
  17         38515  
  17         208  
4 17     17   5945 use Mouse::Util::TypeConstraints;
  17         38  
  17         171  
5              
6             # Predeclare class types. Otherwise if the class isn't loaded Mouse might
7             # quietly and confusingly think its a non-class type.
8             class_type('App::Cache');
9             class_type('BackPAN::Index');
10             class_type('BackPAN::Index::Database');
11             class_type('BackPAN::Index::IndexFile');
12             class_type('DBI::db');
13             class_type('DBIx::Class::Schema');
14              
15             coerce class_type("URI") =>
16             from 'Str',
17             via {
18             require URI;
19             URI->new($_)
20             };
21              
22             coerce class_type("Path::Class::File") =>
23             from 'Str',
24             via {
25             require Path::Class::File;
26             Path::Class::File->new($_)
27             };
28              
29             coerce class_type("Path::Class::Dir") =>
30             from 'Str',
31             via {
32             require Path::Class::Dir;
33             Path::Class::Dir->new($_)
34             };
35              
36             1;