NAME

Dancer2::RPCPlugin::DispatchMethodList - Class for maintaining a global methodlist.

SYNOPSIS

    use Dancer2::RPCPlugin::DispatchMethodList;
    my $methods = Dancer2::RPCPlugin::DispatchMethodList->new();

    $methods->set_partial(
        protocol => <jsonrpc|restrpc|xmlrpc>,
        endpoint => </configured>,
        methods  => [ @method_names ],
    );

    # Somewhere else
    my $dml = Dancer2::RPCPlugin::DispatchMethodList->new();
    my $methods = $dml->list_methods(<any|jsonrpc|restrpc|xmlrpc>);

DESCRIPTION

This class implements a singleton that can hold the collection of all method names.

my $dml = Dancer2::RPCPlugin::DispatchMethodList->new()

Parameters

None!

Responses

    $singleton = bless $parameters, $class;

$dml->set_partial(%parameters)

Parameters

Named, list:

protocol => <jsonrpc|restrpc|xmlrpc>
endpoint => $endpoint
methods => \@method_list

Responses

    $self

$dml->list_methods(@parameters)

Method that returns information about the dispatch-table.

Parameters

Positional, list:

$protocol => undef || <any|jsonrpc|restrpc|xmlrpc>

Responses

In case of no $protocol:

    {
        xmlrpc => {
            $endpoint1 => [ list ],
            $endpoint2 => [ list ],
        },
        jsonrpc => {
            $endpoint1 => [ list ],
            $endpoint2 => [ list ],
        },
    }

In case of specified $protocol:

    {
        $endpoint1 => [ list ],
        $endpoint2 => [ list ],
    }

COPYRIGHT

(c) MMXVI - Abe Timmerman <abeltje@cpan.org>