Class: Sinatra::Reloader::Watcher::List
- Inherits:
-
Object
- Object
- Sinatra::Reloader::Watcher::List
- Defined in:
- lib/sinatra/reloader.rb
Overview
Collection of file Watcher that can be associated with a Sinatra application. That way, we can know which files belong to a given application and which files have been modified. It also provides a mechanism to inform a Watcher of the elements defined in the file being watched and if its changes should be ignored.
Class Method Summary collapse
-
.for(app) ⇒ Object
Returns the
Listfor the applicationapp.
Instance Method Summary collapse
-
#ignore(path) ⇒ Object
Tells the
Watcherfor the file located atpathto ignore the file changes, and adds theWatcherto theList, if it isn’t already there. -
#initialize ⇒ List
constructor
Creates a new
Listinstance. -
#updated ⇒ Object
Returns an array with all the watchers in the
Listthat have been updated. -
#watch(path, element) ⇒ Object
Lets the
Watcherfor the file located atpathknow that theelementis defined there, and adds theWatcherto theList, if it isn’t already there. -
#watcher_for(path) ⇒ Object
(also: #watch_file)
Adds a
Watcherfor the file located atpathto theList, if it isn’t already there. -
#watchers ⇒ Object
Returns an array with all the watchers in the
List.
Constructor Details
Class Method Details
.for(app) ⇒ Object
Returns the List for the application app.
105 106 107 |
# File 'lib/sinatra/reloader.rb', line 105 def self.for(app) @app_list_map[app] end |
Instance Method Details
#ignore(path) ⇒ Object
Tells the Watcher for the file located at path to ignore the file changes, and adds the Watcher to the List, if it isn’t already there.
126 127 128 |
# File 'lib/sinatra/reloader.rb', line 126 def ignore(path) watcher_for(path).ignore end |
#updated ⇒ Object
Returns an array with all the watchers in the List that have been updated.
144 145 146 |
# File 'lib/sinatra/reloader.rb', line 144 def updated watchers.find_all(&:updated?) end |
#watch(path, element) ⇒ Object
Lets the Watcher for the file located at path know that the element is defined there, and adds the Watcher to the List, if it isn’t already there.
119 120 121 |
# File 'lib/sinatra/reloader.rb', line 119 def watch(path, element) watcher_for(path).elements << element end |
#watcher_for(path) ⇒ Object Also known as: watch_file
Adds a Watcher for the file located at path to the List, if it isn’t already there.
132 133 134 |
# File 'lib/sinatra/reloader.rb', line 132 def watcher_for(path) @path_watcher_map[File.(path)] end |
#watchers ⇒ Object
Returns an array with all the watchers in the List.
138 139 140 |
# File 'lib/sinatra/reloader.rb', line 138 def watchers @path_watcher_map.values end |