File Coverage

blib/lib/Boxer/Task.pm
Criterion Covered Total %
statement 26 26 100.0
branch n/a
condition n/a
subroutine 9 9 100.0
pod n/a
total 35 35 100.0


line stmt bran cond sub pod time code
1             package Boxer::Task;
2              
3             =encoding UTF-8
4              
5             =cut
6              
7 4     4   2950 use v5.14;
  4         18  
8 4     4   26 use utf8;
  4         8  
  4         33  
9 4     4   135 use Role::Commons -all;
  4         8  
  4         39  
10 4     4   7625 use namespace::autoclean 0.16;
  4         75  
  4         26  
11 4     4   321 use autodie;
  4         11  
  4         39  
12              
13 4     4   22484 use Moo;
  4         11  
  4         25  
14 4     4   1980 use MooX::StrictConstructor;
  4         11  
  4         40  
15             with qw( MooX::Role::Logger Boxer::Role::Interact );
16              
17 4     4   3955 use strictures 2;
  4         35  
  4         167  
18 4     4   735 no warnings "experimental::signatures";
  4         10  
  4         315  
19              
20             =head1 VERSION
21              
22             Version v1.4.1
23              
24             =cut
25              
26             our $VERSION = "v1.4.1";
27              
28             =head1 DESCRIPTION
29              
30             This is the base class for L<Boxer> tasks.
31              
32             Tasks coerce, validate, and process application commands.
33              
34             Currently implemented tasks:
35              
36             =over 4
37              
38             =item *
39              
40             L<Classify|Boxer::Task::Classify>
41              
42             =item *
43              
44             L<Serialize|Boxer::Task::Serialize>
45              
46             =item *
47              
48             L<Bootstrap|Boxer::Task::Bootstrap>
49              
50             =back
51              
52              
53             =head1 IDEAS
54              
55             Tasks are separated from commands
56             to allow for different front-end interfaces,
57             even if currently only a single command-line tool is provided.
58              
59             =head2 wrappers
60              
61             Might be useful to provide wrappers for existing command-line tools,
62             preserving full behavior of the underlying tool
63             only extending it with relevant boxer options.
64              
65             Examples:
66              
67             =over 4
68              
69             =item *
70              
71             C<debootstrap-boxer [...] [--boxer-node=NODE[,NODE2...]] [...]>
72              
73             =back
74              
75             =head2 web
76              
77             Would be cool to offer a web service
78             where you could request a customized system image
79             to be generated for you on demand.
80              
81             =head1 AUTHOR
82              
83             Jonas Smedegaard C<< <dr@jones.dk> >>.
84              
85             =cut
86              
87             our $AUTHORITY = 'cpan:JONASS';
88              
89             =head1 COPYRIGHT AND LICENCE
90              
91             Copyright © 2013-2016 Jonas Smedegaard
92              
93             This is free software; you can redistribute it and/or modify it under
94             the same terms as the Perl 5 programming language system itself.
95              
96             =head1 DISCLAIMER OF WARRANTIES
97              
98             THIS PACKAGE IS PROVIDED "AS IS" AND WITHOUT ANY EXPRESS OR IMPLIED
99             WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF
100             MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
101              
102             =cut
103              
104             1;