/[Frey]/trunk/lib/Frey/Types.pm
This is repository of my old source code which isn't updated any more. Go to git.rot13.org for current projects!
ViewVC logotype

Contents of /trunk/lib/Frey/Types.pm

Parent Directory Parent Directory | Revision Log Revision Log


Revision 932 - (show annotations)
Tue Jan 6 00:21:29 2009 UTC (15 years, 3 months ago) by dpavlin
File size: 577 byte(s)
spunge tweaks
1 package Frey::Types;
2 use Moose::Util::TypeConstraints;
3
4 use URI ();
5
6 subtype 'Uri'
7 => as 'Object'
8 => where { $_->isa('URI') }
9 ;
10
11 coerce 'Uri'
12 => from 'Object'
13 => via { $_->isa('URI')
14 ? $_
15 : Params::Coerce::coerce( 'URI', $_ ) }
16 => from 'Str'
17 => via { URI->new( $_ ) }
18 ;
19
20 subtype 'Sponge'
21 => as 'HashRef'
22 => where {
23 defined $_->{rows} || die "no rows in sponge";
24 ref( $_->{rows} ) eq 'ARRAY' || die "rows not ARRAY";
25 defined $_->{NAME} || die "no NAME in sponge";
26 }
27 ;
28
29 use DBI ();
30
31 subtype 'dsn'
32 => as 'Str'
33 => where {
34 DBI->parse_dsn( $_ );
35 }
36 ;
37
38 1;

  ViewVC Help
Powered by ViewVC 1.1.26