Thread MooseX::Types - Problem mit Subtype und Where-Test
(8 answers)
Opened by roooot at 2010-09-22 22:18
Danke Matthias.
Das mit ArrayRef[WWW::Google::Contacts::Type::Email] will nicht ganz, weil er mir verbietet WWW::Google::Contacts::Type::Email einzubinden. Ich denke ich muss den Typ erst bei Moose bekanntmachen, ähnlich wie die Standard Typen ja mit use MooseX::Types::Moose qw/ArrayRef HashRef Str/; eingebunden werden. Ich erstelle mir also eine neuen Typen und binde diesen dann ein? Code (perl): (dl
)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 # WWWGoogleContactsTypeEmail class_type WWWGoogleContactsTypeEmail, { class => 'WWW::Google::Contacts::Type::Email', }; # GooglePrimaryEmail subtype GooglePrimaryEmail, as EmailAddress, message { 'validation failed for: '. Dumper $_; }; coerce GooglePrimaryEmail, from ArrayRef[WWWGoogleContactsTypeEmail], via { my $p = (grep { $_->{primary} } @$_)[0]; $p = $p ? $p->{value} : @$_->[0]{value}; # no prim email -> take first address return $p; }; tuts dann auch. Viele Grüße :)
|