Make ResultSetManager notice externally defined :ResultSet methods
Dagfinn Ilmari Mannsåker [Sun, 13 Apr 2008 00:48:53 +0000 (00:48 +0000)]
by calling $class->table($class->table) after loading the external
class definition.

Changes
lib/DBIx/Class/Schema/Loader/Base.pm
t/lib/dbixcsl_common_tests.pm

diff --git a/Changes b/Changes
index 4e41beb..b2a62ce 100644 (file)
--- a/Changes
+++ b/Changes
@@ -6,6 +6,7 @@ Not yet released
         - Allow specifying a custom loader_class, overriding the
           storage_type-based detection
         - Cosmetic fixes to dumping of externally defined classes
+        - Make ResultSetManager notice externally defined :ResultSet methods
 
 0.04999_04 Wed Mar 12, 2008
         - Add is_auto_increment detecton for DB2
index 7662d66..5b547e4 100644 (file)
@@ -298,6 +298,10 @@ sub _load_external {
     warn qq/# Loaded external class definition for '$class'\n/
         if $self->debug;
 
+    # Make sure ResultSetManager picks up any :ResultSet methods from
+    # the external definition
+    $class->table($class->table);
+
     # The rest is only relevant when dumping
     return if !$self->dump_directory;
 
index f38f693..93b675b 100644 (file)
@@ -171,11 +171,7 @@ sub run_tests {
         can_ok( $class1, 'test_additional_base_additional' ) or $skip_taba = 1;
         can_ok( $class1, 'dbix_class_testcomponent' ) or $skip_tcomp = 1;
         can_ok( $class1, 'loader_test1_classmeth' ) or $skip_cmeth = 1;
-
-        TODO: {
-            local $TODO = "Not yet supported by ResultSetManger code";
-            can_ok( $rsobj1, 'loader_test1_rsmeth' ) or $skip_rsmeth = 1;
-        }
+        can_ok( $rsobj1, 'loader_test1_rsmeth' ) or $skip_rsmeth = 1;
 
         SKIP: {
             skip "Pre-requisite test failed", 1 if $skip_tab;