Sha256: bd33a88f6ebce0c09c9deb0329e9e5e6baa6365e038ae788163e932cee26262a

Contents?: true

Size: 781 Bytes

Versions: 12

Compression:

Stored size: 781 Bytes

Contents

module Listen
  module Adapter

    class Base
      include Celluloid

      # The default delay between checking for changes.
      DEFAULT_LATENCY = 0.1

      attr_accessor :listener

      def initialize(listener)
        @listener = listener
      end

      def self.usable?
        raise NotImplementedError
      end

      def start
        raise NotImplementedError
      end

      private

      def _latency
        listener.options[:latency] || DEFAULT_LATENCY
      end

      def _directories_path
        listener.directories.map(&:to_s)
      end

      def _notify_change(path, options)
        sleep 0.01 until listener.registry[:change_pool]
        listener.registry[:change_pool].async.change(path, options) if listener.listen?
      end
    end

  end
end

Version data entries

12 entries across 12 versions & 1 rubygems

Version Path
listen-2.7.4 lib/listen/adapter/base.rb
listen-2.7.3 lib/listen/adapter/base.rb
listen-2.7.2 lib/listen/adapter/base.rb
listen-2.7.1 lib/listen/adapter/base.rb
listen-2.7.0 lib/listen/adapter/base.rb
listen-2.6.2 lib/listen/adapter/base.rb
listen-2.6.1 lib/listen/adapter/base.rb
listen-2.6.0 lib/listen/adapter/base.rb
listen-2.5.0 lib/listen/adapter/base.rb
listen-2.4.1 lib/listen/adapter/base.rb
listen-2.4.0 lib/listen/adapter/base.rb
listen-2.3.1 lib/listen/adapter/base.rb