# frozen_string_literal: true module Listen module Event class Config attr_reader :listener, :event_queue, :min_delay_between_events def initialize( listener, event_queue, queue_optimizer, wait_for_delay, &block ) @listener = listener @event_queue = event_queue @queue_optimizer = queue_optimizer @min_delay_between_events = wait_for_delay @block = block end def sleep(seconds) Kernel.sleep(seconds) end def call(*args) @block&.call(*args) end def callable? @block end def optimize_changes(changes) @queue_optimizer.smoosh_changes(changes) end end end end