X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=lib%2FDBIx%2FClass%2FCDBICompat.pm;h=ec063a90409bbdf0599b944c77f475fbd3bae694;hb=088476d4e792951b2e11229d168636dff027e84d;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..ec063a9 100644 --- a/lib/DBIx/Class/CDBICompat.pm +++ b/lib/DBIx/Class/CDBICompat.pm @@ -5,11 +5,20 @@ 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 $@; +# Modules CDBICompat needs that DBIx::Class does not. +my @Extra_Modules = qw( + Class::Trigger + DBIx::ContextualFetch + Clone +); + +my @didnt_load; +for my $module (@Extra_Modules) { + push @didnt_load, $module unless eval qq{require $module}; +} +croak("@{[ join ', ', @didnt_load ]} are missing and are required for CDBICompat") + if @didnt_load; + __PACKAGE__->load_own_components(qw/ Constraints