X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=lib%2FCatalyst%2FTraitFor%2FModel%2FDBIC%2FSchema%2FReplicated.pm;h=a978d1deaea9eab69b8daeaaf94d2822a0b1134f;hb=45b101914d8e7130178e9f9748deda25992b6317;hp=5b38909747b76bd5dd6d5c89d487dd77c89e81db;hpb=4e251d1a0b63c080957709a10a6ec6a5b6a94769;p=catagits%2FCatalyst-Model-DBIC-Schema.git diff --git a/lib/Catalyst/TraitFor/Model/DBIC/Schema/Replicated.pm b/lib/Catalyst/TraitFor/Model/DBIC/Schema/Replicated.pm index 5b38909..a978d1d 100644 --- a/lib/Catalyst/TraitFor/Model/DBIC/Schema/Replicated.pm +++ b/lib/Catalyst/TraitFor/Model/DBIC/Schema/Replicated.pm @@ -4,9 +4,11 @@ use namespace::autoclean; use Moose::Role; use Carp::Clan '^Catalyst::Model::DBIC::Schema'; -use Catalyst::Model::DBIC::Schema::Types qw/ConnectInfos LoadedClass/; +use Catalyst::Model::DBIC::Schema::Types qw/ConnectInfos LoadableClass/; use MooseX::Types::Moose qw/Str HashRef/; +use Module::Runtime qw/use_module/; + =head1 NAME Catalyst::TraitFor::Model::DBIC::Schema::Replicated - Replicated storage support for @@ -74,7 +76,7 @@ has replicants => ( is => 'ro', isa => ConnectInfos, coerce => 1, required => 1 ); -has pool_type => (is => 'ro', isa => LoadedClass); +has pool_type => (is => 'ro', isa => LoadableClass); has pool_args => (is => 'ro', isa => HashRef); has balancer_type => (is => 'ro', isa => Str); has balancer_args => (is => 'ro', isa => HashRef); @@ -88,6 +90,8 @@ after setup => sub { "DBIx::Class::Storage$storage_type" : $storage_type; + use_module($class); + croak "This storage_type cannot be used with replication" unless $class->isa('DBIx::Class::Storage::DBI::Replicated'); } else {