Module: ArtirixDataModels::CacheService::CacheStoreHelper

Defined in:
lib/artirix_data_models/cache_service.rb

Overview

we use ‘delete_matched` method -> it will work fine with Redis but it seems that it won’t with Memcached

Class Method Summary collapse

Class Method Details

.delete_matched(pattern = nil, add_wildcard: true, add_prefix: true) ⇒ Object



166
167
168
169
170
171
172
# File 'lib/artirix_data_models/cache_service.rb', line 166

def self.delete_matched(pattern = nil, add_wildcard: true, add_prefix: true)
  return false unless ArtirixDataModels.cache.present?

  p = final_pattern(pattern, add_wildcard: add_wildcard, add_prefix: add_prefix)

  ArtirixDataModels.cache.delete_matched p
end

.final_key(key_value) ⇒ Object



155
156
157
# File 'lib/artirix_data_models/cache_service.rb', line 155

def self.final_key(key_value)
  "#{prefix}__#{key_value}"
end

.final_pattern(pattern, add_wildcard: true, add_prefix: true) ⇒ Object



159
160
161
162
163
164
# File 'lib/artirix_data_models/cache_service.rb', line 159

def self.final_pattern(pattern, add_wildcard: true, add_prefix: true)
  p = pattern
  p = p.present? ? "#{p}*" : '' if add_wildcard
  p = "*#{prefix}*#{p}" if add_prefix
  p
end

.prefixObject



174
175
176
# File 'lib/artirix_data_models/cache_service.rb', line 174

def self.prefix
  ArtirixDataModels.configuration.try(:cache_app_prefix)
end