The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.
package TestApp::BaseController::Adaptor;
use strict;
use warnings;
use base 'Catalyst::Controller';

sub model { shift->{model} }

sub is_a :Path(isa) {
    my ($self, $c) = @_;
    $c->res->body(ref $c->model($self->model));
}

sub id :Local {
    my ($self, $c) = @_;
    $c->res->body($c->model($self->model)->id);
}

sub id_twice :Local {
    my ($self, $c) = @_;
    $c->res->body(join '|', map { $c->model($self->model)->id } 1..2);
}

sub count :Local {
    my ($self, $c) = @_;
    $c->res->body($c->model($self->model)->count);
}

sub count_twice :Local {
    my ($self, $c) = @_;
    $c->res->body(join '|', map { $c->model($self->model)->count } 1..2);
}

sub foo :Local {
    my ($self, $c) = @_;
    $c->res->body($c->model($self->model)->foo);
}

1;