X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=lib%2FDBIx%2FClass%2FCDBICompat.pm;h=f3697c217b2556f264f916af0a9340759a359a0e;hb=09d2e66a5d5558ef9a19dc2ec510d5dafd2fb7d8;hp=52c0509e940640db09d58619a2f60fb80f13f06c;hpb=fbee5c55de34295824d987129c7d0b4bc65279a8;p=dbsrgits%2FDBIx-Class.git diff --git a/lib/DBIx/Class/CDBICompat.pm b/lib/DBIx/Class/CDBICompat.pm index 52c0509..f3697c2 100644 --- a/lib/DBIx/Class/CDBICompat.pm +++ b/lib/DBIx/Class/CDBICompat.pm @@ -2,14 +2,15 @@ package DBIx::Class::CDBICompat; use strict; use warnings; -use base qw/DBIx::Class::Core DBIx::Class::DB/; -use Carp::Clan qw/^DBIx::Class/; -eval { - require Class::Trigger; - require DBIx::ContextualFetch; -}; -croak "Class::Trigger and DBIx::ContextualFetch is required for CDBICompat" if $@; +BEGIN { + require DBIx::Class::Optional::Dependencies; + if (my $missing = DBIx::Class::Optional::Dependencies->req_missing_for('cdbicompat')) { + die "The following extra modules are required for DBIx::Class::CDBICompat: $missing\n"; + } +} + +use base qw/DBIx::Class::Core DBIx::Class::DB/; __PACKAGE__->load_own_components(qw/ Constraints @@ -37,9 +38,10 @@ __PACKAGE__->load_own_components(qw/ Iterator /); - #DBIx::Class::ObjIndexStubs 1; +__END__ + =head1 NAME DBIx::Class::CDBICompat - Class::DBI Compatibility layer. @@ -54,7 +56,7 @@ DBIx::Class::CDBICompat - Class::DBI Compatibility layer. =head1 DESCRIPTION DBIx::Class features a fully featured compatibility layer with L -and some common plugins to ease transition for existing CDBI users. +and some common plugins to ease transition for existing CDBI users. This is not a wrapper or subclass of DBIx::Class but rather a series of plugins. The result being that even though you're using the Class::DBI emulation layer you are still getting DBIx::Class objects. You can use all DBIx::Class features and methods via CDBICompat. This allows you to take advantage of DBIx::Class features without having to rewrite your CDBI code. @@ -82,8 +84,8 @@ This plugin will work, but it is more efficiently done using DBIC's native searc =head2 Choosing Features -In fact, this class is just a receipe containing all the features emulated. -If you like, you can choose which features to emulate by building your +In fact, this class is just a recipe containing all the features emulated. +If you like, you can choose which features to emulate by building your own class and loading it like this: package My::DB; @@ -136,17 +138,17 @@ The semi-documented Class::DBI::Relationship objects returned by Ctable("foo"); Foo->columns( All => qw(this that bar) ); package Bar; use base qw(Class::DBI); - + Bar->table("bar"); Bar->columns( All => qw(up down) ); @@ -157,13 +159,13 @@ Relationships between tables (has_a, has_many...) must be delcared after all tab =back -=head1 AUTHORS - -Matt S. Trout - -=head1 LICENSE +=head1 FURTHER QUESTIONS? -You may distribute this code under the same terms as Perl itself. +Check the list of L. -=cut +=head1 COPYRIGHT AND LICENSE +This module is free software L +by the L. You can +redistribute it and/or modify it under the same terms as the +L.