Class: Webbynode::Server

Inherits:
Object show all
Defined in:
lib/webbynode/server.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(ip, user, port) ⇒ Server

Returns a new instance of Server.



9
10
11
12
13
14
# File 'lib/webbynode/server.rb', line 9

def initialize(ip, user, port)
  @ssh  = Ssh.new(ip, user, port)
  @ip   = ip
  @user = user
  @port = port
end

Instance Attribute Details

#ipObject

Returns the value of attribute ip.



7
8
9
# File 'lib/webbynode/server.rb', line 7

def ip
  @ip
end

#portObject

Returns the value of attribute port.



7
8
9
# File 'lib/webbynode/server.rb', line 7

def port
  @port
end

#userObject

Returns the value of attribute user.



7
8
9
# File 'lib/webbynode/server.rb', line 7

def user
  @user
end

Instance Method Details

#add_ssh_key(key_file, passphrase = "") ⇒ Object



32
33
34
# File 'lib/webbynode/server.rb', line 32

def add_ssh_key(key_file, passphrase="")
  add_ssh_key_in "~", key_file, passphrase
end

#add_ssh_root_key(key_file, passphrase = "") ⇒ Object



36
37
38
39
# File 'lib/webbynode/server.rb', line 36

def add_ssh_root_key(key_file, passphrase="")
  create_ssh_settings "/root", true
  add_ssh_key_in "/root", key_file, passphrase, true
end

#application_pushed?Boolean

Returns:

  • (Boolean)


41
42
43
44
# File 'lib/webbynode/server.rb', line 41

def application_pushed?
  return false if remote_executor.exec("cd #{pushand.parse_remote_app_name}") =~ /No such file or directory/
  true
end

#ioObject



16
17
18
# File 'lib/webbynode/server.rb', line 16

def io
  @io ||= Webbynode::Io.new
end

#pushandObject



28
29
30
# File 'lib/webbynode/server.rb', line 28

def pushand
  @pushand ||= Webbynode::PushAnd.new
end

#remote_executorObject



24
25
26
# File 'lib/webbynode/server.rb', line 24

def remote_executor
  @remote_executor ||= Webbynode::RemoteExecutor.new(ip, user, port)
end

#sshObject



20
21
22
# File 'lib/webbynode/server.rb', line 20

def ssh
  Kernel.exec "ssh -p #{port} #{user}@#{ip}"
end