module Sinatra::Reloader::BaseMethods
Contains the methods defined in Sinatra::Base that are overridden.
Public Instance Methods
Source
# File lib/sinatra/reloader.rb, line 320 def add_filter(type, path = nil, **options, &block) source_location = block.respond_to?(:source_location) ? block.source_location.first : caller_files[1] result = super watch_element(source_location, :"#{type}_filter", filters[type].last) result end
Does everything Sinatra::Base#add_filter does, but it also tells the Watcher::List
for the Sinatra
application to watch the defined filter.
Source
# File lib/sinatra/reloader.rb, line 288 def compile!(verb, path, block, **options) source_location = block.respond_to?(:source_location) ? block.source_location.first : caller_files[1] signature = super watch_element( source_location, :route, { verb: verb, signature: signature } ) signature end
Does everything Sinatra::Base#route does, but it also tells the Watcher::List
for the Sinatra
application to watch the defined route.
Note: We are using compile!
so we don’t interfere with extensions changing route.
Source
# File lib/sinatra/reloader.rb, line 331 def error(*codes, &block) path = caller_files[1] || File.expand_path($0) result = super codes.each do |c| watch_element(path, :error, code: c, handler: @errors[c]) end result end
Does everything Sinatra::Base#error does, but it also tells the Watcher::List
for the Sinatra
application to watch the defined error handler.
Source
# File lib/sinatra/reloader.rb, line 352 def inherited(subclass) result = super subclass.register Sinatra::Reloader result end
Does everything Sinatra::Base#register does and then registers the reloader in the subclass
.
Source
# File lib/sinatra/reloader.rb, line 302 def inline_templates=(file = nil) file = (caller_files[1] || File.expand_path($0)) if file.nil? || file == true watch_element(file, :inline_templates) super end
Does everything Sinatra::Base#inline_templates= does, but it also tells the Watcher::List
for the Sinatra
application to watch the inline templates in file
or the file who made the call to this method.
Source
# File lib/sinatra/reloader.rb, line 343 def register(*extensions, &block) start_registering_extension result = super stop_registering_extension result end
Does everything Sinatra::Base#register does, but it also lets the reloader know that an extension is being registered, because the elements defined in its registered
method need a special treatment.
Source
# File lib/sinatra/reloader.rb, line 274 def run!(*args) if settings.reloader? super unless running? else super end end
Protects Sinatra::Base.run! from being called more than once.
Source
# File lib/sinatra/reloader.rb, line 311 def use(middleware, *args, &block) path = caller_files[1] || File.expand_path($0) watch_element(path, :middleware, [middleware, args, block]) super end
Does everything Sinatra::Base#use does, but it also tells the Watcher::List
for the Sinatra
application to watch the middleware being used.