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]>.
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.
Releases
10 releases since Debian 4.0 (Etch); the text changed 7 times.