Amp-Client

 view release on metacpan or  search on metacpan

lib/Amp/Client.pm  view on Meta::CPAN

package Amp::Client;
use Moo;
use Amp::DbPoolClient;
use Amp::Config;
use Data::Dumper;
use feature 'say';

our $VERSION = '0.03';

has config => (is => 'lazy');

sub dbh {
    my $self = shift;
    my $instance = shift;
    my $type = shift;
    if (defined $type && ($type eq "readonly" || $type eq "any")) {
        return $self->readClient($instance)
    }
    else {
        return $self->writeClient($instance)
    }
}

sub readClient {
    my $self = shift;
    my $instance = shift;

    return Amp::DbPoolClient->new(
        instanceName => $instance,
        type         => 'master',
        config       => $self->config
    );
}

sub writeClient {
    my $self = shift;
    my $instance = shift;

    return Amp::DbPoolClient->new(
        instanceName => $instance,
        type         => 'readonly',
        config       => $self->config
    );
}

sub _build_config {
    my $self = shift;
    return Amp::Config->new();
}

1;
__END__

=encoding utf-8

=head1 NAME

Amp::Client - Blah blah blah

=head1 SYNOPSIS

  use Amp::Client;

=head1 DESCRIPTION



( run in 2.821 seconds using v1.01-cache-2.11-cpan-39bf76dae61 )