The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

NAME

gum - Convenient Shoehorn for Bubblegum

VERSION

version 0.45

SYNOPSIS

    use gum;

DESCRIPTION

This module is a shoehorn for Bubblegum. It merely serves as convenient means of loading and configuring Bubblegum. Note: This is an early release available for testing and feedback and as such is subject to change.

    use gum;

or

    use gum -types, -isas;

is equivalent to

    use Bubblegum;
    use Bubblegum::Constraints -types, -isas;

bubblegum class usage

    use gum -class;

or

    use gum -class, -types, -isas;

is equivalent to

    use Bubblegum::Class;
    use Bubblegum::Constraints -types, -isas;

bubblegum prototype usage

    use gum -proto;

or

    use gum -proto, -types, -isas;

is equivalent to

    use Bubblegum::Prototype;
    use Bubblegum::Constraints -types, -isas;

bubblegum role usage

    use gum -role;

or

    use gum -role, -types, -isas;

is equivalent to

    use Bubblegum::Role;
    use Bubblegum::Constraints -types, -isas;

bubblegum singleton usage

    use gum -singleton;

or

    use gum -singleton, -types, -isas;

is equivalent to

    use Bubblegum::Singleton;
    use Bubblegum::Constraints -types, -isas;

all of which is automatically enables

    use 5.10.0;
    use strict;
    use warnings;
    use autobox;
    use autodie ':all';
    use feature ':5.10';
    use English -no_match_vars;
    use utf8::all;
    use mro 'c3';

with the exception that Bubblegum implements it's own autoboxing architecture. The Bubblegum autobox classes are the foundation for this development framework. The decision to re-implement many core and autobox functions was based on the desire to build-in data validation and design a system using roles for a higher level of abstraction. Bubblegum will also default to including Moo as an object system. For example:

    use Bubblegum::Class;                   # Bubblegum w/ Moo
    use Bubblegum::Prototype;               # Bubblegum w/ Moo (Prototype)
    use Bubblegum::Role;                    # Bubblegum w/ Moo (Role)
    use Bubblegum::Singleton;               # Bubblegum w/ Moo (Singleton)

Please review the Bubblegum documentation for more information and usage patterns.

AUTHOR

Al Newkirk <anewkirk@ana.io>

COPYRIGHT AND LICENSE

This software is copyright (c) 2013 by Al Newkirk.

This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.