Sha256: e5d0746bfad2cc66447e650d6a70012fb9869e8bdd623cd31d865f72f4d269eb
Contents?: true
Size: 372 Bytes
Versions: 15
Compression:
Stored size: 372 Bytes
Contents
class Sfn::IdentityMap attr_reader :records, :pages def initialize @records = {} @pages = {} end def get_record(klass, id, &block) result = @records[[klass, id]] result ||= begin obj = yield(klass, id) @records[[klass, id]] = obj end result end def expire_record(klass, id) @records[[klass, id]] = nil end end
Version data entries
15 entries across 15 versions & 3 rubygems