Module: Idempotency::Testing::Helpers

Defined in:
lib/idempotency/testing/helpers.rb

Class Method Summary collapse

Class Method Details

.included(_base) ⇒ Object



8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
# File 'lib/idempotency/testing/helpers.rb', line 8

def self.included(_base)
  return unless defined?(MockRedis)

  MockRedis.class_eval do
    def evalsha(sha, keys:, argv:)
      return unless sha == Idempotency::Cache::COMPARE_AND_DEL_SCRIPT_SHA

      value = argv[0]
      cached_value = get(keys[0])

      if value == cached_value
        del(keys[0])
        value
      else
        cached_value
      end
    end
  end
end