Namespace
Class
Methods
Class Public methods
new(watcher:)
📝 Source code
# File actionview/lib/action_view/cache_expiry.rb, line 15
def initialize(watcher:)
@watched_dirs = nil
@watcher_class = watcher
@watcher = nil
@mutex = Mutex.new
end
🔎 See on GitHub
Instance Public methods
clear_cache()
📝 Source code
# File actionview/lib/action_view/cache_expiry.rb, line 39
def clear_cache
ActionView::LookupContext::DetailsKey.clear
end
🔎 See on GitHub
clear_cache_if_necessary()
📝 Source code
# File actionview/lib/action_view/cache_expiry.rb, line 22
def clear_cache_if_necessary
@mutex.synchronize do
watched_dirs = dirs_to_watch
return if watched_dirs.empty?
if watched_dirs != @watched_dirs
@watched_dirs = watched_dirs
@watcher = @watcher_class.new([], watched_dirs) do
clear_cache
end
@watcher.execute
else
@watcher.execute_if_updated
end
end
end
🔎 See on GitHub