class Backup::Storages::Local

Attributes

directory[R]

Public Class Methods

new(directory:) click to toggle source
# File lib/backup-agent/storages/local.rb, line 11
def initialize(directory:)
  @directory = directory.gsub(/\/*\z/, "") # Ensure trailing slash
end

Public Instance Methods

delete(relative_path) click to toggle source
# File lib/backup-agent/storages/local.rb, line 21
def delete(relative_path)
  FileUtils.rm_f(File.join(directory, relative_path))
end
each() { |object| ... } click to toggle source
# File lib/backup-agent/storages/local.rb, line 25
def each
  Dir.glob File.join(directory, "**", "*") do |path|
    yield Backup::Storages::Local::Object.new(self, path[directory.size+1..-1])
  end
end
store(relative_path, file_to_write) click to toggle source
# File lib/backup-agent/storages/local.rb, line 15
def store(relative_path, file_to_write)
  FileUtils.mkdir_p(directory)
  FileUtils.cp_r(file_to_write, File.join(directory, relative_path))
  Backup::Storages::Local::Object.new(self, relative_path)
end