class Store::DataMapper::Memory
Public Class Methods
new()
click to toggle source
# File lib/store/memory.rb, line 8 def initialize @items = {} @id = 0 end
Public Instance Methods
all()
click to toggle source
# File lib/store/memory.rb, line 38 def all collection(items.values) end
bulk_find(ids)
click to toggle source
# File lib/store/memory.rb, line 34 def bulk_find(ids) collection(items.values_at(*ids)) end
count()
click to toggle source
# File lib/store/memory.rb, line 42 def count all.size end
delete(id)
click to toggle source
# File lib/store/memory.rb, line 25 def delete(id) items.delete(id) id end
insert(data)
click to toggle source
# File lib/store/memory.rb, line 13 def insert(data) id = next_id.to_s store(id, data) id end
single_find(id)
click to toggle source
# File lib/store/memory.rb, line 30 def single_find(id) dup(items[id]) end
update(id, data)
click to toggle source
# File lib/store/memory.rb, line 19 def update(id, data) id = id.to_s store(id, data) id end
Private Instance Methods
collection(items)
click to toggle source
# File lib/store/memory.rb, line 48 def collection(items) @result = {} items.map do |data| @result.merge!(data['uid'] => dup(data)) end @result end
dup(data)
click to toggle source
# File lib/store/memory.rb, line 64 def dup(data) data and HashDupper.dup(data) end
items()
click to toggle source
# File lib/store/memory.rb, line 56 def items @items end
next_id()
click to toggle source
# File lib/store/memory.rb, line 60 def next_id @id += 1 end
store(id, data)
click to toggle source
# File lib/store/memory.rb, line 96 def store(id, data) stored = dup(data) stored['uid'] = id @items[id] = stored end