File Coverage

blib/lib/DBIx/DBHResolver/Strategy/RoundRobin.pm
Criterion Covered Total %
statement 16 19 84.2
branch n/a
condition n/a
subroutine 5 6 83.3
pod 2 2 100.0
total 23 27 85.1


line stmt bran cond sub pod time code
1             package DBIx::DBHResolver::Strategy::RoundRobin;
2              
3 2     2   564 use strict;
  2         4  
  2         58  
4 2     2   8 use warnings;
  2         3  
  2         49  
5 2     2   9 use parent qw(DBIx::DBHResolver::Strategy);
  2         3  
  2         10  
6 2     2   112 use Carp;
  2         36  
  2         389  
7              
8             our $VERSION = '0.01';
9              
10             sub connect_info {
11 0     0 1 0 my ( $class, $resolver, $node_or_cluster, $args ) = @_;
12 0         0 my ($resolved_node, @keys) = $class->resolve( $resolver, $node_or_cluster, $args );
13 0         0 return $resolver->connect_info( $resolved_node, \@keys );
14             }
15              
16             sub resolve {
17 50     50 1 107 my ( $class, $resolver, $node_or_cluster, $args ) = @_;
18              
19 50         219 my @nodes = $resolver->clusters($node_or_cluster);
20 50         165 my $resolved_node = $nodes[ int(rand(scalar(@nodes))) ];
21              
22 50         185 return ($resolved_node );
23             }
24              
25             1;
26              
27             __END__