class Shelly::CLI::File

Public Instance Methods

delete(path) click to toggle source
# File lib/shelly/cli/file.rb, line 54
def delete(path)
  app = multiple_clouds(options[:cloud], "file delete #{path}")

  unless options[:force]
    question = "Do you want to permanently delete #{path} (yes/no):"
    exit 1 unless yes?(question)
  end

  app.delete_file(path)
rescue Client::NotFoundException => e
  raise unless e.resource == :virtual_server
  say_error e["message"]
rescue Client::ConflictException
  say_error "Cloud #{app} wasn't deployed properly. Cannot delete files."
end
download(relative_source = ".", destination = ".") click to toggle source
# File lib/shelly/cli/file.rb, line 41
def download(relative_source = ".", destination = ".")
  app = multiple_clouds(options[:cloud], "file download #{relative_source} #{destination}")
  app.download(relative_source, destination)
rescue Client::NotFoundException => e
  raise unless e.resource == :virtual_server
  say_error e["message"]
rescue Client::ConflictException
  say_error "Cloud #{app} wasn't deployed properly. Cannot download files."
end
list(path = "/") click to toggle source
# File lib/shelly/cli/file.rb, line 14
def list(path = "/")
  app = multiple_clouds(options[:cloud], "file list #{path}")
  app.list_files(path)
rescue Client::NotFoundException => e
  raise unless e.resource == :virtual_server
  say_error e["message"]
rescue Client::ConflictException
  say_error "Cloud #{app} wasn't deployed properly. Cannot list files."
end
require_rsync() click to toggle source
# File lib/shelly/cli/file.rb, line 71
def require_rsync
  unless command_exists?("rsync")
    say_error "You need to install rsync in order to upload and download files"
  end
end
upload(source, destination = ".") click to toggle source
# File lib/shelly/cli/file.rb, line 25
def upload(source, destination = ".")
  app = multiple_clouds(options[:cloud], "file upload #{source} #{destination}")
  app.upload(source, destination)
rescue Client::NotFoundException => e
  raise unless e.resource == :virtual_server
  say_error e["message"]
rescue Client::ConflictException
  say_error "Cloud #{app} wasn't deployed properly. Cannot upload files."
end