X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=lib%2FDBIx%2FClass.pm;h=7f72e29493f65ddd6297bd248837931c6700ae1a;hb=1f6715abcab925d1a45acfb51e7e9fffbad00c84;hp=47906ff5ae6c5cb2e729e850d413aaa643b2a3a1;hpb=55e2d745a1887534cbcbfe351278d0883dce8ac5;p=dbsrgits%2FDBIx-Class-Historic.git diff --git a/lib/DBIx/Class.pm b/lib/DBIx/Class.pm index 47906ff..7f72e29 100644 --- a/lib/DBIx/Class.pm +++ b/lib/DBIx/Class.pm @@ -4,37 +4,16 @@ use strict; use warnings; use vars qw($VERSION); -use base; - -$VERSION = '0.01'; - -sub load_components { - my $class = shift; - my @comp = map { "DBIx::Class::$_" } grep { $_ !~ /^#/ } @_; - $class->_load_components(@comp); -} - -sub load_own_components { - my $class = shift; - my @comp = map { "${class}::$_" } grep { $_ !~ /^#/ } @_; - $class->_load_components(@comp); -} - -sub _load_components { - my ($class, @comp) = @_; - foreach my $comp (@comp) { - eval "use $comp"; - die $@ if $@; - } - no strict 'refs'; - unshift(@{"${class}::ISA"}, @comp); -} +use base qw/DBIx::Class::Componentised/; + +$VERSION = '0.03001'; + 1; =head1 NAME -DBIx::Class - Because the brain is a terrible thing to waste. +DBIx::Class - Extensible and flexible object <-> relational mapper. =head1 SYNOPSIS @@ -45,38 +24,67 @@ and meant to support compability with it, while restructuring the insides, and making it possible to support some new features like self-joins, distinct, group bys and more. +It's currently considered EXPERIMENTAL - bring this near a production +database at your own risk! The API is *not* fixed yet, although most of +the primitives should be good for the future and any API changes will be +posted to the mailing list before they're committed. + +The community can be found via - + + Mailing list: http://lists.rawmode.org/mailman/listinfo/dbix-class/ + + SVN: http://dev.catalyst.perl.org/repos/bast/trunk/DBIx-Class/ + + Wiki: http://dbix-class.shadowcatsystems.co.uk/ + + IRC: irc.perl.org#dbix-class + =head1 QUICKSTART If you're using Class::DBI, replacing -use base qw/Class::DBI/; + use base qw/Class::DBI/; with -use base qw/DBIx::Class/; -__PACKAGE__->load_components(qw/CDBICompat Core DB/); + use base qw/DBIx::Class/; + __PACKAGE__->load_components(qw/CDBICompat Core DB/); will probably get you started. If you're using AUTO_INCREMENT for your primary columns, you'll also want yo load the approriate PK::Auto subclass - e.g. -__PACKAGE__->load_components(qw/CDBICompat PK::Auto::SQLite Core DB/); + __PACKAGE__->load_components(qw/CDBICompat PK::Auto::SQLite Core DB/); (with is what ::Test::SQLite does to present the Class::DBI::Test::SQLite interface) If you fancy playing around with DBIx::Class from scratch, then read the docs -for ::Table and ::Relationship, +for DBIx::Class::Table, ::Row, ::Schema, ::DB and ::Relationship, -use base qw/DBIx::Class/; -__PACKAGE__->load_components(qw/Core DB/); + use base qw/DBIx::Class/; + __PACKAGE__->load_components(qw/Core DB/); and have a look at t/lib/DBICTest.pm for a brief example. -=head1 AUTHORS +=head1 AUTHOR + +Matt S. Trout + +=head1 CONTRIBUTORS + +Andy Grundman + +Brian Cassidy + +Dan Kubb + +Dan Sully + +davekam -Matt S. Trout +Marcus Ramberg =head1 LICENSE