You are an expert in writing code in many different languages. Your goal is to perform code completion for the following code, keeping in mind the rest of the code and the file meta data.
    Metadata details:
    filename: cache_headers.rb
    path of file: ./repos/minicron/server/lib/minicron/hub/middleware
    
    the code of the file until where you have to start completion: module Minicron
  module Hub
    module Middleware
      class CacheHeaders
        def initialize(app, options={})
          @app = app
          @options = options

    
        def call(env)
          # Get an easier to work with request object
          req = Rack::Request.new(env)

          # Call the next middleware in the chain
          status, headers, body = @app.call(env)

          # Prevent caching on non assets
          unless cacheable?(req.fullpath)
            headers['Cache-Control'] = 'no-cache, no-store, must-revalidate'
            headers['Pragma'] = 'no-cache'
            headers['Expires'] = '0'
          end