From: Dave Rolsky Date: Wed, 11 Feb 2009 19:33:58 +0000 (+0000) Subject: Revised meta recipe 1 X-Git-Tag: 0.69~20 X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=commitdiff_plain;h=ad0cb4db866db0156c37bb87d305d12ee5220f55;p=gitmo%2FMoose.git Revised meta recipe 1 --- diff --git a/lib/Moose/Cookbook/Meta/Recipe1.pod b/lib/Moose/Cookbook/Meta/Recipe1.pod index c93b467..853df78 100644 --- a/lib/Moose/Cookbook/Meta/Recipe1.pod +++ b/lib/Moose/Cookbook/Meta/Recipe1.pod @@ -7,26 +7,29 @@ Moose::Cookbook::Meta::Recipe1 - Welcome to the meta world (Why Go Meta?) =head1 SUMMARY -If you've ever found yourself thinking "Moose is great, but I wish it -did X differently", then you've gone meta. The meta recipes are all -about how to change and extend the way Moose does its thing, by -changing how the various meta classes (C, -C, etc) work. +You might want to read L if you haven't done so +yet. -The metaclass system is a set of classes that describe classes, roles, +If you've ever thought "Moose is great, but I wish it did X +differently", then you've gone meta. The meta recipes demonstrate how +to change and extend the way Moose works by extending and overriding +how the meta classes (L, +L, etc) work. + +The metaclass API is a set of classes that describe classes, roles, attributes, etc. The metaclass API lets you ask questions about a class, like "what attributes does it have?", or "what roles does the class do?" -The metaclass system also lets you actively make changes to a class, -for example by adding new methods. +The metaclass system also lets you make changes to a class, for +example by adding new methods or attributes. -The interface with which you normally use Moose (C, C, +The interface presented by L (C, C, C) is just a thin layer of syntactic sugar over the underlying metaclass system. -By extending and changing how this metaclass system works, you can in -effect create a modified object implementation for your classes. +By extending and changing how this metaclass system works, you can +create your own Moose variant. =head2 Examples @@ -45,9 +48,9 @@ object, letting you write C<< My::Class->meta()->table_name() >>. =head1 SEE ALSO Many of the MooseX modules on CPAN implement metaclass extensions. A -couple good examples include C and -C. For a more complex example see -C. +couple good examples include L and +L. For a more complex example see +L or L. =head1 AUTHOR