Commit | Line | Data |
8b6c1f59 |
1 | #!/usr/bin/env perl |
2 | |
31a246e4 |
3 | use Tak::Client; |
4 | use Tak::Router; |
8b6c1f59 |
5 | use Tak::REPL; |
6 | use strictures 1; |
7 | |
2791fd73 |
8 | my $iclient = Tak::Client->new(service => Tak::Router->new); |
31a246e4 |
9 | |
2791fd73 |
10 | my $rclient; |
31a246e4 |
11 | |
2791fd73 |
12 | if (my $on = $ARGV[0]) { |
13 | $iclient->curry('meta')->do(register => connector => 'Tak::ConnectorService'); |
14 | my @path = $iclient->curry('connector')->do(create => $ARGV[0]); |
15 | $rclient = $iclient->curry('connector', 'connection', @path, 'remote'); |
16 | my $lclient = $iclient->curry('connector', 'connection', @path, 'local'); |
17 | $lclient->curry('meta')->do(register => module_sender => 'Tak::ModuleSender'); |
18 | $rclient->curry('meta')->do( |
19 | register => module_loader => 'Tak::ModuleLoader', |
20 | expose => { module_sender => [ 'remote', 'module_sender' ] } |
21 | ); |
22 | $rclient->curry('module_loader')->do('enable'); |
23 | } else { |
24 | $rclient = $iclient; |
25 | } |
26 | |
27 | $rclient->curry('meta')->do(register => eval => 'Tak::EvalService'); |
28 | |
29 | my $repl = Tak::REPL->new(client => $rclient->curry('eval')); |
31a246e4 |
30 | |
31 | $repl->run; |