module Sinatra::SinareyReloader
Public Class Methods
perform(klass)
click to toggle source
# File lib/sinatra/sinarey_reloader.rb, line 99 def self.perform(klass) updated_sum = 0 Watcher::List.for(klass).updated.each do |watcher| updated_sum += 1 klass.set(:inline_templates, watcher.path) if watcher.inline_templates? watcher.elements.each { |element| klass.deactivate(element) } $LOADED_FEATURES.delete(watcher.path) require watcher.path watcher.update end return updated_sum end
registered(klass)
click to toggle source
# File lib/sinatra/sinarey_reloader.rb, line 79 def self.registered(klass) @reloader_loaded_in ||= {} return if @reloader_loaded_in[klass] @reloader_loaded_in[klass] = true klass.extend BaseMethods klass.extend ExtensionMethods klass.set(:reload_templates) { true } def klass.auto_reload SinareyReloader.perform(settings) end klass.before do SinareyReloader.perform(klass) end klass.set(:inline_templates, klass.app_file) if klass == Sinatra::Application end
thread_safe?()
click to toggle source
# File lib/sinatra/sinarey_reloader.rb, line 114 def self.thread_safe? Thread and Thread.list.size > 1 and Thread.respond_to?(:exclusive) end