about summary refs log tree commit diff
path: root/app/controllers
diff options
context:
space:
mode:
authorDavid Yip <yipdw@member.fsf.org>2018-01-07 00:32:24 -0600
committerDavid Yip <yipdw@member.fsf.org>2018-01-07 00:32:24 -0600
commit5083311d64f427771609e444b87c0c39cb6f8ac2 (patch)
treed175e8f9fc04ef2addc5f1a160801d50959402d4 /app/controllers
parentbcbdd4f88d32c9aabc06265e62e5532ebf49c2a3 (diff)
parent2af307bce4e936a9ba3f7f5b6ab593e0159dfada (diff)
Merge remote-tracking branch 'ykzts/fix-unintended-cache' into gs-master
Diffstat (limited to 'app/controllers')
-rw-r--r--app/controllers/application_controller.rb4
1 files changed, 2 insertions, 2 deletions
diff --git a/app/controllers/application_controller.rb b/app/controllers/application_controller.rb
index 679b94f1e..f3d8f6966 100644
--- a/app/controllers/application_controller.rb
+++ b/app/controllers/application_controller.rb
@@ -199,15 +199,15 @@ class ApplicationController < ActionController::Base
 
   def render_cached_json(cache_key, **options)
     options[:expires_in] ||= 3.minutes
-    options[:public]     ||= true
     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'
 
     data = Rails.cache.fetch(cache_key, { raw: true }.merge(options)) do
       yield.to_json
     end
 
-    expires_in options[:expires_in], public: options[:public]
+    expires_in options[:expires_in], public: cache_public
     render json: data, content_type: content_type
   end