Commit | Line | Data |
---|---|---|
857f4834 | 1 | package Tak::MetaService; |
2 | ||
3 | use Moo; | |
4 | ||
31a246e4 | 5 | with 'Tak::Role::Service'; |
6 | ||
857f4834 | 7 | has router => (is => 'ro', required => 1, weak_ref => 1); |
8 | ||
9 | sub handle_register { | |
10 | my ($self, $name, $class, @args) = @_; | |
11 | (my $file = $class) =~ s/::/\//g; | |
12 | require "${file}.pm"; | |
13 | my $new = $class->new(@args); | |
14 | $self->router->register($name => $new); | |
31a246e4 | 15 | return "Registered ${name}"; |
857f4834 | 16 | } |
17 | ||
18 | 1; |