Class::Meta::Types::Perl(3pm)

Class::Meta::Types::Perl3pm

Perl data types

Usage

  package MyApp::Thingy;
  use strict;
  use Class::Meta;
  use Class::Meta::Types::Perl;
  # OR...
  # use Class::Meta::Types::Perl 'affordance';
  # OR...
  # use Class::Meta::Types::Perl 'semi-affordance';
  BEGIN {
      # Create a Class::Meta object for this class.
      my $cm = Class::Meta->new( key => 'thingy' );
      # Add an integer attribute.
      $cm->add_attribute( name => 'my_hash',
                          type => 'hash' );
      $cm->build;
  }

Overview

This module provides Perl data types for use with Class::Meta attributes. Simply load it, then pass the name of one of its types to the "add_attribute()" method of a Class::Meta object. See Class::Meta::Type for more information on using and creating data types.

The validation checks for Class::Meta::Types::Perl are provided by the Class::Meta::Type's support for object type validation, since Perl data types are understood by "UNIVERSAL::isa()".

The data types created by Class::Meta::Types::Perl are:

scalar

A simple scalar value. This can be anything, and has no validation checks.

scalarref

A scalar reference. "UNIVERSAL::isa()" must return 'SCALAR'.

array
arrayref

A array reference. "UNIVERSAL::isa()" must return 'ARRAY'.

hash
hashref

A hash reference. "UNIVERSAL::isa()" must return 'HASH'.

code
coderef
closure

A code reference. Also known as a closure. "UNIVERSAL::isa()" must return 'CODE'.

Support

This module is stored in an open GitHub repository <http://github.com/theory/class-meta/>. Feel free to fork and contribute!

Please file bug reports via GitHub Issues <http://github.com/theory/class-meta/issues/> or by sending mail to [email protected] <mailto:[email protected]>.

Releases

10 releases since Debian 4.0 (Etch); the text changed 7 times.

  1. 4.0
  2. 5.0
  3. 6.0
  4. 7
  5. 8
  6. 9–10
  7. 11
  8. 12–13

Author

David E. Wheeler <[email protected]>

From libclass-meta-perl 0.66-3 in Debian 13 (Trixie). Parsed by carta from the page's man source.