File: memory.rb

package info (click to toggle)
mikutter 5.0.4%2Bdfsg1-2
  • links: PTS, VCS
  • area: main
  • in suites: bookworm
  • size: 9,700 kB
  • sloc: ruby: 21,307; sh: 181; makefile: 19
file content (18 lines) | stat: -rw-r--r-- 404 bytes parent folder | download | duplicates (3)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
# -*- coding: utf-8 -*-
class Diva::Model::Memory
  include Diva::DataSource

  def initialize(klass=Diva::Model)
    @storage = WeakStorage.new(Integer, klass, name: "diva-model-memory(#{klass})") end

  def findbyid(id, policy)
    if id.is_a? Enumerable
      id.map{ |i| @storage[i.to_i] }
    else
      @storage[id.to_i] end
  end

  def store_datum(datum)
    @storage[datum.id] = datum
  end
end