Class: Sinatra::Reloader::Watcher
- Inherits:
-
Object
- Object
- Sinatra::Reloader::Watcher
- Defined in:
- lib/sinatra/reloader.rb
Overview
Watches a file so it can tell when it has been updated, and what elements contains.
Defined Under Namespace
Instance Attribute Summary collapse
-
#elements ⇒ Object
readonly
Returns the value of attribute elements.
-
#mtime ⇒ Object
readonly
Returns the value of attribute mtime.
-
#path ⇒ Object
readonly
Returns the value of attribute path.
Instance Method Summary collapse
-
#ignore ⇒ Object
Informs that the modifications to the file being watched should be ignored.
-
#ignore? ⇒ Boolean
Indicates whether or not the modifications to the file being watched should be ignored.
-
#initialize(path) ⇒ Watcher
constructor
Creates a new
Watcher
instance for the file located atpath
. -
#inline_templates? ⇒ Boolean
Indicates whether or not the file being watched has inline templates.
-
#removed? ⇒ Boolean
Indicates whether or not the file being watched has been removed.
-
#update ⇒ Object
Updates the file being watched mtime.
-
#updated? ⇒ Boolean
Indicates whether or not the file being watched has been modified.
Constructor Details
#initialize(path) ⇒ Watcher
Creates a new Watcher
instance for the file located at path
.
152 153 154 155 |
# File 'lib/sinatra/reloader.rb', line 152 def initialize(path) @path, @elements = path, [] update end |
Instance Attribute Details
#elements ⇒ Object (readonly)
Returns the value of attribute elements.
149 150 151 |
# File 'lib/sinatra/reloader.rb', line 149 def elements @elements end |
#mtime ⇒ Object (readonly)
Returns the value of attribute mtime.
149 150 151 |
# File 'lib/sinatra/reloader.rb', line 149 def mtime @mtime end |
#path ⇒ Object (readonly)
Returns the value of attribute path.
149 150 151 |
# File 'lib/sinatra/reloader.rb', line 149 def path @path end |
Instance Method Details
#ignore ⇒ Object
Informs that the modifications to the file being watched should be ignored.
175 176 177 |
# File 'lib/sinatra/reloader.rb', line 175 def ignore @ignore = true end |
#ignore? ⇒ Boolean
Indicates whether or not the modifications to the file being watched should be ignored.
181 182 183 |
# File 'lib/sinatra/reloader.rb', line 181 def ignore? !!@ignore end |
#inline_templates? ⇒ Boolean
Indicates whether or not the file being watched has inline templates.
169 170 171 |
# File 'lib/sinatra/reloader.rb', line 169 def inline_templates? elements.any? { |element| element.type == :inline_templates } end |
#removed? ⇒ Boolean
Indicates whether or not the file being watched has been removed.
186 187 188 |
# File 'lib/sinatra/reloader.rb', line 186 def removed? !File.exist?(path) end |
#update ⇒ Object
Updates the file being watched mtime.
163 164 165 |
# File 'lib/sinatra/reloader.rb', line 163 def update @mtime = File.mtime(path) end |
#updated? ⇒ Boolean
Indicates whether or not the file being watched has been modified.
158 159 160 |
# File 'lib/sinatra/reloader.rb', line 158 def updated? !ignore? && !removed? && mtime != File.mtime(path) end |