Sha256: dbd19f87889735b289abd3518648d3a3250fbda59aaff76bae40ea1825b0813d
Contents?: true
Size: 792 Bytes
Versions: 4
Compression:
Stored size: 792 Bytes
Contents
module Vedeu class Storage def initialize @map = {} end def create(record) map_for(record)[record.name] = record end def delete(record) map_for(record).delete(record.name) end def reset(entity) all(entity).map { |record| delete(record) } end def find(entity, name) map_for_class(entity).fetch(name, nil) end def all(entity) map_for_class(entity).values end def query(entity, attribute, value) map_for_class(entity).select do |_, result| return result if result.send(attribute) == value end nil end private def map_for_class(entity) @map[entity.to_s.to_sym] ||= {} end def map_for(record) map_for_class(record.class) end end end
Version data entries
4 entries across 4 versions & 1 rubygems
Version | Path |
---|---|
vedeu-0.0.24 | lib/vedeu/repository/storage.rb |
vedeu-0.0.23 | lib/vedeu/repository/storage.rb |
vedeu-0.0.22 | lib/vedeu/repository/storage.rb |
vedeu-0.0.21 | lib/vedeu/repository/storage.rb |