NAME
Mojo::Role - Tiny and simple role system for Mojo
SYNOPSIS
# role class
package MojoCoreMantainer;
use Mojo::Role;
sub mantaining_mojo {
say "I'm making improvements for Mojolicious..."
}
# base class
package Developer;
use Mojo::Base -base;
sub make_code {
say "I'm making code for Mojolicious ecosystem..."
}
# class
package People;
use Mojo::Base 'Developer';
# using roles
use Mojo::Role -with;
with 'MojoCoreMantainer';
# method
sub what_can_i_do {
my $self = shift;
say "I can do people things...";
$self->make_code;
$self->mantaining_mojo;
}
DESCRIPTION
This module provide a simple and light dependence way to use roles in Mojolicious classes.
# For a role class
use Mojo::Role;
# To use/consume a role
use Mojo::Role -with;
with 'Role::SomeRoleClass';
FUNCTIONS
Mojo::Role optionally exports a with
function, that can be imported with the -with
flag. When exported the caller is not implementing a role but rather consuming them.
with
with 'SomeRoleClass';
Import a role or a list of roles to use.
AUTHOR
Daniel Vinciguerra <daniel.vinciguerra at bivee.com.br>
CONTRIBUTORS
Joel Berger (jberger)
Matt S. Trout (mst)
COPYRIGHT AND LICENSE
Copyright (C) 2016, Daniel Vinciguerra and "CONTRIBUTORS".
This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.
SEE ALSO
https://github.com/kraih/mojo, Mojo::Base, Role::Tiny, http://mojolicious.org.