Module: ObjectPool

Defined in:
lib/objectpool.rb

Defined Under Namespace

Modules: ClassMethods, InstanceMethods Classes: Error, Method, StopWorker, Thread

Class Method Summary collapse

Class Method Details

.create(klass, size, opts = {}) ⇒ Object



15
16
17
18
19
20
21
22
23
24
25
# File 'lib/objectpool.rb', line 15

def self.create(klass, size, opts={})
  (pool_klass = Class.new(klass)).class_eval do
    @__op__size        = size
    @__op__orig_class  = klass
    @__op__queue_limit = opts[:limit].to_i
    extend ClassMethods
    include InstanceMethods
    __op__redefine_pool_methods
  end
  pool_klass
end