Change _cond_for_update_delete to handle more complicated queries through recursing...
[dbsrgits/DBIx-Class.git] / lib / DBIx / Class / AccessorGroup.pm
index 9ef0a51..56bcf1b 100644 (file)
@@ -5,7 +5,7 @@ use warnings;
 
 use Carp::Clan qw/^DBIx::Class/;
 
-=head1 NAME 
+=head1 NAME
 
 DBIx::Class::AccessorGroup -  Lets you build groups of accessors
 
@@ -290,7 +290,7 @@ sub get_component_class {
       return $self->{$get};
   } else {
       $get = "_$get";
-      return $self->can($get) ? $self->$get : undef;      
+      return $self->can($get) ? $self->$get : undef;
   }
 }
 
@@ -313,14 +313,19 @@ if called or an object or classdata called _$name if called on a class.
 sub set_component_class {
   my ($self, $set, $val) = @_;
   eval "require $val";
+  if ($@) {
+      my $val_path = $val;
+      $val_path =~ s{::}{/}g;
+      carp $@ unless $@ =~ /^Can't locate $val_path\.pm/;
+  }
   if (ref $self) {
       return $self->{$set} = $val;
   } else {
       $set = "_$set";
       return $self->can($set) ?
-       $self->$set($val) :
-       $self->mk_classdata($set => $val);      
-  }  
+        $self->$set($val) :
+        $self->mk_classdata($set => $val);
+  }
 }
 
 1;