File Coverage

blib/lib/App/CISetup/Travis/ConfigUpdater.pm
Criterion Covered Total %
statement 31 33 93.9
branch 2 2 100.0
condition n/a
subroutine 10 12 83.3
pod n/a
total 43 47 91.4


line stmt bran cond sub pod time code
1             package App::CISetup::Travis::ConfigUpdater;
2              
3 1     1   32187 use strict;
  1         3  
  1         32  
4 1     1   5 use warnings;
  1         2  
  1         26  
5 1     1   6 use namespace::autoclean;
  1         2  
  1         13  
6 1     1   89 use autodie qw( :all );
  1         3  
  1         11  
7              
8             our $VERSION = '0.19';
9              
10 1     1   5925 use App::CISetup::Travis::ConfigFile;
  1         3  
  1         35  
11 1     1   6 use App::CISetup::Types qw( Bool Str );
  1         3  
  1         26  
12 1     1   5507 use Try::Tiny;
  1         3  
  1         60  
13              
14 1     1   7 use Moose;
  1         2  
  1         8  
15 1     1   7216 use MooseX::StrictConstructor;
  1         3  
  1         10  
16              
17             has email_address => (
18             is => 'ro',
19             isa => Str, # todo, better type
20             predicate => 'has_email_address',
21             );
22              
23             has force_threaded_perls => (
24             is => 'ro',
25             isa => Bool,
26             predicate => 'has_force_threaded_perls',
27             );
28              
29             has perl_caching => (
30             is => 'ro',
31             isa => Bool,
32             predicate => 'has_perl_caching',
33             );
34              
35             has github_user => (
36             is => 'ro',
37             isa => Str,
38             predicate => 'has_github_user',
39             );
40              
41             has slack_key => (
42             is => 'ro',
43             isa => Str,
44             predicate => 'has_slack_key',
45             );
46              
47             with 'App::CISetup::Role::ConfigUpdater';
48              
49             ## no critic (Subroutines::ProhibitUnusedPrivateSubroutines)
50 0     0   0 sub _config_filename {'.travis.yml'}
51              
52 0     0   0 sub _config_file_class {'App::CISetup::Travis::ConfigFile'}
53              
54             sub _cli_params {
55 1     1   2482 my $self = shift;
56              
57             return (
58             ## no critic (BuiltinFunctions::ProhibitComplexMappings)
59 1 100       5 map { my $p = 'has_' . $_; $self->$p ? ( $_ => $self->$_ ) : () } qw(
  5         12  
  5         209  
60             force_threaded_perls
61             perl_caching
62             email_address
63             github_user
64             slack_key
65             )
66             );
67             }
68             ## use critic
69              
70             __PACKAGE__->meta->make_immutable;
71              
72             1;