Merge remote-tracking branch 'ykzts/fix-unintended-cache' into gs-master
This commit is contained in:
commit
5083311d64
|
@ -199,15 +199,15 @@ class ApplicationController < ActionController::Base
|
||||||
|
|
||||||
def render_cached_json(cache_key, **options)
|
def render_cached_json(cache_key, **options)
|
||||||
options[:expires_in] ||= 3.minutes
|
options[:expires_in] ||= 3.minutes
|
||||||
options[:public] ||= true
|
|
||||||
cache_key = cache_key.join(':') if cache_key.is_a?(Enumerable)
|
cache_key = cache_key.join(':') if cache_key.is_a?(Enumerable)
|
||||||
|
cache_public = options.key?(:public) ? options.delete(:public) : true
|
||||||
content_type = options.delete(:content_type) || 'application/json'
|
content_type = options.delete(:content_type) || 'application/json'
|
||||||
|
|
||||||
data = Rails.cache.fetch(cache_key, { raw: true }.merge(options)) do
|
data = Rails.cache.fetch(cache_key, { raw: true }.merge(options)) do
|
||||||
yield.to_json
|
yield.to_json
|
||||||
end
|
end
|
||||||
|
|
||||||
expires_in options[:expires_in], public: options[:public]
|
expires_in options[:expires_in], public: cache_public
|
||||||
render json: data, content_type: content_type
|
render json: data, content_type: content_type
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue