29 lines
631 B
Ruby
29 lines
631 B
Ruby
|
|
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
|