X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=lib%2FReaction%2FTypes%2FFile.pm;h=95fd6798592964fd8dd69a7b2f363d3cfdbd331b;hb=2efa9b8d5697179877d7f13dc3821a77f1af9262;hp=065bc4c12b4cd2db30fa6216dc0e8d09661816d6;hpb=d9a3266fb7015bb1211171c1c113df3b1b7cd700;p=catagits%2FReaction.git diff --git a/lib/Reaction/Types/File.pm b/lib/Reaction/Types/File.pm index 065bc4c..95fd679 100644 --- a/lib/Reaction/Types/File.pm +++ b/lib/Reaction/Types/File.pm @@ -1,16 +1,18 @@ package Reaction::Types::File; -use MooseX::Types - -declare => [qw/File/]; +use MooseX::Types -declare => [qw/File Upload/]; use MooseX::Types::Moose 'Object'; -use Catalyst::Request::Upload; +use Path::Class::File; -subtype File, - as Object, - where { $_->isa('Catalyst::Request::Upload') }, +subtype File, as Object, where { $_->isa('Path::Class::File') }, message { "Must be a file" }; +subtype Upload, as Object, where { $_->isa('Catalyst::Request::Upload') }, + message { "Must be a file" }; + +coerce File, from Upload, via { Path::Class::File->new( $_->tempname ) }; + 1; =head1 NAME