summary refs log tree commit diff
path: root/lib/Net/HTTP/Console/Dispatcher/ExecuteMethod.pm
diff options
context:
space:
mode:
Diffstat (limited to 'lib/Net/HTTP/Console/Dispatcher/ExecuteMethod.pm')
-rw-r--r--lib/Net/HTTP/Console/Dispatcher/ExecuteMethod.pm30
1 files changed, 12 insertions, 18 deletions
diff --git a/lib/Net/HTTP/Console/Dispatcher/ExecuteMethod.pm b/lib/Net/HTTP/Console/Dispatcher/ExecuteMethod.pm
index 08536f3..12a66e4 100644
--- a/lib/Net/HTTP/Console/Dispatcher/ExecuteMethod.pm
+++ b/lib/Net/HTTP/Console/Dispatcher/ExecuteMethod.pm
@@ -1,31 +1,25 @@
 package Net::HTTP::Console::Dispatcher::ExecuteMethod;
 
 use Moose;
-with qw/
-  Net::HTTP::Console::Dispatcher
-  Net::HTTP::Console::Role::HTTP
-  /;
+with qw/Net::HTTP::Console::Dispatcher/;
 
 sub dispatch {
     my ($self, $input) = @_;
-    $input =~ /^(\w+)\s(.*)$/;
-    my $method = $1;
-    my $args   = $2;
-    my $o      = $self->lib->new();
-    my ($content, $response) = $o->$method(%{JSON::decode_json($args)});
-    $self->_set_and_show($content, $response);
+    (my $method, my $args) = $input =~ /^(\w+)\s(.*)$/;
+    my ($content, $response) =
+      $self->application->api_object->$method(%{JSON::decode_json($args)});
+    $self->application->_set_and_show($content, $response);
+    1;
 }
 
 sub pattern {
     my ($self, $input) = @_;
-    $input =~ /^(\w+)/;
-    my $method = $1;
-    # find_api_method_by_name ?
-    if ($self->application->lib->meta->find_method_by_name($method)) {
-        return 1;
-    }else{
-        return 0;
-    }
+    (my $method) = $input =~ /^(\w+)/;
+
+    # XXX find_api_method_by_name ?
+    $self->application->api_object->meta->find_method_by_name($method)
+      ? return $input
+      : return 0;
 }
 
 1;