Group
Extension

WWW-NHKProgram-API/lib/WWW/NHKProgram/API/Provider/Genre.pm

package WWW::NHKProgram::API::Provider::Genre;
use strict;
use warnings;
use utf8;
use JSON ();
use WWW::NHKProgram::API::Area    qw/fetch_area_id/;
use WWW::NHKProgram::API::Genre   qw/fetch_genre_id/;
use WWW::NHKProgram::API::Service qw/fetch_service_id/;
use WWW::NHKProgram::API::Date;
use WWW::NHKProgram::API::Provider::Common;

sub call {
    my ($class, $context, $arg, $raw) = @_;

    my $area    = fetch_area_id($arg->{area});
    my $service = fetch_service_id($arg->{service});
    my $genre   = fetch_genre_id($arg->{genre});
    my $date    = WWW::NHKProgram::API::Date::validate($arg->{date});

    my $content = WWW::NHKProgram::API::Provider::Common::call(
        $context,
        "genre/%(area)s/%(service)s/%(genre)s/%(date)s.json",
        {
            area    => $area,
            service => $service,
            genre   => $genre,
            date    => $date,
        },
        $raw,
    );
    return $content if $raw;
    return JSON::decode_json($content)->{list}->{$service};
}

1;



Powered by Groonga
Maintained by Kenichi Ishigaki <ishigaki@cpan.org>. If you find anything, submit it on GitHub.