NAME

WebService::MorphIO - Perl class to communication with morph.io.

SYNOPSIS

use WebService::MorphIO;

my $obj = WebService::MorphIO->new(%parameters);
$obj->csv('output.csv');
$obj->sqlite('output.sqlite');

METHODS

new(%parameters)

Constructor.

  • api_key

    Morph.io API key.
    It is required.
    Default value is undef.
  • project

    Project.
    It is required.
    Default value is undef.
  • select

    Select.
    It is usable for csv() method.
    Default value is 'SELECT * FROM data'.
  • web_uri

    Web URI of service.
    Default value is 'https://morph.io/'.
csv($output_file)
Get CSV file and save to output file.
It is affected by 'select' parameter.
Returns undef.
sqlite($output_file)
Get sqlite file and save to output file.
Returns undef.

ERRORS

new():
        Parameter 'api_key' is required.
        Parameter 'project' is required.
        From Class::Utils::set_params():
                Unknown parameter '%s'.

csv():
        Cannot get '%s'.

sqlite():
        Cannot get '%s'.

EXAMPLE

use strict;
use warnings;

use File::Temp qw(tempfile);
use Perl6::Slurp qw(slurp);
use WebService::MorphIO;

# Arguments.
if (@ARGV < 2) {
        print STDERR "Usage: $0 api_key project\n";
        exit 1;
}
my $api_key = $ARGV[0];
my $project = $ARGV[1];

# Temp file.
my (undef, $temp_file) = tempfile();

# Object.
my $obj = WebService::MorphIO->new(
        'api_key' => $api_key,
        'project' => $project,
);

# Save CSV file.
$obj->csv($temp_file);

# Print to output.
print slurp($temp_file);

# Clean.
unlink $temp_file;

# Output:
# Usage: ./examples/ex1.pl api_key project

DEPENDENCIES

Class::Utils, Encode, Error::Pure, IO::Barf, LWP::Simple, URI, URI::Escape.

REPOSITORY

https://github.com/michal-josef-spacek/WebService-MorphIO

AUTHOR

Michal Josef Špaček mailto:skim@cpan.org

http://skim.cz

LICENSE AND COPYRIGHT

© 2014-2020 Michal Josef Špaček

BSD 2-Clause License

VERSION

0.04