Stevan Little > Moose-0.34 > Moose::Role

Download:
Moose-0.34.tar.gz

Dependencies

Annotate this POD

CPAN RT

New  13
Open  42
Stalled  7
View/Report Bugs
Module Version: 0.07   Source   Latest Release: Moose-2.1303-TRIAL

NAME ^

Moose::Role - The Moose Role

SYNOPSIS ^

  package Eq;
  use Moose::Role; # automatically turns on strict and warnings

  requires 'equal';

  sub no_equal {
      my ($self, $other) = @_;
      !$self->equal($other);
  }

  # ... then in your classes

  package Currency;
  use Moose; # automatically turns on strict and warnings

  with 'Eq';

  sub equal {
      my ($self, $other) = @_;
      $self->as_float == $other->as_float;
  }

DESCRIPTION ^

Role support in Moose is pretty solid at this point. However, the best documentation is still the the test suite. It is fairly safe to assume Perl 6 style behavior and then either refer to the test suite, or ask questions on #moose if something doesn't quite do what you expect.

We are planning writing some more documentation in the near future, but nothing is ready yet, sorry.

EXPORTED FUNCTIONS ^

Moose::Role currently supports all of the functions that Moose exports, but differs slightly in how some items are handled (see CAVEATS below for details).

Moose::Role also offers two role-specific keyword exports:

requires (@method_names)

Roles can require that certain methods are implemented by any class which does the role.

excludes (@role_names)

Roles can exclude other roles, in effect saying "I can never be combined with these @role_names". This is a feature which should not be used lightly.

CAVEATS ^

Role support has only a few caveats:

BUGS ^

All complex software has bugs lurking in it, and this module is no exception. If you find a bug please either email me, or add the bug to cpan-RT.

AUTHOR ^

Stevan Little <stevan@iinteractive.com>

Christian Hansen <chansen@cpan.org>

COPYRIGHT AND LICENSE ^

Copyright 2006-2008 by Infinity Interactive, Inc.

http://www.iinteractive.com

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

syntax highlighting: