draffensperger/type_tracer

View on GitHub
lib/type_tracer/rack/type_sampler_middleware.rb

Summary

Maintainability
A
0 mins
Test Coverage
# frozen_string_literal: true
require 'type_tracer/type_sampler'

module TypeTracer
  class TypeSamplerMiddleware
    def initialize(app)
      @app = app
    end

    def call(env)
      sample_decider = TypeTracer.config.rack_type_sample_decider
      TypeSampler.start if sample_decider && sample_decider.call(env)
      @app.call(env)
    ensure
      TypeSampler.stop
    end
  end
end