new Client/Router/Service arch
[scpubgit/Tak.git] / lib / Tak / MetaService.pm
CommitLineData
857f4834 1package Tak::MetaService;
2
3use Moo;
4
31a246e4 5with 'Tak::Role::Service';
6
857f4834 7has router => (is => 'ro', required => 1, weak_ref => 1);
8
9sub 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
181;