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>

