ok,.. more tests and stuff
[gitmo/MooseX-Daemonize.git] / lib / MooseX / Daemonize / Pid / File.pm
index 6df5733..2b3c88a 100644 (file)
@@ -1,8 +1,14 @@
 package MooseX::Daemonize::Pid::File;
 use strict;    # because Kwalitee is pedantic
 use Moose;
+use Moose::Util::TypeConstraints;
+use MooseX::Types::Path::Class;
 
-use MooseX::Daemonize::Types;
+coerce 'MooseX::Daemonize::Pid::File' 
+    => from 'Str' 
+        => via { MooseX::Daemonize::Pid::File->new( file => $_ ) }
+    => from 'Path::Class::File' 
+        => via { MooseX::Daemonize::Pid::File->new( file => $_ ) };
 
 our $VERSION = '0.01';
 
@@ -29,7 +35,9 @@ sub does_file_exist { -s (shift)->file }
 
 sub write {
     my $self = shift;
-    $self->file->openw->print($self->pid);
+    my $fh = $self->file->openw;
+    $fh->print($self->pid);
+    $fh->close;
 }
 
 override 'is_running' => sub {
@@ -55,8 +63,6 @@ MooseX::Daemonize::Pid::File - PID file management for MooseX::Daemonize
 
 =over
 
-=item pid Int
-
 =item file Path::Class::File | Str
 
 =back