summary refs log tree commit diff
path: root/lib/Net/HTTP/Console/Role/APILib.pm
diff options
context:
space:
mode:
authorfranck cuny <franck@lumberjaph.net>2010-06-08 13:18:38 +0200
committerfranck cuny <franck@lumberjaph.net>2010-06-08 13:18:38 +0200
commit548f1a38f43a1b5da435b3a7c778f5ec3471f2f2 (patch)
tree4b36535807ec253033bc6f4ba0f259e62c74d1f6 /lib/Net/HTTP/Console/Role/APILib.pm
parentupdate name of api methods; fetch doc from method (diff)
downloadnet-http-console-548f1a38f43a1b5da435b3a7c778f5ec3471f2f2.tar.gz
update regex; modify http methods; ..
Diffstat (limited to '')
-rw-r--r--lib/Net/HTTP/Console/Role/APILib.pm26
1 files changed, 26 insertions, 0 deletions
diff --git a/lib/Net/HTTP/Console/Role/APILib.pm b/lib/Net/HTTP/Console/Role/APILib.pm
new file mode 100644
index 0000000..5f5aff1
--- /dev/null
+++ b/lib/Net/HTTP/Console/Role/APILib.pm
@@ -0,0 +1,26 @@
+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;