Sha256: 984a710f4f587560f4c5d381300948cd24c55210e8b2831fe68bf6db558aee0a
Contents?: true
Size: 968 Bytes
Versions: 1
Compression:
Stored size: 968 Bytes
Contents
# frozen_string_literal: true module Mina module Backend class Remote attr_reader :commands include Configuration::DSL def initialize(commands) @commands = commands end def prepare if fetch(:simulate) [ '#!/usr/bin/env bash', "# Executing the following via '#{ssh}':", '#', commands, ' ' ].join("\n") else command = Shellwords.escape(commands) [ssh, '--', command].join(' ') end end def ssh ensure!(:domain) args = fetch(:domain) args = "#{fetch(:user)}@#{fetch(:domain)}" if set?(:user) args += " -i #{fetch(:identity_file)}" if set?(:identity_file) args += " -p #{fetch(:port)}" if set?(:port) args += ' -A' if set?(:forward_agent) args += " #{fetch(:ssh_options)}" if set?(:ssh_options) args += ' -tt' "ssh #{args}" end end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
mina-1.2.5 | lib/mina/backend/remote.rb |