lib/shelly/app.rb in shelly-0.3.1 vs lib/shelly/app.rb in shelly-0.3.2
- old
+ new
@@ -127,16 +127,16 @@
def restore_backup(filename)
shelly.restore_backup(code_name, filename)
end
def import_database(kind, filename, server)
- ssh(:command => "import_database #{kind.downcase} #{filename}",
- :server => server, :type => :db_server)
+ ssh_with_db_server(:command => "import_database #{kind.downcase} #{filename}",
+ :server => server)
end
def reset_database(kind)
- ssh(:command => "reset_database #{kind.downcase}", :type => :db_server)
+ ssh_with_db_server(:command => "reset_database #{kind.downcase}")
end
def request_backup(kinds)
Array(kinds).each do |kind|
shelly.request_backup(code_name, kind)
@@ -199,11 +199,11 @@
def rake(task)
ssh(:command => "rake_runner \"#{task}\"")
end
def dbconsole
- ssh(:command => "dbconsole", :type => :db_server)
+ ssh_with_db_server(:command => "dbconsole")
end
def attributes
@attributes ||= shelly.app(code_name)
end
@@ -255,27 +255,27 @@
def console(server = nil)
ssh(:server => server)
end
def list_files(path)
- ssh(:command => "ls -l #{persistent_disk}/#{path}", :type => :server)
+ ssh(:command => "ls -l #{persistent_disk}/#{path}")
end
def upload(source)
- server_connection.tap do |conn|
+ console_connection.tap do |conn|
rsync(source, "#{conn['host']}:#{persistent_disk}", conn)
end
end
def upload_database(source)
- db_server_connection.tap do |conn|
+ configured_db_server_connection.tap do |conn|
rsync(source, "#{conn['host']}:#{persistent_disk}", conn)
end
end
def download(relative_source, destination)
- server_connection.tap do |conn|
+ console_connection.tap do |conn|
source = File.join("#{conn['host']}:#{persistent_disk}", relative_source)
rsync(source, destination, conn)
end
end
@@ -363,37 +363,26 @@
# Internal: Checks if specified option is present in Cloudfile
def option?(option)
content["servers"].any? {|_, settings| settings.has_key?(option)}
end
+ # Returns first at least configured virtual server
def console_connection(server = nil)
shelly.console(code_name, server)
end
- # Returns first configured virtual server
- def server_connection
- shelly.configured_server(code_name)
- end
-
- # Returns first configured virtual server with database
- def db_server_connection(server = nil)
+ # Returns first at least configured virtual server if databases are configured
+ def configured_db_server_connection(server = nil)
shelly.configured_db_server(code_name, server)
end
- def connection(options)
- case options[:type]
- when :console
- console_connection(options[:server])
- when :server
- server_connection
- when :db_server
- db_server_connection(options[:server])
- end
+ def ssh(options = {})
+ conn = console_connection(options[:server])
+ system "ssh #{ssh_options(conn)} -t #{conn['host']} #{options[:command]}"
end
- def ssh(options = {})
- options[:type] = :console unless options[:type]
- conn = connection(options)
+ def ssh_with_db_server(options = {})
+ conn = configured_db_server_connection(options[:server])
system "ssh #{ssh_options(conn)} -t #{conn['host']} #{options[:command]}"
end
def ssh_options(conn)
"-o StrictHostKeyChecking=no -p #{conn['port']} -l #{conn['user']}"