Weather::OpenWeatherMap::Result->new_for(
$type =>
request => $my_request,
json => $http_response->content,
);
}
unless ($result->is_success) {
die Weather::Open
:OpenWeatherMap::Result::Current->new(
request => $self->request,
json => $self->encode_json($_),
data => +{%$_},
)
} @list
]
},
);
sub count
nt' ? 'current.json'
: $type =~ /^3day/ ? '3day.json'
: $type eq 'forecast' ? '3day.json'
: $type eq 'hourly' ? 'hourly.json'
: $type eq 'failure' ? 'failure.json'
: $type e
q 'error' ? 'failure.json'
: $type eq 'find' ? 'find.json'
: $type eq 'search' ? 'find.json'
: confess "Unknown type $type"
);
path($path)->slurp_utf8
}
{ package
Weather
ecast_json} )
: HTTP::Response->new( 200 => undef => [] => $self->{hourly_json} )
} elsif ($url =~ /find/) {
return HTTP::Response->new( 200 => undef => [] => $self->{find_json} )
:Result;
$Weather::OpenWeatherMap::Result::VERSION = '0.005004';
use Carp;
use strictures 2;
use JSON::MaybeXS ();
use Module::Runtime 'use_module';
use List::Objects::Types -all;
use Types::Standar
($subclass)->new(@_)
}
sub decode_json {
my (undef, $js) = @_;
JSON::MaybeXS->new(utf8 => 1)->decode( $js )
}
sub encode_json {
my (undef, $data) = @_;
JSON::MaybeXS->new(utf8 => 1)->encode(
riter => 'set_request',
isa => InstanceOf['Weather::OpenWeatherMap::Request'],
);
has json => (
required => 1,
is => 'ro',
isa => Str,
);
has data => (
lazy =>