class Moneta::Adapters::Fog
Fog
backend (Cloud storage services) @api public
Public Class Methods
new(options = {})
click to toggle source
@param [Hash] options @option options [String] :dir Fog
directory @option options [::Fog::Storage] :backend Use existing backend instance @option options Other options passed to ‘Fog::Storage#new`
Calls superclass method
Moneta::Adapter::new
# File lib/moneta/adapters/fog.rb, line 16 def initialize(options = {}) super @directory = backend.directories.get(config.dir) || backend.directories.create(key: config.dir) end
Public Instance Methods
clear(options = {})
click to toggle source
(see Proxy#clear
)
# File lib/moneta/adapters/fog.rb, line 49 def clear(options = {}) @directory.files.all.each do |file| file.destroy end self end
delete(key, options = {})
click to toggle source
(see Proxy#delete
)
# File lib/moneta/adapters/fog.rb, line 33 def delete(key, options = {}) if value = @directory.files.get(key) body = value.body value.destroy body end end
key?(key, options = {})
click to toggle source
(see Proxy#key?
)
# File lib/moneta/adapters/fog.rb, line 22 def key?(key, options = {}) @directory.files.head(key) != nil end
load(key, options = {})
click to toggle source
(see Proxy#load
)
# File lib/moneta/adapters/fog.rb, line 27 def load(key, options = {}) value = @directory.files.get(key) value && value.body end
store(key, value, options = {})
click to toggle source
(see Proxy#store
)
# File lib/moneta/adapters/fog.rb, line 42 def store(key, value, options = {}) value = value.dup if value.frozen? # HACK: Fog needs unfrozen string @directory.files.create(options.merge(key: key, body: value)) value end