module ConservativeEtags::ApplicationControllerExtension

Public Instance Methods

conservative_stale?(*args) click to toggle source
# File lib/conservative_etags.rb, line 27
def conservative_stale?(*args)
  args << @app_modified
  if stale? etag: args
    true
  else
    false
  end
end
set_last_modified() click to toggle source
# File lib/conservative_etags.rb, line 18
def set_last_modified
  app_start_time = Rails.application.config.x.app_start_time
  if app_start_time.present?
    @app_modified = [app_start_time, @session_start_time].max
  else
    @app_modified = Time.zone.now
  end
end
set_session_start() click to toggle source
# File lib/conservative_etags.rb, line 11
def set_session_start
  unless session.key? :start_time
    session[:start_time] = Time.zone.now.iso8601
  end
  @session_start_time = Time.zone.parse(session[:start_time])
end