+package Moose::Cookbook;
-=pod
+# ABSTRACT: How to cook a Moose
+
+__END__
-=head1 NAME
-Moose::Cookbook - How to cook a Moose
+=pod
=head1 DESCRIPTION
=head2 Basic Moose
-These recipes will give you a good idea of what Moose is capable of,
-starting with simple attribute declaration, and moving on to more
-powerful features like laziness, types, type coercion, method
-modifiers, and more.
+These recipes will give you a good overview of Moose's capabilities, starting
+with simple attribute declaration, and moving on to more powerful features like
+laziness, types, type coercion, method modifiers, and more.
=over 4
Making a class immutable greatly increases the speed of accessors and
object construction.
-=item L<Moose::Cookbook::Basics::Recipe8> - Managing complex relations with trigger (TODO)
-
-I<abstract goes here>
-
-Work off of this http://code2.0beta.co.uk/moose/svn/Moose/trunk/t/200_examples/007_Child_Parent_attr_inherit.t
-
-=item L<Moose::Cookbook::Basics::Recipe9> - Builder methods and lazy_build
+=item L<Moose::Cookbook::Basics::Recipe8> - Builder methods and lazy_build
The builder feature provides an inheritable and role-composable way to
provide a default attribute value.
-=item L<Moose::Cookbook::Basics::Recipe10> - Operator overloading, subtypes, and coercion
+=item L<Moose::Cookbook::Basics::Recipe9> - Operator overloading, subtypes, and coercion
Demonstrates using operator overloading, coercion, and subtypes to
model how eye color is determined during reproduction.
-=item L<Moose::Cookbook::Basics::Recipe11> - Using BUILDARGS and BUILD to hook into object construction
+=item L<Moose::Cookbook::Basics::Recipe10> - Using BUILDARGS and BUILD to hook into object construction
This recipe demonstrates the use of C<BUILDARGS> and C<BUILD> to hook
into object construction.
+=item L<Moose::Cookbook::Basics::Recipe11> - Extending a non-Moose base class
+
+In this recipe, we make a Moose-based subclass of L<DateTime>, a
+module which does not use Moose itself.
+
=back
=head2 Moose Roles
If you're wondering what all this "meta" stuff is, and why you should
care about it, read this "recipe".
-=item L<Moose::Cookbook::Meta::Recipe2> - A meta-attribute, attributes with labels
-
-One way to extend Moose is to provide your own attribute
-metaclasses. Attribute metaclasses let you extend attribute
-declarations (with C<has>) and behavior to provide additional
-attribute functionality.
-
=item L<Moose::Cookbook::Meta::Recipe3> - Labels implemented via attribute traits
Extending Moose's attribute metaclass is a great way to add
Applying roles to the attribute metaclass lets you provide
composable attribute functionality.
-=item L<Moose::Cookbook::Meta::Recipe4> - Adding a "table" attribute to the metaclass
-
-If you want to store more information about your classes, you'll have
-to extend C<Moose::Meta::Class>. Doing so is simple, but you'll
-probably also want to provide some sugar, so see
-L<Moose::Cookbook::Extending::Recipe2> as well.
-
=item L<Moose::Cookbook::Meta::Recipe5> - The "table" attribute implemented as a metaclass trait
This recipe takes the class metaclass we saw in the previous recipe
class. The meta-instance determines the internal structure of object
instances and provide access to attribute slots.
-=item L<Moose::Cookbook::Meta::Recipe8> - Hooking into immutabilization (TODO)
+=item Moose::Cookbook::Meta::Recipe8 - Hooking into immutabilization (TODO)
Moose has a feature known as "immutabilization". By calling C<<
__PACKAGE__->meta()->make_immutable() >> after defining your class
=back
-=head1 AUTHOR
-
-Stevan Little E<lt>stevan@iinteractive.comE<gt>
-
-=head1 COPYRIGHT AND LICENSE
-
-Copyright 2006-2009 by Infinity Interactive, Inc.
-
-L<http://www.iinteractive.com>
-
-This library is free software; you can redistribute it and/or modify
-it under the same terms as Perl itself.
-
=cut