X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=lib%2FDBIx%2FClass%2FStorage%2FDBI%2FReplicated%2FTypes.pm;h=4e75aa2d566de168c94aeb20018054998298287a;hb=6a151f5877412d2824295071428c52eb4bf646ec;hp=c363a4bb2ad2f1e519f65e1d5a6274b87ee85b50;hpb=dcdf7b2cd485cc015ddbfd816f6735be075c3386;p=dbsrgits%2FDBIx-Class-Historic.git diff --git a/lib/DBIx/Class/Storage/DBI/Replicated/Types.pm b/lib/DBIx/Class/Storage/DBI/Replicated/Types.pm index c363a4b..4e75aa2 100644 --- a/lib/DBIx/Class/Storage/DBI/Replicated/Types.pm +++ b/lib/DBIx/Class/Storage/DBI/Replicated/Types.pm @@ -1,42 +1,44 @@ package # hide from PAUSE DBIx::Class::Storage::DBI::Replicated::Types; -=head1 NAME - -DBIx::Class::Storage::DBI::Replicated::Types - Types used internally by -L - -=cut +# 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 DBICSchema DBICStorageDBI/]; +use MooseX::Types::Moose qw/ClassName Str Num/; class_type 'DBIx::Class::Storage::DBI'; class_type 'DBIx::Class::Schema'; +subtype DBICSchema, as 'DBIx::Class::Schema'; +subtype DBICStorageDBI, as 'DBIx::Class::Storage::DBI'; + 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; }; -=head1 AUTHOR - - John Napiorkowski - -=head1 LICENSE - -You may distribute this code under the same terms as Perl itself. - -=cut +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;