diff options
Diffstat (limited to 'lib/WebService/ForecastIo/Alert.pm')
-rw-r--r-- | lib/WebService/ForecastIo/Alert.pm | 31 |
1 files changed, 9 insertions, 22 deletions
diff --git a/lib/WebService/ForecastIo/Alert.pm b/lib/WebService/ForecastIo/Alert.pm index d402fa2..af826d8 100644 --- a/lib/WebService/ForecastIo/Alert.pm +++ b/lib/WebService/ForecastIo/Alert.pm @@ -1,38 +1,25 @@ package WebService::ForecastIo::Alert; -use Moose; -use Moose::Util::TypeConstraints; -use MooseX::Types::URI 'Uri'; -use MooseX::Types::DateTime; - -class_type 'WebService::ForecastIo::Alert'; - -subtype 'WebService::ForecastIo::AlertArray', - as 'ArrayRef[WebService::ForecastIo::Alert]'; - -coerce 'WebService::ForecastIo::Alert', from 'HashRef', - via { WebService::ForecastIo::Alert->new($_) }; - -coerce 'WebService::ForecastIo::AlertArray', from 'ArrayRef[HashRef]', - via { - my $array = $_; - [ map { WebService::ForecastIo::Alert->new($_) } - @$array ] - }; +use Moo; +use namespace::autoclean; +use Types::Standard -all; +use Types::URI 'Uri'; +use Types::DateTime 'DateTimeT'; has title => ( is => 'ro', - isa => 'Str', + isa => Str, ); has expires => ( is => 'ro', - isa => 'DateTime', - coerce => 1, + isa => DateTimeT, + coerce => DateTimeT->coercion, ); has uri => ( is => 'ro', isa => Uri, + coerce => Uri->coercion, ); 1; |