X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=lib%2FDBIx%2FClass%2FStorage%2FDBI%2FReplicated%2FTypes.pm;h=7a1ba3edbc5d03f0aa7d6ec304d9c8c1400759b0;hb=456441eafda1051fe176351308ccb5570c87d348;hp=2595516af6a283c99df9383b697b10fd81e1a4b2;hpb=9901aad73ff9dc45b426534fe406c102fb9fb77c;p=dbsrgits%2FDBIx-Class.git diff --git a/lib/DBIx/Class/Storage/DBI/Replicated/Types.pm b/lib/DBIx/Class/Storage/DBI/Replicated/Types.pm index 2595516..7a1ba3e 100644 --- a/lib/DBIx/Class/Storage/DBI/Replicated/Types.pm +++ b/lib/DBIx/Class/Storage/DBI/Replicated/Types.pm @@ -1,23 +1,41 @@ -package DBIx::Class::Storage::DBI::Replicated::Types; +package # hide from PAUSE + DBIx::Class::Storage::DBI::Replicated::Types; + +# DBIx::Class::Storage::DBI::Replicated::Types - Types used internally by +# L use MooseX::Types - -declare => [qw/BalancerClassNamePart/]; -use MooseX::Types::Moose qw/ClassName Str/; + -declare => [qw/BalancerClassNamePart Weight/]; +use MooseX::Types::Moose qw/ClassName Str Num/; class_type 'DBIx::Class::Storage::DBI'; +class_type 'DBIx::Class::Schema'; subtype BalancerClassNamePart, as ClassName; - + coerce BalancerClassNamePart, from Str, via { my $type = $_; if($type=~m/^::/) { $type = 'DBIx::Class::Storage::DBI::Replicated::Balancer'.$type; - } - Class::MOP::load_class($type); - $type; + } + Class::MOP::load_class($type); + $type; }; +subtype Weight, + as Num, + where { $_ >= 0 }, + message { 'weight must be a decimal greater than 0' }; + +# AUTHOR +# +# John Napiorkowski +# +# LICENSE +# +# You may distribute this code under the same terms as Perl itself. + 1;