Sha256: 9c0aed4424727d3f28d72f630de35d5b7c0210becc2dc4731691041823ab5e90

Contents?: true

Size: 432 Bytes

Versions: 14

Compression:

Stored size: 432 Bytes

Contents

require 'method_object'

module Messaging
  module Adapters
    class Postgres
      class ReleaseLock
        include MethodObject

        option :key
        option :connection, default: -> { SerializedMessage.connection }

        def call
          connection.execute "SELECT pg_advisory_unlock(#{lock_key});"
        end

        private

        def lock_key
          Zlib.crc32(key)
        end
      end
    end
  end
end

Version data entries

14 entries across 14 versions & 1 rubygems

Version Path
messaging-4.0.12 lib/messaging/adapters/postgres/release_lock.rb
messaging-4.0.11 lib/messaging/adapters/postgres/release_lock.rb
messaging-4.0.10 lib/messaging/adapters/postgres/release_lock.rb
messaging-4.0.10.pre lib/messaging/adapters/postgres/release_lock.rb
messaging-4.0.9 lib/messaging/adapters/postgres/release_lock.rb
messaging-4.0.8 lib/messaging/adapters/postgres/release_lock.rb
messaging-4.0.7 lib/messaging/adapters/postgres/release_lock.rb
messaging-4.0.6 lib/messaging/adapters/postgres/release_lock.rb
messaging-4.0.5 lib/messaging/adapters/postgres/release_lock.rb
messaging-4.0.4.pre lib/messaging/adapters/postgres/release_lock.rb
messaging-4.0.3.pre lib/messaging/adapters/postgres/release_lock.rb
messaging-4.0.2.pre lib/messaging/adapters/postgres/release_lock.rb
messaging-4.0.1.pre lib/messaging/adapters/postgres/release_lock.rb
messaging-4.0.0.pre lib/messaging/adapters/postgres/release_lock.rb