use MooseX::Types
-declare => [qw/BalancerClassNamePart Weight DBICSchema DBICStorageDBI/];
use MooseX::Types::Moose qw/ClassName Str Num/;
+use MooseX::Types::LoadableClass qw/LoadableClass/;
class_type 'DBIx::Class::Storage::DBI';
class_type 'DBIx::Class::Schema';
subtype DBICStorageDBI, as 'DBIx::Class::Storage::DBI';
subtype BalancerClassNamePart,
- as ClassName;
+ as LoadableClass;
coerce BalancerClassNamePart,
from Str,
via {
my $type = $_;
- if($type=~m/^::/) {
- $type = 'DBIx::Class::Storage::DBI::Replicated::Balancer'.$type;
- }
- Class::MOP::load_class($type);
+ $type =~ s/\A::/DBIx::Class::Storage::DBI::Replicated::Balancer::/;
$type;
};