Hide remove_keywords a bit, rename it to _remove_keywords. Warn about it maybe being...
Shawn M Moore [Tue, 5 Aug 2008 03:50:26 +0000 (03:50 +0000)]
Changes
lib/Moose.pm
lib/Moose/Cookbook/Extending/Recipe2.pod

diff --git a/Changes b/Changes
index d28929a..fcc31c0 100644 (file)
--- a/Changes
+++ b/Changes
@@ -3,7 +3,7 @@ Revision history for Perl extension Moose
 0.56
     * Moose
     * Moose::Cookbook::Extending::Recipe2
-      - Add a remove_keywords function so if you extend Moose
+      - Add a _remove_keywords function so if you extend Moose
         you don't have to cargo cult Moose's unimport (Sartak)
 
     * Moose
index 21ef374..a421c74 100644 (file)
@@ -195,7 +195,7 @@ use Moose::Util ();
     sub unimport {
         my $class = _get_caller(@_);
 
-        remove_keywords(
+        _remove_keywords(
             source   => __PACKAGE__,
             package  => $class,
             keywords => [ keys %exports ],
@@ -204,7 +204,7 @@ use Moose::Util ();
 
 }
 
-sub remove_keywords {
+sub _remove_keywords {
     my ( %args ) = @_;
 
     my $source  = $args{source};
@@ -835,19 +835,6 @@ and optionally a baseclass and a metaclass as arguments.
 
 For more detail on this topic, see L<Moose::Cookbook::Extending::Recipe2>.
 
-=head2 B<remove_keywords>
-
-The remove_keywords method is called by Moose's C<unimport> to remove Moose's
-keywords from a package when C<no Moose> is used. If you extend Moose with
-new keywords, you should provide an C<unimport> that calls C<remove_keywords>
-to remove your sugar.
-
-C<remove_keywords> takes named parameters C<source> (to make sure that we
-don't remove keywords defined by somebody else), C<package> (from which we're
-removing keywords), and C<keywords> (an array reference of keyword names).
-
-For more detail on this topic, see L<Moose::Cookbook::Extending::Recipe2>.
-
 =head1 CAVEATS
 
 =over 4
index e0ad543..eeec31e 100644 (file)
@@ -37,7 +37,7 @@ Moose::Cookbook::Extending::Recipe2 - Acting like Moose.pm and providing sugar M
   sub unimport {
       my $caller = caller();
 
-      Moose::remove_keywords(
+      Moose::_remove_keywords(
           source   => __PACKAGE__,
           package  => $caller,
           keywords => \@EXPORT,
@@ -123,11 +123,12 @@ This is all a bit fragile since it doesn't stack terribly well. You
 can basically only have one Moose-alike module. This may be fixed in
 the still-notional C<MooseX::Exporter> module someday.
 
-The C<unimport()> subroutine calls the C<remove_keywords> function
+The C<unimport()> subroutine calls the C<_remove_keywords> function
 from Moose.  This function removes only the keywords exported by
-this module. More precisely, C<remove_keywords> removes from the
+this module. More precisely, C<_remove_keywords> removes from the
 C<package> package the keywords given by the C<keywords> argument
-that were created in the C<source> package.
+that were created in the C<source> package. This functionality may
+be deprecated if L<Sub::Exporter> begins providing it.
 
 Finally, we have our C<has_table()> subroutine. This provides a bit of
 sugar that looks a lot like C<has()>.