NAME
WebService::Pokemon - A module to access the Pokémon data through RESTful API from http://pokeapi.co.
SYNOPSIS
use WebService::Pokemon;
my $pokemon_api = WebService::Pokemon->new;
my $pokemon = $pokemon_api->pokemon(id => 1);
DESCRIPTION
WebService::Pokemon is a Perl client helper library for the Pokemon API (pokeapi.co).
DEVELOPMENT
Source repo at https://github.com/kianmeng/webservice-pokemon.
Docker
If you have Docker installed, you can build your Docker container for this project.
$ docker build -t webservice-pokemon .
$ docker run -it -v $(pwd):/root webservice-pokemon bash
# cpanm --installdeps --notest .
Milla
Setting up the required packages.
$ cpanm Dist::Milla
$ milla listdeps --missing | cpanm
Check you code coverage.
$ milla cover
Several ways to run the test.
$ milla test
$ milla test --author --release
$ AUTHOR_TESTING=1 RELEASE_TESTING=1 milla test
$ AUTHOR_TESTING=1 RELEASE_TESTING=1 milla run prove t/01_instantiation.t
$ LOGGING=1 milla run prove t/t/03_pokemon.t
Release the module.
$ milla build
$ milla release
METHODS
new([%$args])
Construct a new WebService::Pokemon instance. Optionally takes a hash or hash reference.
# Instantiate the class.
my $pokemon_api = WebService::Pokemon->new;
base_url
The URL of the API resource.
# Instantiate the class by setting the URL of the API endpoints.
my $pokemon_api = WebService::Pokemon->new({api_url => 'http://example.com/api/v2'});
api_version
The API version of the API endpoints. By default, the API version was set to 'v2'.
# Instantiate the class by setting the API version.
my $pokemon_api = WebService::Pokemon->new({api_version => 'v1'});
api_version
Get the current API version of the web service.
my $version = $pokemon_api->api_version();
# Change the API version.
$pokemon_api->api_version('v1');
pokemon
Get the details of a particular Pokémon either by id or name.
my $pokemon = $pokemon_api->pokemon(id => 1);
my $pokemon = $pokemon_api->pokemon(id => 'bulbasaur');
berry
Get the details of a particular berry either by id or name.
my $pokemon = $pokemon_api->berry(id => 1);
my $pokemon = $pokemon_api->berry(id => 'cheri');
berry_firmness
Get the details of a particular berry firmness either by id or name.
my $pokemon = $pokemon_api->berry_firmness(id => 1);
my $pokemon = $pokemon_api->berry_firmness(id => 'very-soft');
berry_flavor
Get the details of a particular berry flavor either by id or name.
my $pokemon = $pokemon_api->berry_firmness(id => 1);
my $pokemon = $pokemon_api->berry_firmness(id => 'spicy');
commands
COPYRIGHT AND LICENSE
This software is Copyright (c) 2018 by Kian Meng, Ang.
This is free software, licensed under:
The Artistic License 2.0 (GPL Compatible)
AUTHOR
Kian Meng, Ang <kianmeng@users.noreply.github.com>