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 (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.