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.18';
4              
5 9     9   660766 use strict;
  9         33  
  9         311  
6 9     9   58 use warnings;
  9         24  
  9         453  
7 9     9   67 use Moose::Util::TypeConstraints;
  9         23  
  9         114  
8 9     9   28101 use Path::Tiny qw(path);
  9         85093  
  9         759  
9 9     9   876 use Argon::Constants qw(:commands :priorities);
  9         23  
  9         3022  
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   85 no Moose::Util::TypeConstraints;
  9         35  
  9         151  
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.18
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