Add a confess to intialize_body in the Moose::Meta::Method::Constructor, to catch...
[gitmo/Moose.git] / lib / Moose / Cookbook.pod
index d986a7f..d170acd 100644 (file)
@@ -17,23 +17,114 @@ for common questions and problems people have with Moose.
 
 =head1 RECIPES
 
+=head2 Basic Moose
+
 =over 4
 
 =item L<Moose::Cookbook::Recipe1> - The (always classic) B<Point> example
 
+A simple Moose-based class. Demonstrated Moose attributes and subclassing.
+
 =item L<Moose::Cookbook::Recipe2> - A simple B<BankAccount> example
 
+A slightly more complex Moose class. Demonstrates using a method
+modifier in a subclass.
+
 =item L<Moose::Cookbook::Recipe3> - A lazy B<BinaryTree> example
 
+Demonstrates several attribute features, including types, weak
+references, predicates ("does this object have a foo?"), defaults, and
+lazy attribute construction.
+
 =item L<Moose::Cookbook::Recipe4> - Subtypes, and modeling a simple B<Company> class hierarchy
 
+Introduces the creation and use of custom types, a C<BUILD> method,
+and the use of C<override> in a subclass.
+
 =item L<Moose::Cookbook::Recipe5> - More subtypes, coercion in a B<Request> class
 
-=item L<Moose::Cookbook::Recipe6> - The Moose::Role example
+More type examples, including the use of type coercions.
+
+=item L<Moose::Cookbook::Recipe6> - The augment/inner example
+
+Demonstrates the use of C<augment> method modifiers, a way of turning
+the usual method overriding style "inside-out".
+
+=item L<Moose::Cookbook::Recipe7> - Making Moose fast with immutable
+
+Making a class immutable greatly increases the speed of accessors and
+object construction.
+
+=item L<Moose::Cookbook::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::Recipe9> - Builder methods and lazy_build
+
+The builder feature provides an inheritable and role-composable way to
+provide a default attribute value.
+
+=back
+
+=head2 Moose Roles
+
+=over 4
+
+=item L<Moose::Cookbook::Recipe10> - The Moose::Role example
+
+Demonstrates roles, which are also sometimes known as traits or
+mix-ins. Roles provide a method of code re-use which is orthogonal to
+subclassing.
+
+=item L<Moose::Cookbook::Recipe11> - Advanced Role Composition - method exclusion and aliasing
 
-=item L<Moose::Cookbook::Recipe7> - The augment/inner example
+Sometimes you just want to include part of a role in your
+class. Sometimes you want the whole role but one if its methods
+conflicts with one in your class. With method exclusion and aliasing,
+you can work around these problems.
+
+=item L<Moose::Cookbook::Recipe12> - Runtime Role Composition (TODO)
+
+I<abstract goes here>
+
+=back
+
+=head2 Meta Moose
+
+=over 4
+
+=item L<Moose::Cookbook::Recipe20> - Welcome to the meta-world (TODO)
+
+I<abstract goes here>
+
+=item L<Moose::Cookbook::Recipe21> - The meta-attribute example
+
+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::Recipe22> - The meta-attribute trait example (TODO)
+
+I<abstract goes here>
+
+=item L<Moose::Cookbook::Recipe23> - The meta-instance example (TODO)
+
+I<abstract goes here>
+
+=item L<Moose::Cookbook::Recipe24> - The meta-class example (TODO)
+
+I<abstract goes here>
+
+=back
+
+=head1 SNACKS
+
+=over 4
 
-=item L<Moose::Cookbook::Recipe11> - The meta-attribute example
+=item L<Moose::Cookbook::Snack::Types>
 
 =back
 
@@ -41,7 +132,7 @@ for common questions and problems people have with Moose.
 
 =over 4
 
-=item L<http://www.gsph.com/gsph/index.php?ID=291&Lang=En>
+=item L<http://www.gsph.com/index.php?Lang=En&ID=291>
 
 =back
 
@@ -51,11 +142,11 @@ Stevan Little E<lt>stevan@iinteractive.comE<gt>
 
 =head1 COPYRIGHT AND LICENSE
 
-Copyright 2006, 2007 by Infinity Interactive, Inc.
+Copyright 2006-2008 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
\ No newline at end of file
+=cut