fix up ::Cookbook::Snack::Keywords
Jesse Luehrs [Fri, 6 May 2011 22:10:04 +0000 (17:10 -0500)]
lib/Moose/Cookbook/Snack/Keywords.pod

index 031a143..329ff32 100644 (file)
@@ -15,9 +15,16 @@ reference.
 
 =head2 The 'meta' keyword
 
-While most collisions can be avoided, you cannot avoid importing a
-C<meta> method when you C<S<use Moose>>. If you try to override or
-change what C<meta> does, you could end up breaking Moose internals.
+C<S<use Moose>> adds a method called C<meta> to your class. If this
+conflicts with a method or function you are using, you can rename it,
+or prevent it from being installed entirely. To do this, pass the
+C<-meta_name> option when you C<S<use Moose>>. For instance:
+
+  # install it under a different name
+  use Moose -meta_name => 'moose_meta';
+
+  # don't install it at all
+  use Moose -meta_name => undef;
 
 =head2 Moose Keywords
 
@@ -69,6 +76,8 @@ these keywords
 
 =item maybe_type
 
+=item duck_type
+
 =item as
 
 =item where
@@ -77,6 +86,8 @@ these keywords
 
 =item optimize_as
 
+=item inline_as
+
 =item coerce
 
 =item from
@@ -130,9 +141,15 @@ For instance, with L<Sub::Exporter> you can rename keywords, like so:
 
 See the L<Sub::Exporter> docs for more information.
 
-=head3 namespace::clean
+=head3 namespace::autoclean and namespace::clean
+
+You can also use L<namespace::autoclean> to clean up your namespace.
+This will remove all imported functions from your namespace. Note
+that if you are importing functions that are intended to be used as
+methods (this includes L<overload>, due to internal implementation
+details), it will remove these as well.
 
-You can also use L<namespace::clean> to clean up your namespace, but
+Another option is to use L<namespace::clean> directly, but
 you must be careful not to remove C<meta> when doing so:
 
   package Foo;
@@ -152,6 +169,8 @@ you must be careful not to remove C<meta> when doing so:
 
 =item L<Sub::Exporter>
 
+=item L<namespace::autoclean>
+
 =item L<namespace::clean>
 
 =back