NAME JSON::RPC::Dispatcher::ClassMapping - Expose all public methods of classes as RPC methods SYNOPSIS # in app.psgi use JSON::RPC::Dispatcher::ClassMapping; my $server = JSON::RPC::Dispatcher::ClassMapping->new( dispatch => { Foo => 'My::Module', Bar => 'My::Another::Module', }, ); $server->to_app; DESCRIPTION This module is a wrapper for JSON::RPC::Dispatcher and provides an easy way to expose all public methods of classes as JSON-RPC methods. It treats methods with a leading underscore as private methods. ATTRIBUTES *dispatch* This is a hashref that maps "package names" in RPC method requests to actual Perl module names (in a format like "My::Module::Name"). For example, let's say that you have a "dispatch" that looks like this: { 'Util' => 'Foo::Service::Util', 'Calendar' => 'Bar::Baz' } So then, calling the method "Util.get" will call "Foo::Service::Util->get". Calling "Calendar.create" will call "Bar::Baz->create". You don't have to pre-load the Perl modules, JSON::RPC::Dispatcher::ClassMapping will load them for you. AUTHOR Sherwin Daganato Based on the dispatcher of RPC::Any::Server by Max Kanat-Alexander. LICENSE This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself. SEE ALSO RPC::Any::Server SOAP::Server