NAME

Reindeer::Builder - Easily build a new 'Reindeer' style class

VERSION

This document describes version 0.018 of Reindeer::Builder - released March 28, 2015 as part of Reindeer.

SYNOPSIS

    package My::Reindeer;
    use Reindeer::Builder
        also => {
            exclude => [ ... ], # packages from also
            add     => [ ... ],
        };

    package My::Class;
    use My::Reindeer;

    # profit!
    has foo => (...);

DESCRIPTION

Sometimes you need more than what Reindeer provides... And sometime less. Or there's a conflict with a default extension (e.g. a Catalyst controller with a config that will end up with unrecognized arguments passed to the constructor will blow up if MooseX::StrictConstructor is used).

Reindeer::Builder provides a simple interface to add additional extensions -- or filter the list of default extensions. It's intended to be used in a package of its own that can then be used in the same way Moose or Reindeer is in a package, to set up the metaclass and sugar.

ROLE OR CLASS?

If the package you're using Reindeer::Builder in ends with '::Role', we set up role metaclass and sugar.

ARGUMENTS

We take a set of name / hashref pairs. Right now we only support 'also' for names.

It is legal and supported to add and exclude at the same time.

also / exclude

If given, we expect exclude to be an arrayref of package names to be excluded from the list of extensions. (e.g. this filters what is passed to Moose::Exporter's 'also' argument.

e.g.

    use Reindeer::Builder also => { exclude => 'MooseX::Something' };

also / add

If given, we expect add to be an arrayref of package names to be added to the list of extensions. (e.g. this augments what is passed to Moose::Exporter's 'also' argument.

e.g.

    use Reindeer::Builder also => { add => 'MooseX::SomethingElse' };

SEE ALSO

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

SOURCE

The development version is on github at http://https://github.com/RsrchBoy/reindeer and may be cloned from git://https://github.com/RsrchBoy/reindeer.git

BUGS

Please report any bugs or feature requests on the bugtracker website https://github.com/RsrchBoy/reindeer/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 this, gittip me, or indulge my Amazon Wishlist... If you so desire.

COPYRIGHT AND LICENSE

This software is Copyright (c) 2011 by Chris Weyl.

This is free software, licensed under:

  The GNU Lesser General Public License, Version 2.1, February 1999