MooseX::Util - Moose::Util extensions
This document describes version 0.003 of MooseX::Util - released May 22, 2014 as part of MooseX-Util.
use MooseX::Util qw{ ensure_all_roles with_traits }; # profit!
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 re-implemented a number of the functions our parent provides, for a variety of reasons. Those functions are documented here.
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.
Please see those modules/websites for more information related to this module.
Moose::Util
The development version is on github at http://https://github.com/RsrchBoy/moosex-util and may be cloned from git://https://github.com/RsrchBoy/moosex-util.git
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.
Chris Weyl <cweyl@alumni.drew.edu>
Please note I do not expect to be gittip'ed or flattr'ed for this work, rather it is simply a very pleasant surprise. I largely create and release works like this because I need them or I find it enjoyable; however, don't let that stop you if you feel like it ;)
Flattr this, gittip me, or indulge my Amazon Wishlist... If you so desire.
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
To install MooseX::Util, copy and paste the appropriate command in to your terminal.
cpanm
cpanm MooseX::Util
CPAN shell
perl -MCPAN -e shell install MooseX::Util
For more information on module installation, please visit the detailed CPAN module installation guide.