Class: Magnesium::SSH

Inherits:
Object
  • Object
show all
Defined in:
lib/magnesium/extensions/ssh.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Instance Attribute Details

#hostObject

Returns the value of attribute host.



6
7
8
# File 'lib/magnesium/extensions/ssh.rb', line 6

def host
  @host
end

#localObject

Returns the value of attribute local.



9
10
11
# File 'lib/magnesium/extensions/ssh.rb', line 9

def local
  @local
end

#pwdObject

Returns the value of attribute pwd.



8
9
10
# File 'lib/magnesium/extensions/ssh.rb', line 8

def pwd
  @pwd
end

#serverObject

Returns the value of attribute server.



10
11
12
# File 'lib/magnesium/extensions/ssh.rb', line 10

def server
  @server
end

#usernameObject

Returns the value of attribute username.



7
8
9
# File 'lib/magnesium/extensions/ssh.rb', line 7

def username
  @username
end

Instance Method Details

#download_fileObject

(local,server)



27
28
29
30
31
32
33
# File 'lib/magnesium/extensions/ssh.rb', line 27

def download_file #(local,server)
  Net::SCP.start(@host, @username, :password => @pwd) do |scp|
    scp.download!(@server,@local) do |ch, name, sent, total|
      puts "\r#{name}:#{(sent.to_f * 100 / total.to_f).to_i}%"
    end
  end
end

#download_file_to_memoryObject

(server)



47
48
49
50
51
# File 'lib/magnesium/extensions/ssh.rb', line 47

def download_file_to_memory #(server)
  Net::SCP.start(@host, @username, :password => @pwd) do |scp|
    return scp.download!(@server),to_yaml
  end
end

#download_folderObject

(local,server)



41
42
43
44
45
# File 'lib/magnesium/extensions/ssh.rb', line 41

def download_folder #(local,server)
  Net::SSH.start(@host, @username, :password => @pwd) do |ssh|
    ssh.scp.download!(@local,@server,:recursive => true)
  end
end

#exec_command(command) ⇒ Object



12
13
14
15
16
17
# File 'lib/magnesium/extensions/ssh.rb', line 12

def exec_command(command)
  Net::SSH.start(@host, @username, :password => @pwd) do |ssh|
    result = ssh.exec!(command.to_s)
    return result
  end
end

#upload_fileObject



19
20
21
22
23
24
25
# File 'lib/magnesium/extensions/ssh.rb', line 19

def upload_file
  Net::SCP.start(@host, @username, :password => @pwd) do |scp|
    scp.upload!(@local,@server) do |ch, name, sent, total|
      puts "\r#{name}:#{(sent.to_f * 100 / total.to_f).to_i}%"
    end
  end
end

#upload_folderObject

(local,server)



35
36
37
38
39
# File 'lib/magnesium/extensions/ssh.rb', line 35

def upload_folder #(local,server)
  Net::SSH.start(@host, @username, :password => @pwd) do |ssh|
    ssh.scp.upload!(@local,@server,:recursive => true)
  end
end