Class: Kaal::Backend::SQLite

Inherits:
Adapter
  • Object
show all
Defined in:
lib/kaal/backend/sqlite.rb,
sig/kaal/backend/sqlite.rbs

Overview

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

Instance Method Summary collapse

Methods inherited from Adapter

#disconnect_for_fork, #with_lock

Constructor Details

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

Returns a new instance of SQLite.

Parameters:

  • database: (Kaal::rbs_any, nil) (defaults to: nil)
  • connection: (Kaal::rbs_any, nil) (defaults to: nil)
  • namespace: (Kaal::rbs_any, nil) (defaults to: nil)
  • (Kaal::rbs_any)


11
12
13
14
15
16
17
18
19
20
21
22
# File 'lib/kaal/backend/sqlite.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::DatabaseBackend.new(database, namespace:)
            else
              Kaal::ActiveRecord.require_activerecord!
              require 'kaal/internal/active_record'
              Kaal::Internal::ActiveRecord::DatabaseBackend.new(connection, namespace:, **)
            end
end

Instance Method Details

#acquire(key, ttl) ⇒ Kaal::rbs_any

Parameters:

  • key (Kaal::rbs_any)
  • ttl (Kaal::rbs_any)

Returns:

  • (Kaal::rbs_any)


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

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

#definition_registry ⇒ Kaal::rbs_any

Returns:

  • (Kaal::rbs_any)


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

def definition_registry
  @engine.definition_registry
end

#delayed_store ⇒ Kaal::rbs_any

Returns:

  • (Kaal::rbs_any)


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

def delayed_store
  @engine.delayed_store
end

#dispatch_registry ⇒ Kaal::rbs_any

Returns:

  • (Kaal::rbs_any)


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

def dispatch_registry
  @engine.dispatch_registry
end

#release(key) ⇒ Kaal::rbs_any

Parameters:

  • key (Kaal::rbs_any)

Returns:

  • (Kaal::rbs_any)


40
41
42
# File 'lib/kaal/backend/sqlite.rb', line 40

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