new Client/Router/Service arch
[scpubgit/Tak.git] / lib / Tak / MetaService.pm
1 package Tak::MetaService;
2
3 use Moo;
4
5 with 'Tak::Role::Service';
6
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);
15   return "Registered ${name}";
16 }
17
18 1;