Parent Directory | Revision Log
make classes immutable and remove moose droppings to make Perl::Critic::Moose happy
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 | no Moose::Util::TypeConstraints; |
39 | |
40 | 1; |
ViewVC Help | |
Powered by ViewVC 1.1.26 |