module SkinCacheHelper def cache_timestamp Time.now.utc.to_fs(:usec) end def skin_cache_version_key(skin_id) skin_id = skin_id.id if skin_id.is_a?(Skin) [:v1, :site_skin, skin_id, :version_key] end def skin_cache_version(skin_id) Rails.cache.fetch(skin_cache_version_key(skin_id)) do cache_timestamp end end def skin_cache_version_update(skin_id) Rails.cache.write(skin_cache_version_key(skin_id), cache_timestamp) end def skin_chooser_key [:v2, :skin_chooser] end def skin_chooser_expire_cache ActionController::Base.new.expire_fragment(skin_chooser_key) end end