File Coverage

blib/lib/Argon/Types.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             package Argon::Types;
2             # ABSTRACT: TypeConstraints used by Argon classes
3             $Argon::Types::VERSION = '0.17';
4              
5 9     9   574586 use strict;
  9         30  
  9         271  
6 9     9   52 use warnings;
  9         18  
  9         304  
7 9     9   102 use Moose::Util::TypeConstraints;
  9         23  
  9         97  
8 9     9   23885 use Path::Tiny qw(path);
  9         75378  
  9         761  
9 9     9   599 use Argon::Constants qw(:commands :priorities);
  9         22  
  9         2551  
10              
11              
12             class_type 'AnyEvent::CondVar';
13              
14              
15             union 'Ar::Callback', ['CodeRef', 'AnyEvent::CondVar'];
16              
17              
18             subtype 'Ar::FilePath', as 'Str', where { $_ && path($_)->is_file };
19              
20              
21             enum 'Ar::Command', [$ID, $PING, $ACK, $ERROR, $QUEUE, $DENY, $DONE, $HIRE];
22              
23              
24             enum 'Ar::Priority', [$HIGH, $NORMAL, $LOW];
25              
26 9     9   96 no Moose::Util::TypeConstraints;
  9         28  
  9         133  
27             1;
28              
29             __END__
30              
31             =pod
32              
33             =encoding UTF-8
34              
35             =head1 NAME
36              
37             Argon::Types - TypeConstraints used by Argon classes
38              
39             =head1 VERSION
40              
41             version 0.17
42              
43             =head1 DESCRIPTION
44              
45             Type constraints used by Ar classes.
46              
47             =head1 TYPE CONSTRAINTS
48              
49             =head2 AnyEvent::Condvar
50              
51             See L<AnyEvent/CONDITION VARIABLES>.
52              
53             =head2 Ar::Callback
54              
55             A code reference or condition variable.
56              
57             =head2 Ar::FilePath
58              
59             A path to an existing, accessible file.
60              
61             =head2 Ar::Command
62              
63             An Ar command verb. See L<Argon::Constants/:commands>.
64              
65             =head2 Ar::Priority
66              
67             An L<Argon::Message> priority. See L<Argon::Constants/:priorities>.
68              
69             =head1 AUTHOR
70              
71             Jeff Ober <sysread@fastmail.fm>
72              
73             =head1 COPYRIGHT AND LICENSE
74              
75             This software is copyright (c) 2017 by Jeff Ober.
76              
77             This is free software; you can redistribute it and/or modify it under
78             the same terms as the Perl 5 programming language system itself.
79              
80             =cut