Edited at

Sinatra::Reloader がファイルをリロードするタイミングにフックする

More than 5 years have passed since last update.

なんでこんなことをやりたかったか忘れたが書いたのでメモっておく。


app.rb

require 'sinatra'

require 'sinatra/reloader' if development?

module Sinatra
module Reloader
module WatcherExt
def updated
updated_files = super
do_something unless updated_files.empty?
updated_files
end

def do_something
# Do whatever you want.
end
end
end
end

if Sinatra::Reloader::const_defined?('Watcher')
klass = Sinatra::Reloader::const_get('Watcher')
klass.prepend(Sinatra::Reloader::WatcherExt)
end

get '/' do
...
end