NAME
Moose::Util - Utilities for working with Moose classes
SYNOPSIS
use Moose::Util qw/find_meta does_role search_class_by_role/;
my $meta = find_meta($object) || die "No metaclass found";
if (does_role($object, $role)) {
print "The object can do $role!\n";
}
my $class = search_class_by_role($object, 'FooRole');
print "Nearest class with 'FooRole' is $class\n";
DESCRIPTION
This is a set of utility functions to help working with Moose classes. This is an experimental module, and it's not 100% clear what purpose it will serve. That said, ideas, suggestions and contributions to this collection are most welcome. See the TODO section below for a list of ideas for possible functions to write.
EXPORTED FUNCTIONS
- find_meta ($class_or_obj)
-
This will attempt to locate a metaclass for the given
$class_or_obj
and return it. - does_role ($class_or_obj, $role_name)
-
Returns true if
$class_or_obj
can do the role$role_name
. - search_class_by_role ($class_or_obj, $role_name)
-
Returns first class in precedence list that consumed
$role_name
.
TODO
Here is a list of possible functions to write
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
Anders Nor Berle <debolaz@gmail.com>
with contributions from:
Robert (phaylon) Sedlacek
Stevan Little
COPYRIGHT AND LICENSE
Copyright 2007 by Infinity Interactive, Inc.
This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself.