new remote code
[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_pid {
10   return $$;
11 }
12
13 sub handle_register {
14   my ($self, $name, $class, @args) = @_;
15   (my $file = $class) =~ s/::/\//g;
16   require "${file}.pm";
17   my $new = $class->new(@args);
18   $self->router->register($name => $new);
19   return "Registered ${name}";
20 }
21
22 1;