class Padrino::Reloader::Rack
This class acts as a Rack
middleware to be added to the application stack. This middleware performs a check and reload for source files at the start of each request, but also respects a specified cool down time during which no further action will be taken.
Public Class Methods
new(app, cooldown=1)
click to toggle source
# File lib/padrino-core/reloader/rack.rb, line 10 def initialize(app, cooldown=1) @app = app @cooldown = cooldown @last = (Time.now - cooldown) @mutex = Mutex.new end
Public Instance Methods
call(env)
click to toggle source
Invoked in order to perform the reload as part of the request stack.
# File lib/padrino-core/reloader/rack.rb, line 18 def call(env) if @cooldown && Time.now > @last + @cooldown @mutex.synchronize do Padrino.reload! end @last = Time.now end @app.call(env) end