Method: ActiveSupport::EventedFileUpdateChecker::Core#initialize
- Defined in:
- activesupport/lib/active_support/evented_file_update_checker.rb
#initialize(files, dirs) ⇒ Core
Returns a new instance of Core.
76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 |
# File 'activesupport/lib/active_support/evented_file_update_checker.rb', line 76 def initialize(files, dirs) @files = files.map { |file| Pathname(file). }.to_set @dirs = dirs.each_with_object({}) do |(dir, exts), hash| hash[Pathname(dir).] = Array(exts).map { |ext| ext.to_s.sub(/\A\.?/, ".") }.to_set end @common_path = common_path(@dirs.keys) @dtw = directories_to_watch @missing = [] @updated = Concurrent::AtomicBoolean.new(false) @mutex = Mutex.new start # inotify / FSEvents file descriptors are inherited on fork, so # we need to reopen them otherwise only the parent or the child # will be notified. # FIXME: this callback is keeping a reference on the instance @after_fork = ActiveSupport::ForkTracker.after_fork { start } end |