David E. Wheeler > Class-Meta > Class::Meta::Types::Perl

Download:
Class-Meta-0.66.tar.gz

Dependencies

Annotate this POD

Website

View/Report Bugs
Module Version: 0.66   Source  

NAME ^

Class::Meta::Types::Perl - Perl data types

SYNOPSIS ^

  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;
  }

DESCRIPTION ^

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. Feel free to fork and contribute!

Please file bug reports via GitHub Issues or by sending mail to bug-Class-Meta@rt.cpan.org.

AUTHOR ^

David E. Wheeler <david@justatheory.com>

SEE ALSO ^

Other classes of interest within the Class::Meta distribution include:

Class::Meta

This class contains most of the documentation you need to get started with Class::Meta.

Class::Meta::Type

This class manages the creation of data types.

Class::Meta::Attribute

This class manages Class::Meta class attributes, all of which are based on data types.

Other data type modules:

Class::Meta::Types::String
Class::Meta::Types::Boolean
Class::Meta::Types::Numeric

COPYRIGHT AND LICENSE ^

Copyright (c) 2002-2011, David E. Wheeler. Some Rights Reserved.

This module is free software; you can redistribute it and/or modify it under the same terms as Perl itself.

syntax highlighting: