1 package MooseX::Daemonize::Pid::File;
2 use strict; # because Kwalitee is pedantic
4 use Moose::Util::TypeConstraints;
5 use MooseX::Types::Path::Class;
7 coerce 'MooseX::Daemonize::Pid::File'
9 => via { MooseX::Daemonize::Pid::File->new( file => $_ ) }
10 => from 'Path::Class::File'
11 => via { MooseX::Daemonize::Pid::File->new( file => $_ ) };
13 our $VERSION = '0.01';
15 extends 'MooseX::Daemonize::Pid';
20 $self->does_file_exist
21 ? $self->file->slurp(chomp => 1)
28 isa => 'Path::Class::File',
31 handles => [ 'remove' ]
34 sub does_file_exist { -s (shift)->file }
38 my $fh = $self->file->openw;
39 $fh->print($self->pid);
43 override 'is_running' => sub {
44 return 0 unless (shift)->does_file_exist;
56 MooseX::Daemonize::Pid::File - PID file management for MooseX::Daemonize
66 =item file Path::Class::File | Str
84 The C<meta()> method from L<Class::MOP::Class>
92 =head1 INCOMPATIBILITIES
96 =head1 BUGS AND LIMITATIONS
98 No bugs have been reported.
100 Please report any bugs or feature requests to
101 C<bug-acme-dahut-call@rt.cpan.org>, or through the web interface at
102 L<http://rt.cpan.org>.
106 Stevan Little C<< <stevan@cpan.org> >>
108 =head1 LICENCE AND COPYRIGHT
110 Copyright (c) 2007, Chris Prather C<< <perigrin@cpan.org> >>. All rights
113 This module is free software; you can redistribute it and/or
114 modify it under the same terms as Perl itself. See L<perlartistic>.
117 =head1 DISCLAIMER OF WARRANTY
119 BECAUSE THIS SOFTWARE IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
120 FOR THE SOFTWARE, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN
121 OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
122 PROVIDE THE SOFTWARE "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER
123 EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
124 WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE
125 ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE SOFTWARE IS WITH
126 YOU. SHOULD THE SOFTWARE PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL
127 NECESSARY SERVICING, REPAIR, OR CORRECTION.
129 IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
130 WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
131 REDISTRIBUTE THE SOFTWARE AS PERMITTED BY THE ABOVE LICENCE, BE
132 LIABLE TO YOU FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL,
133 OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE
134 THE SOFTWARE (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING
135 RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A
136 FAILURE OF THE SOFTWARE TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF
137 SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF