Commit | Line | Data |
---|---|---|
4ed4fb42 | 1 | package Web::Simple::DispatchNode; |
2 | ||
3 | use Moo; | |
4 | ||
5 | extends 'Web::Dispatch::Node'; | |
6 | ||
7 | has _app_object => (is => 'ro', init_arg => 'app_object', required => 1); | |
8 | ||
9 | around _curry => sub { | |
10 | my ($orig, $self) = (shift, shift); | |
11 | my $app = $self->_app_object; | |
12 | my $class = ref($app); | |
13 | my $inner = $self->$orig($app, @_); | |
14 | sub { | |
15 | no strict 'refs'; | |
16 | local *{"${class}::self"} = \$app; | |
17 | $inner->(@_); | |
18 | } | |
19 | }; | |
20 | ||
21 | 1; |