summaryrefslogblamecommitdiff
path: root/lib/Net/HTTP/Console/Role/APILib.pm
blob: 5f5aff11feb5a961f7abfa833e9cd27be5365289 (plain) (tree)

























                                                                              
package Net::HTTP::Console::Role::APILib;

use Moose::Role;

has lib => (isa => 'Str', is => 'rw', default => 'Net::HTTP::Console::Dummy');
has api_object => (
    isa     => 'Object',
    is      => 'rw',
    lazy    => 1,
    default => sub {
        my $self = shift;
        $self->load_api_lib($self->lib);
    },
);

sub load_api_lib {
    my ($self, $lib) = @_;
    Class::MOP::load_class($lib);
    my $o = $lib->new();
    $o->api_base_url($self->url)            if $self->has_url;
    $o->api_format($self->format)           if $self->has_format;
    $o->api_format_mode($self->format_mode) if $self->has_format_mode;
    $o;
}

1;