NAME

Moo::Role - Minimal Object Orientation support for Roles

SYNOPSIS

package My::Role;

use Moo::Role;

sub foo { ... }

sub bar { ... }

has baz => (
  is => 'ro',
);

1;

else where

package Some::Class;

use Moo;

# bar gets imported, but not foo
with('My::Role');

sub foo { ... }

1;

DESCRIPTION

Moo::Role builds upon Role::Tiny, so look there for most of the documentation on how this works. The main addition here is extra bits to make the roles more "Moosey;" which is to say, it adds "has".

IMPORTED SUBROUTINES

See "IMPORTED SUBROUTINES" in Role::Tiny for all the other subroutines that are imported by this module.

has

has attr => (
  is => 'ro',
);

Declares an attribute for the class to be composed into. See "has" in Moo for all options.