class S3TarBackup::Backend::FileBackend
Attributes
prefix[R]
Public Class Methods
new(path)
click to toggle source
# File lib/s3_tar_backup/backend/file_backend.rb, line 11 def initialize(path) @prefix = Pathname.new(path).absolute? ? path : File.expand_path(File.join('~', path)) end
Public Instance Methods
download_item(relative_path, local_path)
click to toggle source
# File lib/s3_tar_backup/backend/file_backend.rb, line 27 def download_item(relative_path, local_path) FileUtils.cp(File.join(@prefix, relative_path), local_path) end
item_exists?(relative_path)
click to toggle source
# File lib/s3_tar_backup/backend/file_backend.rb, line 23 def item_exists?(relative_path) File.exists?(File.join(@prefix, relative_path)) end
list_items(relative_path='')
click to toggle source
# File lib/s3_tar_backup/backend/file_backend.rb, line 41 def list_items(relative_path='') return [] unless File.directory?(File.join(@prefix, relative_path)) relative_path = '.' if relative_path.nil? || relative_path.empty? Dir.chdir(@prefix) do Dir.entries(relative_path).select{ |x| File.file?(x) }.map do |x| path = File.join(relative_path, x) BackendObject.new(path, File.size?(path)) end end end
name()
click to toggle source
# File lib/s3_tar_backup/backend/file_backend.rb, line 15 def name "File" end
remove_item(relative_path)
click to toggle source
# File lib/s3_tar_backup/backend/file_backend.rb, line 19 def remove_item(relative_path) File.delete(File.join(@prefix, relative_path)) end
upload_item(relative_path, local_path, remove_original)
click to toggle source
# File lib/s3_tar_backup/backend/file_backend.rb, line 31 def upload_item(relative_path, local_path, remove_original) path = File.join(@prefix, relative_path) FileUtils.mkdir_p(File.dirname(path)) unless File.directory?(File.dirname(path)) if remove_original FileUtils.mv(local_path, path) else FileUtils.cp(local_path, path) end end