NAME
Mojo::Role - Tiny and simple role system for Mojo
SYNOPSIS
# role class
package MojoCoreMantainer;
use Mojo::Base '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 dependence free way to use roles in Mojolicious classes.
# For a role class
use Mojo::Base 'Mojo::Role';
# To import/use a role
use Mojo::Role -with;
with 'Role::SomeRoleClass';
FUNCTIONS
Mojo::Role implement with
function, that can be imported with the -with
flag.
with
with 'SomeRoleClass';
with ['SomeRoleClass', 'SomeOtherRoleClass'];
Import a role or a list of roles to use.
COPYRIGHT AND LICENSE
Copyright (C) 2016, Daniel Vinciguerra <daniel.vinciguerra at bivee.com.br>
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, Mojolicious::Guides, http://mojolicious.org.