coerce 'NetAddr::IP'
=> from 'Str'
=> via { NetAddr::IP->new($_, '255.255.255.255') };
for my $field (qw( server peer monitor netlog )) {
my $object = "${field}_object";
has $object => (
init_arg => $field,
is => 'ro',
isa => 'NetAddr::IP',
coerce => 1,
required => 1,
handles => {
$field => sub { $_[0]->$object->addr },
},
);
}
####
$o->server
##
##
$o->server_object->addr
##
##
C->new(server => ...)
##
##
C->new(server_object => ...)