Sha256: e02f77031d794cc68ade5f3f60872a244d428054efcad45002ff663f4e705d91

Contents?: true

Size: 719 Bytes

Versions: 12

Compression:

Stored size: 719 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)
        Actor[:listen_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.2.0 lib/listen/adapter/base.rb
listen-2.1.2 lib/listen/adapter/base.rb
listen-2.1.1 lib/listen/adapter/base.rb
listen-2.1.0 lib/listen/adapter/base.rb
listen-2.0.4 lib/listen/adapter/base.rb
listen-2.0.3 lib/listen/adapter/base.rb
listen-2.0.2 lib/listen/adapter/base.rb
listen-2.0.1 lib/listen/adapter/base.rb
listen-2.0.0 lib/listen/adapter/base.rb
listen-2.0.0.pre.1 lib/listen/adapter/base.rb
listen-2.0.0.beta.2 lib/listen/adapter/base.rb
listen-2.0.0.beta.1 lib/listen/adapter/base.rb