summaryrefslogtreecommitdiff
path: root/lib/Net/Riak/Role/Hosts.pm
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--lib/Net/Riak/Role/Hosts.pm22
1 files changed, 2 insertions, 20 deletions
diff --git a/lib/Net/Riak/Role/Hosts.pm b/lib/Net/Riak/Role/Hosts.pm
index 34d9273..639d472 100644
--- a/lib/Net/Riak/Role/Hosts.pm
+++ b/lib/Net/Riak/Role/Hosts.pm
@@ -1,29 +1,11 @@
package Net::Riak::Role::Hosts;
use Moose::Role;
-use Moose::Util::TypeConstraints;
-
-subtype 'RiakHost' => as 'ArrayRef[HashRef]';
-
-coerce 'RiakHost' => from 'Str' => via {
- [{node => $_, weight => 1}];
-};
-coerce 'RiakHost' => from 'ArrayRef' => via {
- my $backends = $_;
- my $weight = 1 / @$backends;
- [map { {node => $_, weight => $weight} } @$backends];
-};
-coerce 'RiakHost' => from 'HashRef' => via {
- my $backends = $_;
- my $total = 0;
- $total += $_ for values %$backends;
- [map { {node => $_, weight => $backends->{$_} / $total} }
- keys %$backends];
-};
+use Net::Riak::Types qw(RiakHost);
has host => (
is => 'rw',
- isa => 'RiakHost',
+ isa => RiakHost,
coerce => 1,
default => 'http://127.0.0.1:8098',
);