X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=lib%2FDBIx%2FClass%2FCDBICompat.pm;h=f3697c217b2556f264f916af0a9340759a359a0e;hb=1c1795560d485d8c454e84b0a50f29957d113d66;hp=f2bb881b53653d245b095c74fcff2bea0ad160e9;hpb=a2bd379666d729133d65c85dc775627937084b18;p=dbsrgits%2FDBIx-Class.git diff --git a/lib/DBIx/Class/CDBICompat.pm b/lib/DBIx/Class/CDBICompat.pm index f2bb881..f3697c2 100644 --- a/lib/DBIx/Class/CDBICompat.pm +++ b/lib/DBIx/Class/CDBICompat.pm @@ -2,22 +2,15 @@ package DBIx::Class::CDBICompat; use strict; use warnings; -use base qw/DBIx::Class::Core DBIx::Class::DB/; - -# 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}; +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"; + } } -__PACKAGE__->throw_exception("@{[ join ', ', @didnt_load ]} are missing and are required for CDBICompat") - if @didnt_load; +use base qw/DBIx::Class::Core DBIx::Class::DB/; __PACKAGE__->load_own_components(qw/ Constraints