Sha256: f60ab06a4bb6b10526c3a13d55bf3a59d04d077282ab3f72ae0af507a42f27c9

Contents?: true

Size: 495 Bytes

Versions: 1

Compression:

Stored size: 495 Bytes

Contents

require 'rack/body_proxy'

module Toy
  module Middleware
    class IdentityMap
      def initialize(app)
        @app = app
      end

      def call(env)
        Toy::IdentityMap.clear
        enabled = Toy::IdentityMap.enabled
        Toy::IdentityMap.enabled = true

        response = @app.call(env)
        response[2] = Rack::BodyProxy.new(response[2]) {
          Toy::IdentityMap.enabled = enabled
          Toy::IdentityMap.clear
        }
        response
      end
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
toystore-0.13.2 lib/toy/middleware/identity_map.rb