refactored fatpacking and added LocalSudo connector
[scpubgit/Object-Remote.git] / lib / Object / Remote / Connector / SSH.pm
1 package Object::Remote::Connector::SSH;
2
3 use Object::Remote::ModuleSender;
4 use Object::Remote::Handle;
5 use Moo;
6
7 with 'Object::Remote::Role::Connector::PerlInterpreter';
8
9 around _perl_command => sub {
10   my ($orig, $self, $target) = @_;
11   return 'ssh', $target, $self->$orig($target);
12 };
13
14 sub _ssh_object_for {
15   my ($self, $on) = @_;
16   $self->ssh_masters->{$on} ||= Net::OpenSSH->new($on);
17 }
18
19 push @Object::Remote::Connection::Guess, sub { 
20   for ($_[0]) {
21     # 0-9 a-z _ - first char, those or . subsequent - hostnamish
22     if (defined and !ref and /^(?:.*?\@)?[\w\-][\w\-\.]/) {
23       return __PACKAGE__->new->connect($_[0]);
24     }
25   }
26   return;
27 };
28
29 1;