ignore MYMETA.yml
[gitmo/Moose.git] / lib / Moose / Meta / Mixin / AttributeCore.pm
CommitLineData
f785aad8 1package Moose::Meta::Mixin::AttributeCore;
2
3use strict;
4use warnings;
5
f785aad8 6use base 'Class::MOP::Mixin::AttributeCore';
7
8__PACKAGE__->meta->add_attribute( 'isa' => ( reader => '_isa_metadata' ) );
9__PACKAGE__->meta->add_attribute( 'does' => ( reader => '_does_metadata' ) );
10__PACKAGE__->meta->add_attribute( 'is' => ( reader => '_is_metadata' ) );
11
12__PACKAGE__->meta->add_attribute( 'required' => ( reader => 'is_required' ) );
13__PACKAGE__->meta->add_attribute( 'lazy' => ( reader => 'is_lazy' ) );
14__PACKAGE__->meta->add_attribute(
15 'lazy_build' => ( reader => 'is_lazy_build' ) );
16__PACKAGE__->meta->add_attribute( 'coerce' => ( reader => 'should_coerce' ) );
17__PACKAGE__->meta->add_attribute( 'weak_ref' => ( reader => 'is_weak_ref' ) );
18__PACKAGE__->meta->add_attribute(
19 'auto_deref' => ( reader => 'should_auto_deref' ) );
20__PACKAGE__->meta->add_attribute(
21 'type_constraint' => (
22 reader => 'type_constraint',
23 predicate => 'has_type_constraint',
24 )
25);
26__PACKAGE__->meta->add_attribute(
27 'trigger' => (
28 reader => 'trigger',
29 predicate => 'has_trigger',
30 )
31);
32__PACKAGE__->meta->add_attribute(
33 'handles' => (
34 reader => 'handles',
35 writer => '_set_handles',
36 predicate => 'has_handles',
37 )
38);
39__PACKAGE__->meta->add_attribute(
40 'documentation' => (
41 reader => 'documentation',
42 predicate => 'has_documentation',
43 )
44);
45
461;
47
ad46f524 48# ABSTRACT: Core attributes shared by attribute metaclasses
49
f785aad8 50__END__
51
52=pod
53
f785aad8 54=head1 DESCRIPTION
55
56This class implements the core attributes (aka properties) shared by all Moose
57attributes. See the L<Moose::Meta::Attribute> documentation for API details.
58
c5fc2c21 59=head1 BUGS
60
61See L<Moose/BUGS> for details on reporting bugs.
62
f785aad8 63=cut