Class: ActiveSupport::FileWatcher
- Defined in:
- lib/active_support/file_watcher.rb
Defined Under Namespace
Classes: Backend
Instance Method Summary collapse
-
#initialize ⇒ FileWatcher
constructor
A new instance of FileWatcher.
- #trigger(files) ⇒ Object
- #watch(pattern, &block) ⇒ Object
Constructor Details
#initialize ⇒ FileWatcher
Returns a new instance of FileWatcher.
14 15 16 |
# File 'lib/active_support/file_watcher.rb', line 14 def initialize @regex_matchers = {} end |
Instance Method Details
#trigger(files) ⇒ Object
22 23 24 25 26 27 28 29 30 31 32 33 34 |
# File 'lib/active_support/file_watcher.rb', line 22 def trigger(files) trigger_files = Hash.new { |h,k| h[k] = Hash.new { |h2,k2| h2[k2] = [] } } files.each do |file, state| @regex_matchers.each do |pattern, block| trigger_files[block][state] << file if pattern === file end end trigger_files.each do |block, payload| block.call payload end end |
#watch(pattern, &block) ⇒ Object
18 19 20 |
# File 'lib/active_support/file_watcher.rb', line 18 def watch(pattern, &block) @regex_matchers[pattern] = block end |