-=pod
+package Moose::Cookbook::Snack::Keywords;
+
+# ABSTRACT: Restricted "keywords" in Moose
-=head1 NAME
+__END__
-Moose::Cookbook::Snack::Keywords - Restricted "keywords" in Moose
+=pod
=head1 DESCRIPTION
=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
=item maybe_type
+=item duck_type
+
=item as
=item where
=item optimize_as
+=item inline_as
+
=item coerce
=item from
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;
=item L<Sub::Exporter>
+=item L<namespace::autoclean>
+
=item L<namespace::clean>
=back
-=head1 AUTHOR
-
-John Goulah C<E<lt>jgoulah@cpan.org<gt>>
-
-Stevan Little E<lt>stevan@iinteractive.comE<gt>
-
-=head1 COPYRIGHT AND LICENSE
-
-Copyright 2006-2010 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