Shoved Class::Data::Inheritable into DBIx::Class, more stuff works now
[dbsrgits/DBIx-Class.git] / lib / DBIx / Class / DB.pm
index b4f8beb..03c0985 100644 (file)
@@ -1,7 +1,8 @@
 package DBIx::Class::DB;
 
-use base qw/Class::Data::Inheritable/;
+use base qw/DBIx::Class/;
 use DBIx::Class::Storage::DBI;
+use DBIx::Class::ClassResolver::PassThrough;
 use DBI;
 
 =head1 NAME 
@@ -20,7 +21,9 @@ DBIx::Class::DB - Simple DBIx::Class Database connection by class inheritance
   package MyDB::MyTable;
 
   use base qw/MyDB/;
-  __PACKAGE__->load_components('Table');
+  __PACKAGE__->load_components('Core');
+
+  ...
 
 =head1 DESCRIPTION
 
@@ -30,9 +33,22 @@ This class provides a simple way of specifying a database connection.
 
 =over 4
 
+
+=item storage
+
+Which storage backend to be used. Defaults to L<DBIx::Class::Storage::DBI>
+
+=item class_resolver
+
+Which class to use for resolving a class. Defaults to 
+L<DBIx::Class::ClassResolver::Passthrough>, which returns whatever you throw
+at it. See resolve_class below.
+
 =cut
 
 __PACKAGE__->mk_classdata('storage');
+__PACKAGE__->mk_classdata('class_resolver' =>
+                            'DBIx::Class::ClassResolver::PassThrough');
 
 =item connection
 
@@ -70,7 +86,7 @@ Issues a rollback again the current dbh
 
 sub dbi_rollback { $_[0]->storage->rollback; }
 
-sub _get_dbh { shift->storage->dbh; }
+sub resolve_class { return shift->class_resolver->class(@_); }
 
 1;
 
@@ -78,7 +94,7 @@ sub _get_dbh { shift->storage->dbh; }
 
 =head1 AUTHORS
 
-Matt S. Trout <perl-stuff@trout.me.uk>
+Matt S. Trout <mst@shadowcatsystems.co.uk>
 
 =head1 LICENSE