working module sending
[scpubgit/Object-Remote.git] / lib / Object / Remote / Connector / SSH.pm
CommitLineData
47c83a13 1package Object::Remote::Connector::SSH;
2
3use Object::Remote::FatNode;
4use Net::OpenSSH;
5use Moo;
6
7with 'Object::Remote::Role::Connector';
8
9has ssh_masters => (is => 'ro', default => sub { {} });
10
11sub _open2_for {
12 my $self = shift;
13 my @res = $self->_ssh_object_for(@_)->open2('perl','-',@_);
14 print { $res[0] } $Object::Remote::FatNode::DATA, "__END__\n";
15 return @res;
16}
17
18sub _ssh_object_for {
19 my ($self, $on) = @_;
20 $self->ssh_masters->{$on} ||= Net::OpenSSH->new($on);
21}
22
231;