Module: Moneta::DataMapper::Implementation

Included in:
Moneta::DataMapper
Defined in:
lib/moneta/datamapper.rb

Instance Method Summary collapse

Instance Method Details

#[](key) ⇒ Object



71
72
73
# File 'lib/moneta/datamapper.rb', line 71

def [](key)
  repository_context { @hash.value(key) }
end

#[]=(key, value) ⇒ Object



75
76
77
78
79
80
81
82
83
84
# 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

#clearObject



105
106
107
# File 'lib/moneta/datamapper.rb', line 105

def clear
  repository_context { @hash.all.destroy! }
end

#delete(key) ⇒ Object



93
94
95
96
97
98
99
# 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) ⇒ Object



86
87
88
89
90
91
# 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) ⇒ Boolean

Returns:

  • (Boolean)


67
68
69
# File 'lib/moneta/datamapper.rb', line 67

def has_key?(key)
  repository_context { !!@hash.get(key) }
end

#key?(key) ⇒ Boolean

Returns:

  • (Boolean)


63
64
65
# File 'lib/moneta/datamapper.rb', line 63

def key?(key)
  repository_context { !!@hash.get(key) }
end

#store(key, value, options = {}) ⇒ Object



101
102
103
# File 'lib/moneta/datamapper.rb', line 101

def store(key, value, options = {})
  repository_context { self[key] = value }
end