File Coverage

blib/lib/OS/Package/System.pm
Criterion Covered Total %
statement 18 18 100.0
branch n/a
condition n/a
subroutine 6 6 100.0
pod n/a
total 24 24 100.0


line stmt bran cond sub pod time code
1 4     4   16905 use v5.14.0;
  4         12  
  4         186  
2 4     4   23 use warnings;
  4         5  
  4         240  
3              
4             package OS::Package::System;
5              
6             # ABSTRACT: Determine OS version and type.
7             our $VERSION = '0.2.6'; # VERSION
8              
9 4     4   1112 use Moo;
  4         23572  
  4         26  
10 4     4   7832 use Types::Standard qw( Str Enum );
  4         259105  
  4         49  
11 4     4   3668 use Config;
  4         6  
  4         170  
12 4     4   2809 use POSIX qw( uname );
  4         22913  
  4         69  
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__