Sha256: 5a81f1ea157d6af6f37a591b73e91ba071c3316b45cc2e28ede08bf4cd76c0df

Contents?: true

Size: 812 Bytes

Versions: 5

Compression:

Stored size: 812 Bytes

Contents

# 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 timestamp
        Time.now.to_f
      end

      def callable?
        @block
      end

      def optimize_changes(changes)
        @queue_optimizer.smoosh_changes(changes)
      end
    end
  end
end

Version data entries

5 entries across 5 versions & 2 rubygems

Version Path
vagrant-unbundled-2.2.16.0 vendor/bundle/ruby/2.7.0/gems/listen-3.3.3/lib/listen/event/config.rb
listen-3.3.4 lib/listen/event/config.rb
vagrant-unbundled-2.2.14.0 vendor/bundle/ruby/2.7.0/gems/listen-3.3.3/lib/listen/event/config.rb
listen-3.3.3 lib/listen/event/config.rb
listen-3.3.2 lib/listen/event/config.rb