Module: Sinatra::Reloader::ExtensionMethods

Defined in:
lib/sinatra/reloader.rb

Overview

Contains the methods that the extension adds to the Sinatra application.

Instance Method Summary collapse

Instance Method Details

#also_reload(glob) ⇒ Object

Indicates with a glob which files should be reloaded if they have been modified. It can be called several times.



336
337
338
# File 'lib/sinatra/reloader.rb', line 336

def also_reload(glob)
  Dir[glob].each { |path| Watcher::List.for(self).watch_file(path) }
end

#deactivate(element) ⇒ Object

Removes the element from the Sinatra application.



315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
# File 'lib/sinatra/reloader.rb', line 315

def deactivate(element)
  case element.type
  when :route then
    verb      = element.representation[:verb]
    signature = element.representation[:signature]
    (routes[verb] ||= []).delete(signature)
  when :middleware then
    @middleware.delete(element.representation)
  when :before_filter then
    filters[:before].delete(element.representation)
  when :after_filter then
    filters[:after].delete(element.representation)
  when :error then
    code    = element.representation[:code]
    handler = element.representation[:handler]
    @errors.delete(code) if @errors[code] == handler
  end
end

#dont_reload(glob) ⇒ Object

Indicates with a glob which files should not be reloaded even if they have been modified. It can be called several times.



342
343
344
# File 'lib/sinatra/reloader.rb', line 342

def dont_reload(glob)
  Dir[glob].each { |path| Watcher::List.for(self).ignore(path) }
end