class Ariranha::Directory
Constants
- ADAPTER_KEYS
Attributes
adapter[R]
fog_directory[R]
fog_storage[R]
keep_backups[R]
Public Class Methods
new(adapter, config, keep_backups = 3)
click to toggle source
# File lib/ariranha/directory.rb, line 11 def initialize(adapter, config, keep_backups = 3) @fog_storage = Fog::Storage.new( ADAPTER_KEYS[adapter][0] => config['access_key'], ADAPTER_KEYS[adapter][1] => config['secret_key'], provider: adapter) @adapter = adapter @fog_directory = configure_fog_directory(config['directory']) @keep_backups = keep_backups end
Public Instance Methods
upload(filename, parent_dir)
click to toggle source
# File lib/ariranha/directory.rb, line 21 def upload(filename, parent_dir) puts "uploading #{filename} to #{adapter}..." fog_directory.files.create( key: "#{parent_dir}/#{filename}", body: File.open("/tmp/#{filename}") ) sorted_files = fog_directory.files.all(prefix: parent_dir + '/') .reload.sort do |x, y| x.last_modified <=> y.last_modified end sorted_files[0..(-keep_backups - 1)].each(&:destroy) end
Private Instance Methods
configure_fog_directory(directory_name)
click to toggle source
# File lib/ariranha/directory.rb, line 38 def configure_fog_directory(directory_name) fog_storage.directories.get(directory_name) || fog_storage.directories.create(key: directory_name) end