Scroll to navigation

MooseX::AttributeShortcuts::Trait::Attribute(3pm) User Contributed Perl Documentation MooseX::AttributeShortcuts::Trait::Attribute(3pm)

NAME

MooseX::AttributeShortcuts::Trait::Attribute - Shortcuts attribute trait proper

VERSION

This document describes version 0.037 of MooseX::AttributeShortcuts::Trait::Attribute - released November 20, 2017 as part of MooseX-AttributeShortcuts.

DESCRIPTION

This is the actual attribute trait that implements MooseX::AttributeShortcuts. You should consult that package's documentation for information on any of the new attribute options; we're mainly going to document the additional attributes, methods, and role parameters that this role provides.

All methods we include that chain off Moose's "_process_options()" are prefixed with "_mxas_" and generally are not documented in the POD; we document any internal methods of Moose::Meta::Attribute that we wrap or otherwise override we document here as well.

ROLE PARAMETERS

Parameterized roles accept parameters that influence their construction. This role accepts the following parameters.

writer_prefix

builder_prefix

ATTRIBUTES

constraint

CodeRef, read-only.

original_isa

trigger_method

Contains the name of the method that will be invoked as a trigger.

BEFORE METHOD MODIFIERS

_process_options

Here we wrap _process_options() instead of the newer _process_is_option(), as that makes our life easier from a Moose 1.x/2.x compatibility perspective -- and that we're generally altering more than just the 'is' option at one time.

AROUND METHOD MODIFIERS

_make_delegation_method

Here we create and install any custom accessors that have been defined.

AFTER METHOD MODIFIERS

attach_to_class

We hijack attach_to_class in order to install our anon_builder, if we have one. Note that we don't go the normal associate_method/install_accessor/etc route as this is kinda... different. (That is, the builder is not an accessor of this attribute, and should not be installed as such.)

METHODS

has_constraint

Predicate for the "constraint" attribute.

has_original_isa

Predicate for the "original_isa" attribute.

has_trigger_method

Predicate for the "trigger_method" attribute.

builder_method_metaclass()

Returns the metaclass we'll use to install a inline builder.

canonical_writer_prefix

Returns the writer prefix; this is almost always "set_".

canonical_builder_prefix

Returns the builder prefix; this is almost always "_build_".

PREFIXES

We accept two parameters on the use of this module; they impact how builders and writers are named.

-writer_prefix

    use MooseX::::AttributeShortcuts -writer_prefix => 'prefix';

The default writer prefix is "_set_". If you'd prefer it to be something else (say, "_"), this is where you'd do that.

-builder_prefix

    use MooseX::AttributeShortcuts -builder_prefix => 'prefix';

The default builder prefix is "_build_", as this is what "lazy_build" in Moose does, and what people in general recognize as build methods.

SEE ALSO

Please see those modules/websites for more information related to this module.
MooseX::AttributeShortcuts

BUGS

Please report any bugs or feature requests on the bugtracker website <https://github.com/RsrchBoy/moosex-attributeshortcuts/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) 2017, 2015, 2014, 2013, 2012, 2011 by Chris Weyl.

This is free software, licensed under:

  The GNU Lesser General Public License, Version 2.1, February 1999
2018-01-03 perl v5.26.1