Finance-Bank-Postbank_de

 view release on metacpan or  search on metacpan

lib/Finance/Bank/Postbank_de.pm  view on Meta::CPAN

package Finance::Bank::Postbank_de;

use 5.006; # we use lexical filehandles now
use strict;
use warnings;
use Carp;
use Moo 2;

use Time::Local;
use POSIX 'strftime';

use Finance::Bank::Postbank_de::Account;
use Finance::Bank::Postbank_de::APIv1;
use Encode qw(decode);
use Mozilla::CA;

#use IO::Socket::SSL qw(SSL_VERIFY_PEER SSL_VERIFY_NONE);

our $VERSION = '0.57';

has 'login' => (
    is => 'ro',
);

has 'password' => (
    is => 'ro',
);

has 'urls' => (
    is => 'ro',
    default => sub { {} },
);

has 'logger' => (
    is => 'ro',
    default => sub { {} },
);

has 'past_days' => (
    is => 'ro',
    default => sub { {} },
);

has 'api' => (
    is => 'rw',
    default => sub {
        my $api = Finance::Bank::Postbank_de::APIv1->new();
        $api->configure_ua();
        $api
    },
);

has 'session' => (
    is => 'rw',
);

has '_account_numbers' => (
    is => 'rw',
);

our %functions;
BEGIN {
  %functions = (
    quit		=> [ text_regex => qr'\bBanking\s+beenden\b' ],
    accountstatement	=> [ text_regex => qr'\bUms.*?tze\b' ],
  );
};

around BUILDARGS => sub {
    my ($orig,$class,%args) = @_;

    croak "Login/Account number must be specified"
      unless $args{login};
    croak "Password/PIN must be specified"
      unless $args{password};
    if( exists $args{ status }) {
        $args{ logger } = delete $args{ status };



( run in 6.243 seconds using v1.01-cache-2.11-cpan-5c0b1e786e0 )