Class: Decidim::CacheCleaner::CacheManager

Inherits:
Object
  • Object
show all
Defined in:
lib/decidim/cache_cleaner/cache_manager.rb

Constant Summary collapse

TEST_KEY =
::Digest::SHA1.hexdigest("cache_test_key")
TEST_VALUE =
::Digest::SHA1.hexdigest("cache_test_value")

Instance Method Summary collapse

Constructor Details

#initializeCacheManager

Returns a new instance of CacheManager.



11
12
13
# File 'lib/decidim/cache_cleaner/cache_manager.rb', line 11

def initialize
  @cache = Rails.cache
end

Instance Method Details

#activated?Boolean Also known as: ensure_clearness

Returns:

  • (Boolean)


15
16
17
18
19
# File 'lib/decidim/cache_cleaner/cache_manager.rb', line 15

def activated?
  @cache.write(TEST_KEY, TEST_VALUE)
  yield if block_given?
  @cache.read(TEST_KEY) == TEST_VALUE
end

#cache_storeObject



35
36
37
# File 'lib/decidim/cache_cleaner/cache_manager.rb', line 35

def cache_store
  @cache.class.name
end

#clear!Object



27
28
29
30
31
32
33
# File 'lib/decidim/cache_cleaner/cache_manager.rb', line 27

def clear!
  return unless clearable?

  !ensure_clearness do
    @cache.clear
  end
end

#clearable?Boolean

Returns:

  • (Boolean)


23
24
25
# File 'lib/decidim/cache_cleaner/cache_manager.rb', line 23

def clearable?
  @cache.respond_to?(:clear)
end