branching for clone-and-inherit workaround
[catagits/Reaction.git] / lib / Reaction / Types / File.pm
index 065bc4c..95fd679 100644 (file)
@@ -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