From c1c96f1f71d554c190ab88a873cc574559c6bf52 Mon Sep 17 00:00:00 2001 From: Joel Larson Date: Thu, 23 Dec 2021 13:28:14 -0700 Subject: [PATCH] Add Dalli.close and reset alias support to the storage adapter for use in process forking --- lib/atomic_cache/storage/dalli.rb | 3 +-- spec/atomic_cache/storage/dalli_spec.rb | 12 ++++++++++++ 2 files changed, 13 insertions(+), 2 deletions(-) diff --git a/lib/atomic_cache/storage/dalli.rb b/lib/atomic_cache/storage/dalli.rb index a533d39..d0150eb 100644 --- a/lib/atomic_cache/storage/dalli.rb +++ b/lib/atomic_cache/storage/dalli.rb @@ -10,7 +10,7 @@ module Storage class Dalli < Store extend Forwardable - def_delegators :@dalli_client, :delete + def_delegators :@dalli_client, :delete, :close, :reset def initialize(dalli_client) @dalli_client = dalli_client @@ -35,7 +35,6 @@ def set(key, value, user_options={}) user_options.delete(:ttl) !!@dalli_client.set(key, value, ttl, user_options) end - end end end diff --git a/spec/atomic_cache/storage/dalli_spec.rb b/spec/atomic_cache/storage/dalli_spec.rb index efe2dac..2299881 100644 --- a/spec/atomic_cache/storage/dalli_spec.rb +++ b/spec/atomic_cache/storage/dalli_spec.rb @@ -7,6 +7,8 @@ def add(key, new_value, ttl, user_options); end def read(key, user_options); end def set(key, new_value, user_options); end def delete(key, user_options); end + def close(); end + def reset(); end end describe 'Dalli' do @@ -35,6 +37,16 @@ def delete(key, user_options); end subject.delete('key') end + it 'delegates #close' do + expect(dalli_client).to receive(:close) + subject.close + end + + it 'delegates #reset' do + expect(dalli_client).to receive(:reset) + subject.reset + end + context '#add' do before(:each) do allow(dalli_client).to receive(:add).and_return(false)