class Rage::Reloader

def call(env)

def call(env)
  with_reload do
    @app.call(env)
  end
end

def initialize(app)

def initialize(app)
  Iodine.on_state(:on_start) do
    Rage.code_loader.check_updated!
  end
  @app = app
  @mutex = Mutex.new
end

def with_reload

def with_reload
  @mutex.synchronize do
    Rage.code_loader.reload if Rage.code_loader.check_updated!
  end
  yield
end