NAME
MooseX::Util - Moose::Util extensions
VERSION
This document describes version 0.002 of MooseX::Util - released March
03, 2014 as part of MooseX-Util.
SYNOPSIS
use MooseX::Util qw{ ensure_all_roles with_traits };
# profit!
DESCRIPTION
This is a utility module that handles all of the same functions that
Moose::Util handles. In fact, most of the functions exported by this
package are simply re-exports from Moose::Util, so you're recommended to
read the documentation of that module for a comprehensive view.
However.
We've reimplemented a number of the functions our parent provides, for a
variety of reasons. Those functions are documented here.
FUNCTIONS
with_traits(<classname> => (<trait1>, ... )
Given a class and one or more traits, we construct an anonymous class
that is a subclass of the given class and consumes the traits given.
This is exactly the same as "with_traits" in Moose::Util, except that we
use "create_anon_class" in MooseX::Util::Meta::Class to construct the
anonymous class, rather than "create_anon_class" in Moose::Meta::Class
directly.
Essentially, this means that when we do:
my $anon_class_name = with_traits('Zombie::Catcher', 'SomeTrait');
For $anon_class_name we get:
Zombie::Catcher::__ANON__::SERIAL::1
Rather than:
Moose::Meta::Class::__ANON__::SERIAL::1
This is nice because we have an idea of where the first anonymous class
came from, whereas the second one could could be from anywhere.
SEE ALSO
Please see those modules/websites for more information related to this
module.
* Moose::Util
SOURCE
The development version is on github at
<http://github.com/RsrchBoy/moosex-util> and may be cloned from
<git://github.com/RsrchBoy/moosex-util.git>
BUGS
Please report any bugs or feature requests on the bugtracker website
https://github.com/RsrchBoy/moosex-util/issues
When submitting a bug or request, please include a test-file or a patch
to an existing test-file that illustrates the bug or desired feature.
AUTHOR
Chris Weyl <cweyl@alumni.drew.edu>
COPYRIGHT AND LICENSE
This software is Copyright (c) 2012 by Chris Weyl.
This is free software, licensed under:
The GNU Lesser General Public License, Version 2.1, February 1999