summaryrefslogtreecommitdiff
path: root/lib/Net/HTTP/Console/Role/API.pm
diff options
context:
space:
mode:
authorfranck cuny <franck@lumberjaph.net>2010-06-08 18:01:03 +0200
committerfranck cuny <franck@lumberjaph.net>2010-06-08 18:01:03 +0200
commitd0958fca7e5b21131857f40c1aac60a59893ed63 (patch)
tree9d05f271ba956b366298b2739321884775130542 /lib/Net/HTTP/Console/Role/API.pm
parentrole to log and write (diff)
downloadnet-http-console-d0958fca7e5b21131857f40c1aac60a59893ed63.tar.gz
fix loading lib; rename print to message
Diffstat (limited to '')
-rw-r--r--lib/Net/HTTP/Console/Role/API.pm30
1 files changed, 19 insertions, 11 deletions
diff --git a/lib/Net/HTTP/Console/Role/API.pm b/lib/Net/HTTP/Console/Role/API.pm
index c6ea1f2..cd3ba75 100644
--- a/lib/Net/HTTP/Console/Role/API.pm
+++ b/lib/Net/HTTP/Console/Role/API.pm
@@ -18,22 +18,30 @@ role Net::HTTP::Console::Role::API {
lazy => 1,
default => sub {
my $self = shift;
- $self->load_api_lib($self->api_lib);
+ $self->_load_api_lib($self->api_lib);
},
);
- method load_api_lib($lib) {
+ method _load_api_lib($lib) {
+ my $api;
try {
Class::MOP::load_class($lib);
$self->api_lib($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;
- }catch{
- # XXX ERROR
- }
+ $api = $lib->new();
+ $api->api_base_url($self->url) if $self->has_url;
+ $api->api_format($self->format) if $self->has_format;
+ $api->api_format_mode($self->format_mode)
+ if $self->has_format_mode;
+ }catch {
+ $self->logger('error', "failed to load $lib: $_");
+ };
+ return $api if $api;
+ }
+
+ method load_api_lib($lib) {
+ my $object = $self->_load_api_lib($lib);
+ $self->api_object($object);
+ $self->message("successfully loaded $lib");
}
method new_anonymous_method ($http_method, $path) {
@@ -44,7 +52,7 @@ role Net::HTTP::Console::Role::API {
path => $path,
);
}catch {
- # XXX ERROR
+ $self->logger('error', "failed to add anonymous method: ".$_);
}
}
}