diff options
Diffstat (limited to 'lib/WebService/ForecastIo/DataBlock.pm')
-rw-r--r-- | lib/WebService/ForecastIo/DataBlock.pm | 23 |
1 files changed, 8 insertions, 15 deletions
diff --git a/lib/WebService/ForecastIo/DataBlock.pm b/lib/WebService/ForecastIo/DataBlock.pm index 9885c42..2b737ca 100644 --- a/lib/WebService/ForecastIo/DataBlock.pm +++ b/lib/WebService/ForecastIo/DataBlock.pm @@ -1,28 +1,21 @@ package WebService::ForecastIo::DataBlock; -use Moose; -use Moose::Util::TypeConstraints; -use WebService::ForecastIo::DataPoint; +use Moo; +use namespace::autoclean; +use Types::Standard -all; +use WebService::ForecastIo::Types -all; use WebService::ForecastIo::DataSpan; -class_type 'WebService::ForecastIo::DataBlock'; - -coerce 'WebService::ForecastIo::DataBlock', from 'HashRef', - via { WebService::ForecastIo::DataBlock->new($_) }; - has [qw(summary icon)] => ( is => 'ro', - isa => 'Str', + isa => Str, ); has data => ( is => 'ro', - isa => 'WebService::ForecastIo::DataPointArray', - coerce => 1, - traits => [ 'Array' ], - handles => { - data_points => 'elements', - } + isa => DataPointArray, + coerce => DataPointArray->coercion, ); +sub data_points { @{$_[0]->data} } sub spans_by_string { my ($self,$field) = @_; |