Class: EacRubyUtils::Envs::SshEnv

Inherits:
BaseEnv
  • Object
show all
Defined in:
lib/eac_ruby_utils/envs/ssh_env.rb

Class Method Summary collapse

Instance Method Summary collapse

Methods inherited from BaseEnv

#command, #file_exist?

Constructor Details

#initialize(uri) ⇒ SshEnv

Returns a new instance of SshEnv.



24
25
26
# File 'lib/eac_ruby_utils/envs/ssh_env.rb', line 24

def initialize(uri)
  @uri = self.class.parse_uri(uri)
end

Class Method Details

.parse_uri(uri) ⇒ Object



7
8
9
10
11
12
# File 'lib/eac_ruby_utils/envs/ssh_env.rb', line 7

def parse_uri(uri)
  r = parse_user_hostname(uri) || ::Addressable::URI.parse(uri)
  return r if r.scheme == 'ssh'

  raise "URI has no SSH scheme: #{uri}"
end

Instance Method Details

#command_line(line) ⇒ Object



32
33
34
# File 'lib/eac_ruby_utils/envs/ssh_env.rb', line 32

def command_line(line)
  "#{ssh_command_line} #{Shellwords.escape(line)}"
end

#to_sObject



28
29
30
# File 'lib/eac_ruby_utils/envs/ssh_env.rb', line 28

def to_s
  uri.to_s
end