MooseX::AttributeShortcuts::Trait::Attribute3pm
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.
Overview
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.
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
Releases
4 releases since Debian 10 (Buster); the text changed 1 time.