NAME

Clownfish::Parcel - Collection of code.

DESCRIPTION

A Parcel is a cohesive collection of code, which could, in theory, be published as as a single entity.

Clownfish supports two-tier manual namespacing, using a prefix, an optional class nickname, and the local symbol:

prefix_ClassNick_local_symbol

Clownfish::Parcel supports the first tier, specifying initial prefixes. These prefixes come in three capitalization variants: prefix_, Prefix_, and PREFIX_.

CLASS METHODS

singleton

Clownfish::Parcel->singleton(
    name  => 'Crustacean',
    cnick => 'Crust',
);

Add a Parcel singleton to a global registry. May be called multiple times, but only with compatible arguments.

  • name - The name of the parcel.

  • cnick - The C nickname for the parcel, which will be used as a prefix for generated global symbols. Must be mixed case and start with a capital letter. Defaults to name.

default_parcel

$parcel ||= Clownfish::Parcel->default_parcel;

Return the singleton for default parcel, which has no prefix.

OBJECT METHODS

get_prefix get_Prefix get_PREFIX

Return one of the three capitalization variants for the parcel's prefix.

acquire

$parcel = Clownfish::Parcel->aquire($parcel_name_or_parcel_object);

Aquire a parcel one way or another. If the supplied argument is a Parcel, return it. If it's not defined, return the default Parcel. If it's a name, invoke singleton().

get_name get_cnick

Accessors.