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