diff options
| author | franck cuny <franck@lumberjaph.net> | 2010-06-08 15:22:36 +0200 |
|---|---|---|
| committer | franck cuny <franck@lumberjaph.net> | 2010-06-08 15:22:36 +0200 |
| commit | 78fcbf54a4305e1ee6c3a105f91af40c7ea0a62a (patch) | |
| tree | c4eb6cec29a92076c2f6fc47ca318cbe59f5e0ba /lib/Net/HTTP/Console/Dispatcher/Method.pm | |
| parent | update regex; modify http methods; .. (diff) | |
| download | net-http-console-78fcbf54a4305e1ee6c3a105f91af40c7ea0a62a.tar.gz | |
switch to MX::Declare; rename some roles and dispatcher
Diffstat (limited to '')
| -rw-r--r-- | lib/Net/HTTP/Console/Dispatcher/Method.pm | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/lib/Net/HTTP/Console/Dispatcher/Method.pm b/lib/Net/HTTP/Console/Dispatcher/Method.pm new file mode 100644 index 0000000..0c031d3 --- /dev/null +++ b/lib/Net/HTTP/Console/Dispatcher/Method.pm @@ -0,0 +1,26 @@ +package Net::HTTP::Console::Dispatcher::Method; + +use MooseX::Declare; + +class Net::HTTP::Console::Dispatcher::Method with Net::HTTP::Console::Dispatcher { + + method dispatch($input) { + (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; + } + + method pattern($input) { + (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; |
