Reindeer::Builder - Easily build a new 'Reindeer' style class
This document describes version 0.018 of Reindeer::Builder - released March 28, 2015 as part of Reindeer.
package My::Reindeer; use Reindeer::Builder also => { exclude => [ ... ], # packages from also add => [ ... ], }; package My::Class; use My::Reindeer; # profit! has foo => (...);
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.
If the package you're using Reindeer::Builder in ends with '::Role', we set up role metaclass and sugar.
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.
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' };
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.
use Reindeer::Builder also => { add => 'MooseX::SomethingElse' };
Please see those modules/websites for more information related to this module.
Reindeer
, .
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
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.
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) 2011 by Chris Weyl.
This is free software, licensed under:
The GNU Lesser General Public License, Version 2.1, February 1999
1 POD Error
The following errors were encountered while parsing the POD:
Nested L<> are illegal. Pretending inner one is X<...> so can continue looking for other errors.
To install Reindeer, copy and paste the appropriate command in to your terminal.
cpanm
cpanm Reindeer
CPAN shell
perl -MCPAN -e shell install Reindeer
For more information on module installation, please visit the detailed CPAN module installation guide.