class RemoteRuby::SSHStdinAdapter

An adapter to execute Ruby code on the remote server via SSH

Attributes

key_file[R]
server[R]
user[R]
working_dir[R]

Public Class Methods

new(server:, working_dir: '~', user: nil, key_file: nil) click to toggle source
# File lib/remote_ruby/connection_adapter/ssh_stdin_adapter.rb, line 6
def initialize(server:, working_dir: '~', user: nil, key_file: nil)
  @working_dir = working_dir
  @server = user.nil? ? server : "#{user}@#{server}"
  @user = user
  @key_file = key_file
end

Public Instance Methods

connection_name() click to toggle source
# File lib/remote_ruby/connection_adapter/ssh_stdin_adapter.rb, line 13
def connection_name
  "#{server}:#{working_dir}"
end

Private Instance Methods

command() click to toggle source
# File lib/remote_ruby/connection_adapter/ssh_stdin_adapter.rb, line 19
def command
  command = 'ssh'
  command = "#{command} -i #{key_file}" if key_file
  "#{command} #{server} \"cd #{working_dir} && ruby\""
end