Sha256: ba97eb0256a44c317a31e5ac32400092ab28f411aaef415fd131b0d43fc7a2a5

Contents?: true

Size: 365 Bytes

Versions: 2

Compression:

Stored size: 365 Bytes

Contents

# frozen_string_literal: true

require "digest"

module SimpleLock
  Script = Struct.new(:raw) do
    def sha
      @sha ||= Digest::SHA1.hexdigest(raw)
    end
  end

  LOCK_VALUE = "1"

  SCRIPTS = {
    lock: Script.new("return redis.call('set', KEYS[1], #{LOCK_VALUE}, 'NX', 'PX', ARGV[1])"),
    unlock: Script.new("redis.call('del', KEYS[1])")
  }.freeze
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
simple_lock-1.0.0 lib/simple_lock/scripts.rb
simple_lock-0.1.1 lib/simple_lock/scripts.rb