File Coverage

blib/lib/OS/Package.pm
Criterion Covered Total %
statement 13 15 86.6
branch n/a
condition n/a
subroutine 5 5 100.0
pod n/a
total 18 20 90.0


line stmt bran cond sub pod time code
1 2     2   14758 use v5.14.0;
  2         4  
  2         59  
2 2     2   6 use warnings;
  2         3  
  2         70  
3              
4             package OS::Package;
5              
6             # ABSTRACT: OS Package Management System
7             our $VERSION = '0.2.5'; # VERSION
8              
9 2     2   1048 use Moo;
  2         23769  
  2         8  
10 2     2   8504 use Path::Tiny;
  2         20514  
  2         99  
11 2     2   581 use OS::Package::System;
  0            
  0            
12             use Types::Standard qw( Str ArrayRef InstanceOf );
13              
14             with qw(
15             OS::Package::Role::Clean
16             OS::Package::Role::Build
17             OS::Package::Role::Prune
18             );
19              
20             has [qw/name description prefix/] =>
21             ( is => 'rw', isa => Str, required => 1 );
22              
23             has [qw/config install build_id/] => ( is => 'rw', isa => Str );
24              
25             has [qw/prune_dirs prune_files/] => ( is => 'rw', isa => ArrayRef );
26              
27             has artifact => ( is => 'rw', isa => InstanceOf ['OS::Package::Artifact'] );
28              
29             has application => (
30             is => 'rw',
31             isa => InstanceOf ['OS::Package::Application'],
32             required => 1
33             );
34              
35             has system => (
36             is => 'rw',
37             isa => InstanceOf ['OS::Package::System'],
38             default => sub { return OS::Package::System->new; },
39             required => 1
40             );
41              
42             has maintainer => (
43             is => 'rw',
44             isa => InstanceOf ['OS::Package::Maintainer'],
45             required => 1
46             );
47              
48             has fakeroot => (
49             is => 'rw',
50             isa => InstanceOf ['Path::Tiny'],
51             required => 1,
52             default => sub { return Path::Tiny->tempdir }
53             );
54              
55             1;
56              
57             __END__