sub build_per_context_instance {
my ($self, $c, @args) = @_;
- my $newself = $self->new($self->_application, {%$self, context => $c, @args});
+ my $class = ref($self) || $self;
+ my $newself = $class->new($self->_application, {%$self, context => $c, @args});
return $newself;
}
$vp_attr = $vp_attr->[0];
}
if (ref($vp_attr) eq 'HASH') {
- if (my $conf_class = delete $vp_attr->{class}) {
- $class = $conf_class;
- }
+ $class = $vp_attr->{class} if defined $vp_attr->{class};
%args = %{ $self->merge_config_hashes($vp_attr, {@proto_args}) };
} else {
$class = $vp_attr;