NAME

    MooseX::Util - Moose::Util extensions

VERSION

    This document describes version 0.005 of MooseX::Util - released May
    15, 2015 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 re-implemented 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.

 is_private

        # true if "private"
        ... if is_private('_some_name');

    Ofttimes we need to determine if a name is considered "private" or not.
    By convention, method, attribute, and other names are considered
    private if their first character is an underscore.

    While trivial to test for, this allows us to centralize the tests in
    one place.

SEE ALSO

    Please see those modules/websites for more information related to this
    module.

      * Moose::Util

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>

 I'm a material boy in a material world

    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
    <https://flattr.com/submit/auto?user_id=RsrchBoy&url=https%3A%2F%2Fgithub.com%2FRsrchBoy%2Fmoosex-util&title=RsrchBoy's%20CPAN%20MooseX-Util&tags=%22RsrchBoy's%20MooseX-Util%20in%20the%20CPAN%22>,
    Gratipay <https://gratipay.com/RsrchBoy/>, or indulge my Amazon
    Wishlist <http://bit.ly/rsrchboys-wishlist>... If and *only* if you so
    desire.

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

