module ObjectCache
Public Instance Methods
clear()
click to toggle source
# File lib/gosling/object_cache.rb, line 14 def clear @cache.clear end
get()
click to toggle source
# File lib/gosling/object_cache.rb, line 25 def get if @cache.empty? self.create else obj = @cache.delete(@cache.keys.first) obj.unfreeze obj end end
recycle(obj)
click to toggle source
# File lib/gosling/object_cache.rb, line 18 def recycle(obj) return if @cache.key?(obj.object_id) self.reset(obj) obj.freeze @cache[obj.object_id] = obj end
size()
click to toggle source
# File lib/gosling/object_cache.rb, line 35 def size @cache.size end
Protected Instance Methods
create()
click to toggle source
# File lib/gosling/object_cache.rb, line 41 def create raise "Derived classes must implement create()." end
reset(obj)
click to toggle source
# File lib/gosling/object_cache.rb, line 45 def reset(obj) raise "Derived classes must implement reset()." end