Class: EacRubyUtils::Envs::SshEnv

Inherits:
BaseEnv 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.



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

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

Class Method Details

.parse_uri(uri) ⇒ Object



12
13
14
15
16
17
# File 'lib/eac_ruby_utils/envs/ssh_env.rb', line 12

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



37
38
39
# File 'lib/eac_ruby_utils/envs/ssh_env.rb', line 37

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

#to_sObject



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

def to_s
  uri.to_s
end