Finance-Bitcoin-Yacuna
view release on metacpan or search on metacpan
lib/Finance/Bitcoin/Yacuna.pm view on Meta::CPAN
package Finance::Bitcoin::Yacuna;
#
# $Id: Yacuna.pm 2 2014-07-01 11:07:37Z martchouk $
#
# Yacuna API connector
# author, (c): Andrei Martchouk <andrei at yacuna dot com>
#
use strict;
no strict 'subs';
use warnings;
use WWW::Mechanize;
use HTTP::Request;
use MIME::Base64;
use Digest::SHA qw(sha512_hex);
use Data::Dump qw(dump);
require Exporter;
our @ISA = qw(Exporter);
our $VERSION = "0.1";
my $conf = {
prod => {
host => 'https://yacuna.com',
basePath => '/api/',
apiVersion => '1'
},
sandbox => {
host => 'https://sandbox.yacuna.com',
basePath => '/api/',
apiVersion => '1'
},
debug => 0
};
sub new{
my $type = shift;
my %params = @_;
my $httpClient = new WWW::Mechanize;
if($params{'skipSSL'} && (int$params{'skipSSL'})>0){
$httpClient->{'ssl_opts'} = {
SSL_verify_mode => IO::Socket::SSL::SSL_VERIFY_NONE,
verify_hostname => 0, # this key is likely going to be removed in future LWP >6.04
};
}
my $config = {};
$config = $params{'sandbox'} && (int$params{'sandbox'})>0 ? $conf->{'sandbox'} : $conf->{'prod'};
$config->{debug} = $params{'debug'} && (int$params{'debug'})>0 ? $params{'debug'} : 0;
bless{
'uri' => $config->{'host'},
'basePath' => $config->{'basePath'},
'apiVersion' => $params{'apiVersion'} || $config->{'apiVersion'},
'tokenId' => $params{'tokenId'},
'secret'=> $params{'secret'},
'SKIP_SSL'=>$params{'skipSSL'},
'httpClient'=> $httpClient,
'debug' => $config->{debug}
},
$type;
}
sub uri {
return $_[0]->{'uri'} unless $_[1];
$_[0]->{'uri'} = $_[1]
}
sub basePath {
return $_[0]->{'basePath'} unless $_[1];
$_[0]->{'basePath'} = $_[1]
}
sub apiVersion {
return $_[0]->{'apiVersion'} unless $_[1];
$_[0]->{'apiVersion'} = $_[1]
}
sub tokenId {
return $_[0]->{'tokenId'} unless $_[1];
$_[0]->{'tokenId'} = $_[1]
}
sub secret {
return $_[0]->{'secret'} unless $_[1];
$_[0]->{'secret'} = $_[1]
}
sub debug {
return $_[0]->{'debug'} unless $_[1];
$_[0]->{'debug'} = $_[1]
}
sub SKIP_SSL {
return $_[0]->{'SKIP_SSL'} unless $_[1];
$_[0]->{'SKIP_SSL'} = $_[1]
}
sub call {
my $self = shift;
( run in 0.464 second using v1.01-cache-2.11-cpan-13bb782fe5a )