File Coverage

blib/lib/Piper/Config.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             #####################################################################
2             ## AUTHOR: Mary Ehlers, regina.verbae@gmail.com
3             ## ABSTRACT: Configuration object for Piper
4             #####################################################################
5              
6             package Piper::Config;
7              
8 4     4   49 use v5.10;
  4         9  
9 4     4   16 use strict;
  4         4  
  4         87  
10 4     4   14 use warnings;
  4         5  
  4         93  
11              
12 4     4   15 use Carp;
  4         4  
  4         302  
13 4     4   21 use Types::Common::Numeric qw(PositiveInt);
  4         6  
  4         69  
14 4     4   3555 use Types::LoadableClass qw(ClassDoes);
  4         92261  
  4         54  
15 4     4   1647 use Types::Standard qw(ClassName);
  4         5  
  4         21  
16              
17 4     4   1775 use Moo;
  4         6  
  4         30  
18 4     4   1061 use namespace::clean;
  4         5  
  4         29  
19              
20             our $VERSION = '0.03'; # from Piper-0.03.tar.gz
21              
22             #pod =head1 SYNOPSIS
23             #pod
24             #pod =for stopwords queueing
25             #pod
26             #pod # Defaults
27             #pod use Piper (
28             #pod batch_size => 200,
29             #pod logger_class => 'Piper::Logger',
30             #pod queue_class => 'Piper::Queue',
31             #pod );
32             #pod
33             #pod =head1 DESCRIPTION
34             #pod
35             #pod A configuration object, instantiated during import of the L module according to any supplied import arguments.
36             #pod
37             #pod =head1 ATTRIBUTES
38             #pod
39             #pod =head2 batch_size
40             #pod
41             #pod The default batch size used by pipeline segments which do not have a locally defined C and do not have a parent segment with a defined C.
42             #pod
43             #pod The C attribute must be a positive integer.
44             #pod
45             #pod The default C is 200.
46             #pod
47             #pod =cut
48              
49             has batch_size => (
50             is => 'lazy',
51             isa => PositiveInt,
52             default => 200,
53             );
54              
55             #pod =head2 logger_class
56             #pod
57             #pod The logger class is used for printing debug and info statements, issuing warnings, and throwing
58             #pod errors.
59             #pod
60             #pod The C attribute must be a valid class that does the role defined by L.
61             #pod
62             #pod The default C is L.
63             #pod
64             #pod =cut
65              
66             has logger_class => (
67             is => 'lazy',
68             isa => ClassDoes['Piper::Role::Logger'],
69             default => 'Piper::Logger',
70             );
71              
72             #pod =head2 queue_class
73             #pod
74             #pod The queue class handles the queueing of data for each of the pipeline segments.
75             #pod
76             #pod The C attribute must be a valid class that does the role defined by L.
77             #pod
78             #pod The default C is L.
79             #pod
80             #pod =cut
81              
82             has queue_class => (
83             is => 'lazy',
84             isa => ClassDoes['Piper::Role::Queue'],
85             default => 'Piper::Queue',
86             );
87              
88             1;
89              
90             __END__