Provided by: libclass-meta-perl_0.66-2_all bug

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 <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 bug-Class-Meta@rt.cpan.org <mailto: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.