Module: Familia::Connection::Middleware

Included in:
Familia::Connection
Defined in:
lib/familia/connection/middleware.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Instance Attribute Details

#enable_database_counterBoolean

Returns Whether Database command counter is enabled.

Returns:

  • (Boolean)

    Whether Database command counter is enabled



12
13
14
# File 'lib/familia/connection/middleware.rb', line 12

def enable_database_counter
  @enable_database_counter
end

#enable_database_loggingBoolean

Returns Whether Database command logging is enabled.

Returns:

  • (Boolean)

    Whether Database command logging is enabled



9
10
11
# File 'lib/familia/connection/middleware.rb', line 9

def enable_database_logging
  @enable_database_logging
end

Instance Method Details

#clear_fiber_connection!Object

Clears the fiber-local connection



32
33
34
35
# File 'lib/familia/connection/middleware.rb', line 32

def clear_fiber_connection!
  Fiber[:familia_connection] = nil
  Familia.trace :FIBER_CONNECTION, nil, 'Cleared' if Familia.debug?
end

#increment_middleware_version!Object

Increments the middleware version, invalidating all cached connections



20
21
22
23
# File 'lib/familia/connection/middleware.rb', line 20

def increment_middleware_version!
  @middleware_version += 1
  Familia.trace :MIDDLEWARE_VERSION, nil, "Incremented to #{@middleware_version}" if Familia.debug?
end

#middleware_versionInteger

Returns Current middleware version for cache invalidation.

Returns:

  • (Integer)

    Current middleware version for cache invalidation



15
16
17
# File 'lib/familia/connection/middleware.rb', line 15

def middleware_version
  @middleware_version
end

#set_fiber_connection(connection) ⇒ Object

Sets a versioned fiber-local connection



26
27
28
29
# File 'lib/familia/connection/middleware.rb', line 26

def set_fiber_connection(connection)
  Fiber[:familia_connection] = [connection, middleware_version]
  Familia.trace :FIBER_CONNECTION, nil, "Set with version #{middleware_version}" if Familia.debug?
end