Module: HomeQ::Poolable::ClassMethods

Defined in:
lib/homeq/base/poolable.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Instance Attribute Details

#poolObject (readonly)

Returns the value of attribute pool.



45
46
47
# File 'lib/homeq/base/poolable.rb', line 45

def pool
  @pool
end

#pool_sizeObject (readonly)

Returns the value of attribute pool_size.



46
47
48
# File 'lib/homeq/base/poolable.rb', line 46

def pool_size
  @pool_size
end

Instance Method Details

#new(*args) ⇒ Object



51
52
53
54
55
56
57
58
# File 'lib/homeq/base/poolable.rb', line 51

def new(*args)
  if @pool.any?
    o = @pool.shift
    o.send(:reinitialize, *args)
    return o
  end
  super(*args)
end

#pool_init(size) ⇒ Object



47
48
49
50
# File 'lib/homeq/base/poolable.rb', line 47

def pool_init(size)
  @pool_size = size
  @pool = []
end