Methods

Class Public methods

new(watcher:, &block)

📝 Source code
# File actionview/lib/action_view/cache_expiry.rb, line 33
      def initialize(watcher:, &block)
        @watched_dirs = nil
        @watcher_class = watcher
        @watcher = nil
        @mutex = Mutex.new
        @block = block
      end
🔎 See on GitHub

Instance Public methods

execute_if_updated()

📝 Source code
# File actionview/lib/action_view/cache_expiry.rb, line 41
      def execute_if_updated
        @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, &@block)
            @watcher.execute
          else
            @watcher.execute_if_updated
          end
        end
      end
🔎 See on GitHub