Sha256: f248ea36412c437e7b874874b94f2a8ce5625184c54d67ca74a7202d66dfe7e6

Contents?: true

Size: 775 Bytes

Versions: 4

Compression:

Stored size: 775 Bytes

Contents

module Phase
  module SSH
    class Backend < ::SSHKit::Backend::Netssh
      include ::SSHKit::CommandHelper

      def initialize(*args)
        # BUG: Backend::Netssh doesn't assign @pool when subclassed.
        self.class.pool = ::SSHKit::Backend::ConnectionPool.new
        super
      end

      def on_remote_host(remote_host, &block)
        @remote_host = remote_host
        yield
      end

      private

        def command(*args)
          options = args.extract_options!
          SSH::Command.new(*[ *args, options.merge({
            in: @pwd.nil? ? nil : File.join(@pwd),
            env: @env,
            host: @host,
            user: @user,
            group: @group,
            remote_host: @remote_host
          }) ])
        end
    end
  end
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
phase-0.0.5 lib/phase/ssh/backend.rb
phase-0.0.4 lib/phase/ssh/backend.rb
phase-0.0.2 lib/phase/ssh/backend.rb
phase-0.0.1 lib/phase/ssh/backend.rb