MooseX::AttributeTags(3pm)

MooseX::AttributeTags3pm

Tag your moose attributes

Usage

   package User;
   
   use Moose;
   use MooseX::Types::Moose 'Bool';
   use MooseX::AttributeTags (
      SerializationStyle => [
         hidden => Bool,
      ],
   );
   
   has username => (
      traits => [ SerializationStyle ],
      is     => 'ro',
      hidden => 0,
   );
   
   has password => (
      traits => [ SerializationStyle ],
      is     => 'rw',
      hidden => 1,
   );

Overview

MooseX::AttributeTags is a factory for attribute traits. All the work is done in the import method.

Methods

"import(@optlist)"

The option list is a list of trait names to create (which will be exported to the caller package as constants).

Each trait name may be optionally followed by an arrayref of attributes to be created within the trait. (In the SYNOPSIS, the "SerializationStyle" trait gets an attribute called "hidden".)

Each attribute may be optionally followed by one of:

•

A coderef which provides a default value for the attribute.

•

A type constraint object (such as those provided by Types::Standard or MooseX::Types; not a type constraint string) to validate the attribute.

•

An arrayref or hashref providing options similar to those given to Moose's "has" keyword.

Note that in the SYNOPSIS example, a constant "User::SerializationStyle" is defined.

   my $attr = User->meta->get_attribute('username');
   $attr->does(User::SerializationStyle);    # true
   $attr->hidden;                            # false

Disclaimer of warranties

THIS PACKAGE IS PROVIDED "AS IS" AND WITHOUT ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.

Releases

6 releases since Debian 8 (Jessie); the text changed 4 times.

  1. 8
  2. 9
  3. 10
  4. 11
  5. 12–13

Bugs

Please report any bugs to <http://rt.cpan.org/Dist/Display.html?Queue=MooseX-AttributeTags>.

Author

Toby Inkster <[email protected]>.

From libmoosex-attributetags-perl 0.005-1 in Debian 13 (Trixie). Parsed by carta from the page's man source.