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
97
98
99
|
# File 'lib/sinatra/reloader.rb', line 97
def self.advanced_route_added(route)
FileWatcher.register(route)
end
|
.registered(klass) ⇒ Object
90
91
92
93
94
95
|
# File 'lib/sinatra/reloader.rb', line 90
def self.registered(klass)
klass.register AdvancedRoutes
klass.extend ClassMethods
klass.each_route { |route| advanced_route_added(route) }
klass.before { Reloader.reload_routes }
end
|
.reload_routes(thread_safe = true) ⇒ Object
105
106
107
108
|
# File 'lib/sinatra/reloader.rb', line 105
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
101
102
103
|
# File 'lib/sinatra/reloader.rb', line 101
def self.thread_safe?
Thread and Thread.list.size > 1 and Thread.respond_to? :exclusive
end
|