Remove dep on CMM by just delay-loading
Shawn M Moore [Sun, 28 Sep 2008 04:02:57 +0000 (04:02 +0000)]
Makefile.PL
lib/Mouse/Meta/Class.pm

index 705437e..13cf932 100755 (executable)
@@ -3,8 +3,6 @@ use inc::Module::Install;
 name     'Mouse';
 all_from 'lib/Mouse.pm';
 
-requires 'Class::Method::Modifiers' => '1.01';
-
 build_requires 'Test::More';
 build_requires 'Test::Exception';
 
index 73264d1..661aad0 100644 (file)
@@ -6,8 +6,6 @@ use warnings;
 use Mouse::Util qw/get_linear_isa blessed/;
 use Carp 'confess';
 
-use Class::Method::Modifiers ();
-
 do {
     my %METACLASS_CACHE;
 
@@ -132,6 +130,7 @@ sub attribute_metaclass { "Mouse::Meta::Class" }
 
 sub add_before_method_modifier {
     my ($self, $name, $code) = @_;
+    require Class::Method::Modifiers;
     Class::Method::Modifiers::_install_modifier(
         $self->name,
         'before',
@@ -142,6 +141,7 @@ sub add_before_method_modifier {
 
 sub add_around_method_modifier {
     my ($self, $name, $code) = @_;
+    require Class::Method::Modifiers;
     Class::Method::Modifiers::_install_modifier(
         $self->name,
         'around',
@@ -152,6 +152,7 @@ sub add_around_method_modifier {
 
 sub add_after_method_modifier {
     my ($self, $name, $code) = @_;
+    require Class::Method::Modifiers;
     Class::Method::Modifiers::_install_modifier(
         $self->name,
         'after',