changing all versions to 0.15
[gitmo/MooseX-Daemonize.git] / lib / MooseX / Daemonize / Pid.pm
index 0faaedb..7e11724 100644 (file)
@@ -1,14 +1,21 @@
 package MooseX::Daemonize::Pid;
 use strict;    # because Kwalitee is pedantic
 use Moose;
+use Moose::Util::TypeConstraints;
+our $VERSION   = '0.15';
+
+coerce 'MooseX::Daemonize::Pid'
+    => from 'Int'
+        => via { MooseX::Daemonize::Pid->new( pid => $_ ) };
 
-our $VERSION = '0.01';
 
 has 'pid' => (
-    is      => 'rw',
-    isa     => 'Int',
-    lazy    => 1,
-    default => sub { $$ }
+    is        => 'rw',
+    isa       => 'Int',
+    lazy      => 1,
+    clearer   => 'clear_pid',
+    predicate => 'has_pid',
+    default   => sub { $$ }
 );
 
 sub is_running { kill(0, (shift)->pid) ? 1 : 0 }
@@ -23,23 +30,36 @@ __END__
 
 MooseX::Daemonize::Pid - PID management for MooseX::Daemonize
 
-=head1 SYNOPSIS
-     
 =head1 DESCRIPTION
 
+This is a very basic Pid management object, it doesn't do all that
+much, and mostly just serves as a base class for L<MooseX::Daemonize::Pid::File>.
+
 =head1 ATTRIBUTES
 
-=over
+=over 4
 
-=item pid Int
+=item I<pid Int>
 
 =back
 
-=head1 METHODS 
+=head1 METHODS
+
+=over 4
+
+=item B<clear_pid>
 
-=over
+This will clear the value of the I<pid> attribute. It is useful for making sure
+that the parent process does not have a bad value stored in it.
 
-=item is_running
+=item B<has_pid>
+
+This is a predicate method to tell you if your I<pid> attribute has
+been initialized yet.
+
+=item B<is_running>
+
+This checks to see if the I<pid> is running.
 
 =item meta()
 
@@ -65,17 +85,16 @@ L<http://rt.cpan.org>.
 
 =head1 AUTHOR
 
-Stevan Little  C<< <stevan@cpan.org> >>
+Stevan Little  C<< <stevan.little@iinteractive.com> >>
 
 =head1 LICENCE AND COPYRIGHT
 
-Copyright (c) 2007, Chris Prather C<< <perigrin@cpan.org> >>. All rights 
+Copyright (c) 2007-2011, Chris Prather C<< <perigrin@cpan.org> >>. All rights
 reserved.
 
 This module is free software; you can redistribute it and/or
 modify it under the same terms as Perl itself. See L<perlartistic>.
 
-
 =head1 DISCLAIMER OF WARRANTY
 
 BECAUSE THIS SOFTWARE IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
@@ -99,4 +118,4 @@ FAILURE OF THE SOFTWARE TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF
 SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF
 SUCH DAMAGES.
 
-=cut
\ No newline at end of file
+=cut