Sha256: f2be75895244bf3205f5caebc82d2ead5548d816474b06acae32339914a24a54

Contents?: true

Size: 688 Bytes

Versions: 18

Compression:

Stored size: 688 Bytes

Contents

require 'routemaster/cache'
require 'routemaster/config'
require 'routemaster/jobs/client'
require 'routemaster/jobs/cache_and_sweep'
require 'routemaster/event_index'

module Routemaster
  module Middleware
    class Cache
      def initialize(app, cache:nil, client:nil, queue:nil, **_)
        @app    = app
        @cache  = cache || Routemaster::Cache.new
        @client = client || Routemaster::Jobs::Client.new
        @queue  = queue || Config.queue_name
      end

      def call(env)
        env.fetch('routemaster.dirty', []).each do |url|
          @client.enqueue(@queue, Routemaster::Jobs::CacheAndSweep, url)
        end
        @app.call(env)
      end
    end
  end
end

Version data entries

18 entries across 18 versions & 1 rubygems

Version Path
routemaster-drain-3.6.2 lib/routemaster/middleware/cache.rb
routemaster-drain-3.6.1 lib/routemaster/middleware/cache.rb
routemaster-drain-3.6.0 lib/routemaster/middleware/cache.rb
routemaster-drain-3.5.1 lib/routemaster/middleware/cache.rb
routemaster-drain-3.5.0 lib/routemaster/middleware/cache.rb
routemaster-drain-3.4.0 lib/routemaster/middleware/cache.rb
routemaster-drain-3.3.0 lib/routemaster/middleware/cache.rb
routemaster-drain-3.2.0 lib/routemaster/middleware/cache.rb
routemaster-drain-3.1.0 lib/routemaster/middleware/cache.rb
routemaster-drain-3.0.3 lib/routemaster/middleware/cache.rb
routemaster-drain-3.0.2 lib/routemaster/middleware/cache.rb
routemaster-drain-3.0.1 lib/routemaster/middleware/cache.rb
routemaster-drain-3.0.0 lib/routemaster/middleware/cache.rb
routemaster-drain-2.5.4 lib/routemaster/middleware/cache.rb
routemaster-drain-2.5.3 lib/routemaster/middleware/cache.rb
routemaster-drain-2.5.2 lib/routemaster/middleware/cache.rb
routemaster-drain-2.5.1 lib/routemaster/middleware/cache.rb
routemaster-drain-2.5.0 lib/routemaster/middleware/cache.rb