NAME
BLAH - Business Logic Adapter Helpers
VERSION
This document describes version 0.001 of BLAH - released August 26, 2015 as part of BLAH.
SYNOPSIS
# Create a BLAH!
package MyApp::BLAH::Frobnicator;
use BLAH;
sub execute { ... scary things ... }
DESCRIPTION
You have a codebase that would make a Whole Foods buyer cry with joy. It does things -- important things -- but perhaps in ways that don't lend itself to use elsewhere. And now, naturally, you need to use that business logic elsewhere.
Enter BLAH (Business Logic Adapter Helpers).
BLAH is intended to help create a thin layer to help normalize access to business logic in your codebase by providing a common place and structure to host whatever it is you need to do to invoke that bit of business logic elsewhere. It's designed to be as thin and flexible as possible, so at its core each BLAH only provide the necessary structure to normalize invoking your business logic, regardless of where it may reside.
Of course, providing the actual methods to invoke your logic is entirely your responsibility; we only seek to help keep things sane (in an insane world, most likely).
REQUIRED METHODS
execute
This is the core of your BLAH. It should implement your command -- whether embedded, a simple call/delegation to some other package, or hideously complex -- in its entirety.
execute()
should die on failure, and return otherwise.
name
The "name" of this BLAH. BLAH implementers are left to define this on their own, but it is anticipated that the name here will be something like the package name with a namespace prefix removed; e.g. if your BLAH namespace is "Organic::Produce::BLAH" and the BLAH package is "Organic::Produce::BLAH::Relabel::Pesticides", then the BLAH name would be -- surprise! -- "Relabel::Pesticides".
SUBCLASSING
If you wish to create a subclass of this class to use as the base for your BLAH, note that you should not make that subclass immutable unless it also implements the execute() method.
(See MooseX::AbstractMethod for details.)
SEE ALSO
Please see those modules/websites for more information related to this module.
BUGS
Please report any bugs or feature requests on the bugtracker website https://github.com/RsrchBoy/blah/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, Gratipay, or indulge my Amazon Wishlist... If and *only* if you so desire.
COPYRIGHT AND LICENSE
This software is Copyright (c) 2015 by Chris Weyl.
This is free software, licensed under:
The GNU Lesser General Public License, Version 2.1, February 1999