Group
Extension

WWW-Jugem-API/lib/WWW/Jugem/API.pm

package WWW::Jugem::API;
use 5.008005;
use strict;
use warnings;
use utf8;
use Mouse;
use Furl;
use JSON;

our $VERSION = "0.01";

use constant BASE_URL => 'http://api.jugemkey.jp/api/horoscope/free/';

has 'date' => (is => 'rw',isa => 'Str');

has furl => (
  is => 'rw',
 isa => 'Furl',
 lazy_build => 1
);

sub _build_furl{
 my $self = shift;
 return Furl->new(
    agent => 'WWW::Jugem::API(Perl)',
    timeout => 20,
 );
}

my %star_chart = (
   '牡羊座' => 0,
   '牡牛座' => 1,
   '双子座' => 2,
   '蟹座'   => 3,
   '獅子座' => 4,
   '乙女座' => 5,
   '天秤座' => 6,
   '蠍座'   => 7,
   '射手座' => 8,
   '山羊座' => 9,
   '水瓶座' => 10,
   '魚座'   => 11
);

sub fetch{
 my ($self,$star) = @_;
 my $date = $self->date;
 my $url = BASE_URL.$date;
 my $response = $self->furl->get($url);
 my $content = JSON::decode_json($response->content);
 return $content->{horoscope}->{$date}->[$star_chart{$star}];
}

1;


__END__

=encoding utf-8

=head1 NAME

WWW::Jugem::API - It's jugem uranai API

=head1 SYNOPSIS

    use WWW::Jugem::API;

    my $jugem = WWW::Jugem::API->new(date => '2014/09/09');
    my $response = $jugem->fetch('双子座');
    print $response->{content} #=> '不利な状況でも、強気な姿勢を崩さないことがポイント。今日の仕事では、あなたらしく素晴らしい結果が出せそうです。'
    print $response->{color} #=> 'ホワイト'
    print $response->{sign}  #=> '双子座'
    pritn $response->{jog} # 3  <1~5> #仕事運

=head1 DESCRIPTION

 WWW::Jugem::API is API by given URL <http://jugemkey.jp/api/waf/api.ph>

=head1 LICENSE

Copyright (C) sue7ga.

This library is free software; you can redistribute it and/or modify
it under the same terms as Perl itself.

=head1 AUTHOR

sue7ga E<lt>sue77ga@gmail.comE<gt>

=cut



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