Fog backend (Cloud storage services) @api public
@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`
# File lib/moneta/adapters/fog.rb, line 16 def initialize(options = {}) raise ArgumentError, 'Option :dir is required' unless dir = options.delete(:dir) @backend = options[:backend] || ::Fog::Storage.new(options) @directory = @backend.directories.get(dir) || @backend.directories.create(:key => dir) end
(see Proxy#clear)
# File lib/moneta/adapters/fog.rb, line 50 def clear(options = {}) @directory.files.all.each do |file| file.destroy end self end
(see Proxy#delete)
# File lib/moneta/adapters/fog.rb, line 34 def delete(key, options = {}) if value = @directory.files.get(key) body = value.body value.destroy body end end
(see Proxy#key?)
# File lib/moneta/adapters/fog.rb, line 23 def key?(key, options = {}) @directory.files.head(key) != nil end
(see Proxy#load)
# File lib/moneta/adapters/fog.rb, line 28 def load(key, options = {}) value = @directory.files.get(key) value && value.body end
(see Proxy#store)
# File lib/moneta/adapters/fog.rb, line 43 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
Generated with the Darkfish Rdoc Generator 2.