Module: WithTransactionalLock::Mixin::AdvisoryLockClassLocator

Defined in:
lib/with_transactional_lock/mixin.rb

Class Method Summary collapse

Class Method Details

.locate(connection) ⇒ Object



21
22
23
24
25
26
27
28
29
30
31
# File 'lib/with_transactional_lock/mixin.rb', line 21

def self.locate(connection)
  adapter = connection.adapter_name.downcase.to_sym
  case adapter
    when :mysql, :mysql2
      MySqlAdvisoryLock
    when :postgresql
      PostgresAdvisoryLock
    else
      raise "adapter not supported: #{adapter}"
  end
end