Class: Kaal::Backend::Postgres

Inherits:
Adapter
  • Object
show all
Defined in:
lib/kaal/backend/postgres.rb

Overview

PostgreSQL-backed backend for either Sequel or Active Record persistence.

Instance Method Summary collapse

Methods inherited from Adapter

#with_lock

Constructor Details

#initialize(database: nil, connection: nil, namespace: nil) ⇒ Postgres

Returns a new instance of Postgres.



11
12
13
14
15
16
17
18
19
20
21
22
# File 'lib/kaal/backend/postgres.rb', line 11

def initialize(database: nil, connection: nil, namespace: nil, **)
  super()
  @engine = if database
              Kaal::Sequel.require_sequel!
              require 'kaal/internal/sequel'
              Kaal::Internal::Sequel::PostgresBackend.new(database, namespace:)
            else
              Kaal::ActiveRecord.require_activerecord!
              require 'kaal/internal/active_record'
              Kaal::Internal::ActiveRecord::PostgresBackend.new(connection, namespace:, **)
            end
end

Instance Method Details

#acquire(key, ttl) ⇒ Object



32
33
34
# File 'lib/kaal/backend/postgres.rb', line 32

def acquire(key, ttl)
  @engine.acquire(key, ttl)
end

#definition_registryObject



28
29
30
# File 'lib/kaal/backend/postgres.rb', line 28

def definition_registry
  @engine.definition_registry
end

#dispatch_registryObject



24
25
26
# File 'lib/kaal/backend/postgres.rb', line 24

def dispatch_registry
  @engine.dispatch_registry
end

#release(key) ⇒ Object



36
37
38
# File 'lib/kaal/backend/postgres.rb', line 36

def release(key)
  @engine.release(key)
end