module Moneta::DataMapper::Implementation

Public Instance Methods

[](key) click to toggle source
# File lib/moneta/datamapper.rb, line 71
def [](key)
  repository_context { @hash.value(key) }
end
[]=(key, value) click to toggle source
# File lib/moneta/datamapper.rb, line 75
def []=(key, value)
  repository_context {
    obj = @hash.get(key)
    if obj
      obj.update(key, value)
    else
      @hash.create(:the_key => key, :value => value)
    end
  }
end
clear() click to toggle source
# File lib/moneta/datamapper.rb, line 105
def clear
  repository_context { @hash.all.destroy! }
end
delete(key) click to toggle source
# File lib/moneta/datamapper.rb, line 93
def delete(key)
  repository_context {
    value = self[key]
    @hash.all(:the_key => key).destroy!
    value
  }
end
fetch(key, value = nil) { |key| ... } click to toggle source
# File lib/moneta/datamapper.rb, line 86
def fetch(key, value = nil)
  repository_context {
    value ||= block_given? ? yield(key) : default
    self[key] || value
  }
end
has_key?(key) click to toggle source
# File lib/moneta/datamapper.rb, line 67
def has_key?(key)
  repository_context { !!@hash.get(key) }
end
key?(key) click to toggle source
# File lib/moneta/datamapper.rb, line 63
def key?(key)
  repository_context { !!@hash.get(key) }
end
store(key, value, options = {}) click to toggle source
# File lib/moneta/datamapper.rb, line 101
def store(key, value, options = {})
  repository_context { self[key] = value }
end

Private Instance Methods

repository_context() { || ... } click to toggle source
# File lib/moneta/datamapper.rb, line 110
def repository_context
  repository(@repository) { yield }
end