Issue a deprecation warning for alias or excludes (sans leading dash)
Dave Rolsky [Sat, 21 Aug 2010 16:17:44 +0000 (11:17 -0500)]
Changes
lib/Moose/Deprecated.pm
lib/Moose/Meta/Role/Application.pm
t/030_roles/019_build.t
t/100_bugs/029_instance_application_role_args.t
t/lib/Role/Child.pm

diff --git a/Changes b/Changes
index 469977f..7c9a99b 100644 (file)
--- a/Changes
+++ b/Changes
@@ -3,6 +3,12 @@ for, noteworthy changes.
 
 NEXT
 
+  [API CHANGES]
+
+  * The long-deprecated alias and excludes options for role applications now
+    issue a deprecation warning. Use -alias and -excludes instead. (Dave
+    Rolsky)
+
   [BUG FIXES]
 
   * Inlined code no longer stringifies numeric attribute defaults. (vg, doy)
index 369641f..9908df3 100644 (file)
@@ -10,6 +10,7 @@ our $AUTHORITY = 'cpan:STEVAN';
 use Package::DeprecationManager -deprecations => {
     'coerce without coercion' => '1.08',
     'pre-0.94 MetaRole API'   => '0.94',
+    'alias or excludes'       => '0.89',
     'Role type'               => '0.84',
     'subtype without sugar'   => '0.72',
     'type without sugar'      => '0.72',
index c4aa79c..98a346f 100644 (file)
@@ -23,6 +23,14 @@ __PACKAGE__->meta->add_attribute('method_aliases' => (
 sub new {
     my ($class, %params) = @_;
 
+    if ( exists $params{excludes} || exists $params{alias} ) {
+            Moose::Deprecated::deprecated(
+                feature => 'alias or excludes',
+                message =>
+                    "The alias and excludes options for role application have been renamed -alias and -excludes"
+            );
+    }
+
     if ( exists $params{excludes} && !exists $params{'-excludes'} ) {
         $params{'-excludes'} = delete $params{excludes};
     }
index 1dfc912..0efd76d 100644 (file)
@@ -39,7 +39,7 @@ do {
     use Moose;
 
     ::stderr_is {
-        with 'TestRole' => { excludes => 'BUILD' };
+        with 'TestRole' => { -excludes => 'BUILD' };
     } '';
 
     sub BUILD { push @CALLS, 'ExplicitClassWithBUILD::BUILD' }
index 9c29a0e..9a3e238 100644 (file)
@@ -44,7 +44,7 @@ use Test::Exception;
 
 my $p = Point->new( x => 4, y => 3 );
 
-DoesTranspose->meta->apply( $p, alias => { transpose => 'negated' } );
+DoesTranspose->meta->apply( $p, -alias => { transpose => 'negated' } );
 
 is_deeply($p->negated->inspect, [3, 4]);
 is_deeply($p->transpose->inspect, [3, 4]);
index bf5aa25..4c70436 100644 (file)
@@ -1,7 +1,7 @@
 package Role::Child;
 use Moose::Role;
 
-with 'Role::Parent' => { alias => { meth1 => 'aliased_meth1', } };
+with 'Role::Parent' => { -alias => { meth1 => 'aliased_meth1', } };
 
 sub meth1 { }