Skip to content

blabos/Mojolicious-Plugin-Sticker

Repository files navigation

NAME
    Mojolicious::Plugin::Sticker - Stick apps together

VERSION
    0.0.1

SYNOPSIS
    A simple Mojolicious plugin inspired by Mojolicious::Plugin::Mount to
    join several small mojo apps into a single one.

    Differently from Mojolicious::Plugin::Mount you won't provide a prefix.
    The small apps an their routes are just glued together "as is".

    It is like a "cat" for mojo apps.

        # app foo.pl
    
        use Mojolicious::Lite -signarues;
    
        get '/foo' => sub($c) { $c->render( json => { foo => 123 } ) };
    
        app->start;

        ##################################################

        # app bar.pl
    
        use Mojolicious::Lite -signatures;
    
        get '/bar' => sub($c) { $c->render( json => { bar => 456 } ) };
    
        post '/baz' => sub($c) {
            my $baz  = $c->req->json->{baz} || 0;
    
            $c->render( json => { baz => $baz + 42 } );
        };
    
        app->start;
    
        ##################################################

        # app main.pl
    
        use Mojolicious::Lite;
    
        plugin Sticker => { app => 't/lib/apps/foo' };
        plugin Sticker => { app => 't/lib/apps/bar' };
    
        app->start;

        # main.pl does all that both foo.pl and bar.pl does

DESCRIPTION
    Sometimes we have some small apps that we may want to glue together into
    a bigger one. This is pretty straightforward with Mojolicious.

    Mojolicious::Plugin::Mount is a very nice tool to add small apps under a
    prefix into another app.

    This plugin goes down to a slightly different approach. We just glue the
    apps together keeping its original routes.

    This is exclty what this plugin does:

        use Mojolicious::Lite -signtures;

        my $embed = Mojo::Server->new->load_app('my-app');
        app->routes->add_child( $embed->routes );

    head1 METHODS

    Mojolicious::Plugin::Sticker inherits all methods from
    Mojolicious::Plugin and implements the following new ones.

  register
    Mount an aplication and attach its routes as children of main app
    routes.

SEE ALSO
    Mojolicious, Mojolicious::Plugin::Mount, Mojolicious::Guides,
    <https://mojolicious.org>.

AUTHOR
    Blabos de Blebe, "<blabos at cpan.org>"

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published