Parent

Included Modules

Files

Class/Module Index [+]

Quicksearch

Moneta::Adapters::Fog

Fog backend (Cloud storage services) @api public

Attributes

backend[R]

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`

# 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

Public Instance Methods

clear(options = {}) click to toggle source

(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
delete(key, options = {}) click to toggle source

(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
key?(key, options = {}) click to toggle source

(see Proxy#key?)

# File lib/moneta/adapters/fog.rb, line 23
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 28
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 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

[Validate]

Generated with the Darkfish Rdoc Generator 2.