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