Class: Crabfarm::DriverBucketPool

Inherits:
Object
  • Object
show all
Defined in:
lib/crabfarm/driver_bucket_pool.rb

Instance Method Summary collapse

Constructor Details

#initialize(_factory = nil) ⇒ DriverBucketPool

Returns a new instance of DriverBucketPool.



4
5
6
7
# File 'lib/crabfarm/driver_bucket_pool.rb', line 4

def initialize(_factory=nil)
  @factory = _factory || DefaultDriverFactory.new(Crabfarm.config.driver_config)
  @buckets = Hash.new
end

Instance Method Details

#driver(_session_id = nil) ⇒ Object



9
10
11
12
13
14
# File 'lib/crabfarm/driver_bucket_pool.rb', line 9

def driver(_session_id=nil)
  _session_id ||= :default_driver
  bucket = @buckets[_session_id.to_sym]
  bucket = @buckets[_session_id.to_sym] = DriverBucket.new(_session_id, @factory) if bucket.nil?
  bucket
end

#releaseObject



21
22
23
# File 'lib/crabfarm/driver_bucket_pool.rb', line 21

def release
  reset
end

#resetObject



16
17
18
19
# File 'lib/crabfarm/driver_bucket_pool.rb', line 16

def reset
  @buckets.values.each(&:reset)
  @buckets = Hash.new
end