added Field::File and Widget::Image
[catagits/Reaction.git] / lib / Reaction / Types / File.pm
1 package Reaction::Types::File;
2
3 use MooseX::Types
4     -declare => [qw/File/];
5
6 use MooseX::Types::Moose 'Object';
7 use Catalyst::Request::Upload;
8
9 subtype File
10   => as Object
11   => where { $_->isa('Path::Class::File') }
12   => message { "Must be a file" };
13
14 subtype Upload
15   => as Object
16   => where { $_->isa('Catalyst::Request::Upload') }
17   => message { "Must be a file" };
18
19 coerce File
20   => from Upload
21     => via { Path::Class::File->new($_->tempname) };
22     
23 1;
24
25 =head1 NAME
26
27 Reaction::Types::File
28
29 =head1 DESCRIPTION
30
31 =over 
32
33 =item * File
34
35 =back
36
37 =head1 SEE ALSO
38
39 =over 
40
41 =item * L<Reaction::Types::Core>
42
43 =back
44
45 =head1 AUTHORS
46
47 See L<Reaction::Class> for authors.
48
49 =head1 LICENSE
50
51 See L<Reaction::Class> for the license.
52
53 =cut