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
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);
"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 {
=head1 AUTHOR
-Rafael Kitover, C<rkitover at cpan.org>
+See L<Catalyst::Model::DBIC::Schema/AUTHOR> and
+L<Catalyst::Model::DBIC::Schema/CONTRIBUTORS>.
=head1 COPYRIGHT
+See L<Catalyst::Model::DBIC::Schema/COPYRIGHT>.
+
+=head1 LICENSE
+
This program is free software, you can redistribute it and/or modify it
under the same terms as Perl itself.