module ActionController::ConditionalGet

def http_cache_forever(public: false)

indicate that they can serve the cached response to all users.
user's web browser. To allow proxies to cache the response, set +true+ to
* +public+: By default, HTTP responses are private, cached only on the

and the browser and proxies should cache it indefinitely.
You can use this method when you have an HTTP response that never changes,

Cache or yield the block. The cache is supposed to never expire.
def http_cache_forever(public: false)
  expires_in 100.years, public: public
  yield if stale?(etag: request.fullpath,
                  last_modified: Time.new(2011, 1, 1).utc,
                  public: public)
end