X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=lib%2FMoose%2FCookbook.pod;h=275cfc3ad7a5bd20b6a1a8100acc49085d3cf49e;hb=2140a2269275f57dec2b84771b50197950c64f60;hp=16a8933905639429b8335e77053d846657538f5f;hpb=de53c4dae6de2b06e5cdd060f4d627ec27a55d0e;p=gitmo%2FMoose.git diff --git a/lib/Moose/Cookbook.pod b/lib/Moose/Cookbook.pod index 16a8933..275cfc3 100644 --- a/lib/Moose/Cookbook.pod +++ b/lib/Moose/Cookbook.pod @@ -1,9 +1,11 @@ +package Moose::Cookbook; -=pod +# ABSTRACT: How to cook a Moose + +__END__ -=head1 NAME -Moose::Cookbook - How to cook a Moose +=pod =head1 DESCRIPTION @@ -18,16 +20,15 @@ explains Moose concepts without being too code-heavy. =head2 Basic Moose -These recipes will give you a good idea of what Moose is capable, -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 =item L - The (always classic) B example -A simple Moose-based class. Demonstrated Moose attributes and subclassing. +A simple Moose-based class. Demonstrates Moose attributes and subclassing. =item L - A simple B example @@ -59,27 +60,26 @@ the usual method overriding style "inside-out". Making a class immutable greatly increases the speed of accessors and object construction. -=item L - Managing complex relations with trigger (TODO) - -I - -Work off of this http://code2.0beta.co.uk/moose/svn/Moose/trunk/t/200_examples/007_Child_Parent_attr_inherit.t - -=item L - Builder methods and lazy_build +=item L - Builder methods and lazy_build The builder feature provides an inheritable and role-composable way to provide a default attribute value. -=item L - Operator overloading, subtypes, and coercion +=item L - Operator overloading, subtypes, and coercion Demonstrates using operator overloading, coercion, and subtypes to model how eye color is determined during reproduction. -=item L - Using BUILDARGS and BUILD to hook into object construction +=item L - Using BUILDARGS and BUILD to hook into object construction This recipe demonstrates the use of C and C to hook into object construction. +=item L - Extending a non-Moose base class + +In this recipe, we make a Moose-based subclass of L, a +module which does not use Moose itself. + =back =head2 Moose Roles @@ -97,7 +97,7 @@ subclassing. =item L - Advanced Role Composition - method exclusion and aliasing Sometimes you just want to include part of a role in your -class. Sometimes you want the whole role but one if its methods +class. Sometimes you want the whole role but one of its methods conflicts with one in your class. With method exclusion and aliasing, you can work around these problems. @@ -110,7 +110,7 @@ In this recipe, we apply a role to an existing object instance. =head2 Meta Moose These recipes show you how to write your own meta classes, which lets -you extend the object system provide by Moose. +you extend the object system provided by Moose. =over 4 @@ -142,10 +142,21 @@ L as well. =item L - The "table" attribute implemented as a metaclass trait -This example takes the class metaclass we saw in the previous recipe +This recipe takes the class metaclass we saw in the previous recipe and reimplements it as a metaclass trait. -=item L - Hooking into the immutabilization system (TODO) +=item L - A method metaclass for marking methods public or private + +This recipe shows a custom method metaclass that implements making a +method private. + +=item L - Using a blessed array reference as an object instance + +This recipe shows an example of how you create your own meta-instance +class. The meta-instance determines the internal structure of object +instances and provide access to attribute slots. + +=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 @@ -160,12 +171,6 @@ meta-instance class as well. This recipe shows you how to write extensions which immutabilize properly. -=item L - Using a blessed array reference as an object instance - -This recipe shows an example of how you create your own meta-instance -class. The meta-instance determines the internal structure of object -instances and provide access to attribute slots. - =back =head2 Extending Moose @@ -177,9 +182,9 @@ if you plan to write your own C module. =item L - Moose extension overview -There are quite a number of ways to extend Moose. This recipe explains -provides an overview of each method, and provides recommendations for -when each is appropriate. +There are quite a few ways to extend Moose. This recipe provides an +overview of each method, and provides recommendations for when each is +appropriate. =item L - Providing a base object class role @@ -222,17 +227,4 @@ object class. =back -=head1 AUTHOR - -Stevan Little Estevan@iinteractive.comE - -=head1 COPYRIGHT AND LICENSE - -Copyright 2006-2009 by Infinity Interactive, Inc. - -L - -This library is free software; you can redistribute it and/or modify -it under the same terms as Perl itself. - =cut