lib/listen/event/config.rb
# 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