Module: Sinatra::Reloader
- Defined in:
- lib/sinatra/reloader.rb
Defined Under Namespace
Modules: ClassMethods
Classes: FileWatcher
Class Method Summary
collapse
Class Method Details
.advanced_route_added(route) ⇒ Object
109
110
111
|
# File 'lib/sinatra/reloader.rb', line 109
def self.advanced_route_added(route)
FileWatcher.register(route)
end
|
.registered(klass) ⇒ Object
101
102
103
104
105
106
107
|
# File 'lib/sinatra/reloader.rb', line 101
def self.registered(klass)
klass.register AdvancedRoutes
klass.extend ClassMethods
klass.each_route { |route| advanced_route_added(route) }
klass.enable :reload_templates
klass.before { Reloader.reload_routes }
end
|
.reload_routes(thread_safe = true) ⇒ Object
117
118
119
120
|
# File 'lib/sinatra/reloader.rb', line 117
def self.reload_routes(thread_safe = true)
return Thread.exclusive { reload_routes(false) } if thread_safe and thread_safe?
FileWatcher.each { |file| file.reload }
end
|
.thread_safe? ⇒ Boolean
113
114
115
|
# File 'lib/sinatra/reloader.rb', line 113
def self.thread_safe?
Thread and Thread.list.size > 1 and Thread.respond_to? :exclusive
end
|