class Backup::Storage::Yandex::Disk

Attributes

access_token[RW]

Public Class Methods

new(model, storage_id = nil, &block) click to toggle source
Calls superclass method
# File lib/yandex/disk/backup/storage.rb, line 12
def initialize(model, storage_id = nil, &block)
  super
  instance_eval(&block) if block_given?
  @path ||= '/backups'
end

Public Instance Methods

connection() click to toggle source
# File lib/yandex/disk/backup/storage.rb, line 18
def connection
  ::Yandex::Disk::Client.new(:access_token => access_token, :timeout => 500)
end
remove!(package) click to toggle source
# File lib/yandex/disk/backup/storage.rb, line 33
def remove!(package)
  Logger.info "Removing backup package dated #{ package.time }..."
  remote_path = remote_path_for(package)
  connection.delete(remote_path)
end
storage_name() click to toggle source
# File lib/yandex/disk/backup/storage.rb, line 39
def storage_name
  'Yandex::Disk'
end
transfer!() click to toggle source
# File lib/yandex/disk/backup/storage.rb, line 22
def transfer!
  disk = connection
  disk.mkdir_p(remote_path)
  package.filenames.each do |filename|
    src = File.join(Config.tmp_path, filename)
    dest = File.join(remote_path, filename)
    Logger.info "Storing '#{ dest }'..."
    disk.put!(src, dest)
  end
end