Use Class::Inspector->loaded() instead of ->can('can')
Matt S Trout [Fri, 19 May 2006 19:24:21 +0000 (19:24 +0000)]
Changes
lib/Catalyst/Base.pm
lib/Catalyst/Test.pm

diff --git a/Changes b/Changes
index 816d673..b786981 100644 (file)
--- a/Changes
+++ b/Changes
@@ -1,5 +1,6 @@
 This file documents the revision history for Perl extension Catalyst.
 
+        - Use Class::Inspector->loaded($class) instead of $class->can('can')
         - Added ActionClass attribute
         - Removed Test::WWW::Mechanize::Catalyst from Makefile.PL (circular dep)
         - Updated docs for Catalyst::Component
index 1ddbe8f..eb1adeb 100644 (file)
@@ -157,7 +157,7 @@ sub create_action {
                     ? $args{attributes}{ActionClass}[0]
                     : $self->_action_class);
 
-    unless ( $class->can("can") ) {
+    unless ( Class::Inspector->loaded($class) ) {
       $class->require;
       die "Couldn't load action class ${class}: $@" if $@;
     }
index 730e689..349e80a 100644 (file)
@@ -5,6 +5,7 @@ use warnings;
 
 use Catalyst::Exception;
 use Catalyst::Utils;
+use Class::Inspector;
 use UNIVERSAL::require;
 
 =head1 NAME
@@ -75,7 +76,7 @@ sub import {
     }
 
     else {
-        unless( $class->can("can") ) {
+        unless( Class::Inspector->loaded( $class ) ) {
             $class->require;
             die $@ if $@;
         }