File Coverage

blib/lib/OS/Package/System.pm
Criterion Covered Total %
statement 10 12 83.3
branch n/a
condition n/a
subroutine 4 4 100.0
pod n/a
total 14 16 87.5


line stmt bran cond sub pod time code
1 4     4   14382 use v5.14.0;
  4         9  
  4         126  
2 4     4   14 use warnings;
  4         4  
  4         150  
3              
4             package OS::Package::System;
5              
6             # ABSTRACT: Determine OS version and type.
7             our $VERSION = '0.2.5'; # VERSION
8              
9 4     4   948 use Moo;
  4         21370  
  4         15  
10 4     4   5419 use Types::Standard qw( Str Enum );
  0            
  0            
11             use Config;
12             use POSIX qw( uname );
13              
14             has 'os' => (
15             is => 'rw',
16             isa => Str,
17             default => sub { return $Config{osname} },
18             required => 1
19             );
20              
21             has 'version' => (
22             is => 'rw',
23             isa => Str,
24             default => sub { my @uname = uname(); return $uname[2] },
25             required => 1
26             );
27              
28             has 'type' => (
29             is => 'rw',
30             isa => Str,
31             default => sub { my @uname = uname(); return $uname[4] },
32             required => 1
33             );
34              
35             #has 'bits' => ( is => 'rw', isa => Enum[qw[ 32 64 ]], required => 1 );
36              
37             1;
38              
39             __END__