File Coverage

blib/lib/Clustericious/Command/configtest.pm
Criterion Covered Total %
statement 11 14 78.5
branch 0 2 0.0
condition n/a
subroutine 4 5 80.0
pod 1 1 100.0
total 16 22 72.7


line stmt bran cond sub pod time code
1             package Clustericious::Command::configtest;
2              
3 1     1   568 use strict;
  1         2  
  1         24  
4 1     1   5 use warnings;
  1         2  
  1         19  
5 1     1   32 use 5.010;
  1         5  
6 1     1   4 use Mojo::Base 'Clustericious::Command';
  1         2  
  1         6  
7              
8             # ABSTRACT: Test a Clustericious application's configuration
9             our $VERSION = '1.27'; # VERSION
10              
11              
12             has description => <<EOT;
13             Load configuration and test for errors
14             EOT
15              
16             has usage => <<EOT;
17             usage $0: configtest
18             Load configuration and test for errors
19             EOT
20              
21             sub run
22             {
23 0     0 1   my($self, @args) = @_;
24 0 0         exit 2 unless $self->app->sanity_check;
25 0           say 'config okay';
26             }
27              
28             1;
29              
30             __END__
31              
32             =pod
33              
34             =encoding UTF-8
35              
36             =head1 NAME
37              
38             Clustericious::Command::configtest - Test a Clustericious application's configuration
39              
40             =head1 VERSION
41              
42             version 1.27
43              
44             =head1 SYNOPSIS
45              
46             Your app:
47              
48             package YourApp;
49            
50             use Mojo::Base qw( Clustericious::App );
51            
52             sub sanity_check
53             {
54             my($self) = @_;
55             # ... return true if sane, return false otherwise
56             unless($self->config->foo(default => '') eq 'bar')
57             {
58             say 'your config should set foo to bar';
59             return 0;
60             }
61            
62             return 1;
63             }
64            
65             1;
66              
67             do a sanity check of the configuration:
68              
69             % yourapp configtest
70              
71             =head1 DESCRIPTION
72              
73             This command does a basic sanity check on the configuration for your Clustericious
74             application, and calls the application's C<sanity_check>
75              
76             =head1 SEE ALSO
77              
78             L<Clustericious>
79              
80             =head1 AUTHOR
81              
82             Original author: Brian Duggan
83              
84             Current maintainer: Graham Ollis E<lt>plicease@cpan.orgE<gt>
85              
86             Contributors:
87              
88             Curt Tilmes
89              
90             Yanick Champoux
91              
92             =head1 COPYRIGHT AND LICENSE
93              
94             This software is copyright (c) 2013 by NASA GSFC.
95              
96             This is free software; you can redistribute it and/or modify it under
97             the same terms as the Perl 5 programming language system itself.
98              
99             =cut