Class: ActiveRecord::ConnectionAdapters::ConnectionPool::LeaseRegistry

Inherits:
WeakThreadKeyMap
  • Object
show all
Defined in:
lib/active_record/connection_adapters/abstract/connection_pool.rb,
lib/active_record/connection_adapters/abstract/connection_pool.rb

Overview

:nodoc:

Instance Method Summary collapse

Methods inherited from WeakThreadKeyMap

#[]=

Constructor Details

#initialize ⇒ LeaseRegistry

Returns a new instance of LeaseRegistry.



194
195
196
197
# File 'lib/active_record/connection_adapters/abstract/connection_pool.rb', line 194

def initialize
  @mutex = Mutex.new
  @map = WeakThreadKeyMap.new
end

Instance Method Details

#[](context) ⇒ Object

:nodoc:



188
189
190
# File 'lib/active_record/connection_adapters/abstract/connection_pool.rb', line 188

def [](context)
  super || (self[context] = Lease.new)
end

#clear ⇒ Object



205
206
207
208
209
# File 'lib/active_record/connection_adapters/abstract/connection_pool.rb', line 205

def clear
  @mutex.synchronize do
    @map.clear
  end
end