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
List
for the applicationapp
.
Instance Method Summary collapse
-
#ignore(path) ⇒ Object
Tells the
Watcher
for the file located atpath
to ignore the file changes, and adds theWatcher
to theList
, if it isn’t already there. -
#initialize ⇒ List
constructor
Creates a new
List
instance. -
#updated ⇒ Object
Returns an array with all the watchers in the
List
that have been updated. -
#watch(path, element) ⇒ Object
Lets the
Watcher
for the file located atpath
know that theelement
is defined there, and adds theWatcher
to theList
, if it isn’t already there. -
#watcher_for(path) ⇒ Object
(also: #watch_file)
Adds a
Watcher
for the file located atpath
to 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 |