NAME

MooseX::TraitFor::Meta::Class::BetterAnonClassNames - Metaclass trait to *attempt* to demystify generated anonymous class names

VERSION

This document describes version 0.002003 of MooseX::TraitFor::Meta::Class::BetterAnonClassNames - released March 23, 2017 as part of MooseX-TraitFor-Meta-Class-BetterAnonClassNames.

ATTRIBUTES

is_anon

Read-only, Boolean, default: false.

Provides an attribute in the place of "is_anon" in Class::MOP::Package.

anon_package_prefix

Read-only, String

METHODS

_build_anon_package_prefix

Builder method for the "anon_package_prefix" attribute.

_anon_package_middle

Defines what the "middle" of our anonymous package names is; provided for ease of overriding and hardcoded to:

::__ANON__::SERIAL::

_anon_package_prefix

Returns the full prefix used to generate anonymous package names; if called on an instance then returns a sensible prefix (generally class name) stashed in "anon_package_prefix"; otherwise returns the result of a call to "_anon_package_prefix" in Moose::Meta::Class.

create

Set the package name to a nicer anonymous class name if is_anon is passed and true and anon_package_prefix is passed and a non-empty string.

create_anon_class

Create an anonymous class, as via "create_anon_class" in Moose::Meta::Class, but with a kinder, gentler package name -- if possible.

SUMMARY

You really want to be looking at "with_traits" in MooseX::Util.

TRAIT ALIASES

BetterAnonClassNames

Resolves out to the full name of this trait.

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/moosex-traitfor-meta-class-betteranonclassnames/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>

COPYRIGHT AND LICENSE

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

This is free software, licensed under:

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