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=a3b762b030bf88073a0a81a4ae374f5985a09973;hpb=bded3808af758db37b44806d6729aeeb603c3341;p=catagits%2FReaction.git diff --git a/lib/Reaction/Types/File.pm b/lib/Reaction/Types/File.pm index a3b762b..95fd679 100644 --- a/lib/Reaction/Types/File.pm +++ b/lib/Reaction/Types/File.pm @@ -1,15 +1,17 @@ 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') } - => message { "Must be a file" }; +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;