class DropboxServerBackupApp
Attributes
session[R]
Public Class Methods
create(options) { |get_authorize_url| ... }
click to toggle source
# File lib/dropbox_server_backup_app.rb, line 11 def self.create(options) session = DropboxSession.new(options[:app_key], options[:app_secret]) session.get_request_token yield(session.get_authorize_url) session.get_access_token self.new(session) end
new(session)
click to toggle source
# File lib/dropbox_server_backup_app.rb, line 5 def initialize(session) @access_type = :app_folder @session = session @client = DropboxClient.new(session, @access_type) end
Public Instance Methods
log(message, error=false)
click to toggle source
# File lib/dropbox_server_backup_app.rb, line 42 def log(message, error=false) full_message = "" full_message += "ERROR: " if error full_message += message puts full_message end
upload(filename)
click to toggle source
# File lib/dropbox_server_backup_app.rb, line 19 def upload(filename) dropbox_filename = File.basename(filename) begin metadata = @client.metadata(dropbox_filename) unless metadata[:is_deleted] log "deleting existing file #{dropbox_filename} from Dropbox" @client.file_delete(dropbox_filename) end rescue DropboxError end begin @client.put_file(dropbox_filename, open(filename)) log "uploading file #{filename} from Dropbox" rescue DropboxAuthError log("can't authenticate with dropbox.", :error) rescue Errno::ENOENT log("file #{filename} doesn't exist.", :error) rescue Errno::EACCES log("no access to file #{filename}.", :error) end end