NAME

MOP::Role - A representation of a role

VERSION

version 0.14

DESCRIPTION

A role is simply a package which may have methods, may have slot defintions, and may consume other roles.

CONSTRUCTORS

new( name = $package_name )>
new( $package_name )
new( \%package_stash )

METHODS

stash

Identity

name
version
authority

Role Relationships

roles
set_roles( @roles )
does_role( $role )

Slots

all_slots
slots
has_slot( $name )
get_slot( $name )
add_slot( $name, &$initializer )
delete_slot( $name )
aliased_slots
alias_slot( $name, &$initializer )
has_slot_alias ( $name )
get_slot_alias ( $name )
delete_slot_alias ( $name )

Required Methods

required_methods
requires_method( $name )
has_required_method( $name )
get_required_method( $name )
add_required_method( $name )
delete_required_method( $name )

Methods

all_methods
methods
has_method( $name )
get_method( $name )
add_method( $name, &$code )
delete_method( $name )
aliased_methods
alias_method( $name, &$code )
has_method_alias( $name )
get_method_alias( $name )
delete_method_alias( $name )

AUTHOR

Stevan Little <stevan@cpan.org>

COPYRIGHT AND LICENSE

This software is copyright (c) 2017, 2018 by Stevan Little.

This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.