Class Listen::Listener
In: lib/listen/listener.rb
Parent: Object

Methods

Constants

BLOCKING_PARAMETER_DEPRECATION_MESSAGE = <<-EOS.gsub(/^\s*/, '') The blocking parameter of Listen::Listener#start is deprecated.\n Please use Listen::Adapter#start for a non-blocking listener and Listen::Listener#start! for a blocking one. EOS .gsub(/^\s*/, '')

Attributes

adapter  [R] 
adapter_options  [R] 
block  [R] 
directories  [R] 
directories_records  [R] 
use_relative_paths  [R] 

Public Class methods

Initializes the directories listener.

@param [String] directory the directories to listen to @param [Hash] options the listen options @option options [Regexp] ignore a pattern for ignoring paths @option options [Regexp] filter a pattern for filtering paths @option options [Float] latency the delay between checking for changes in seconds @option options [Boolean] relative_paths whether or not to use relative-paths in the callback @option options [Boolean] force_polling whether to force the polling adapter or not @option options [String, Boolean] polling_fallback_message to change polling fallback message or remove it

@yield [modified, added, removed] the changed files @yieldparam [Array<String>] modified the list of modified files @yieldparam [Array<String>] added the list of added files @yieldparam [Array<String>] removed the list of removed files

Public Instance methods

Sets the callback that gets called on changes.

@example Assign a callback to be called on changes

  callback = lambda { |modified, added, removed| ... }
  change &callback

@param [Proc] block the callback proc

@return [Listen::Listener] the listener

Adds filtering patterns to the listener.

@param (see Listen::DirectoryRecord#filter)

@return [Listen::Listener] the listener

@see Listen::DirectoryRecord#filter

Replaces filtering patterns in the listener.

@param (see Listen::DirectoryRecord#filter!)

@return [Listen::Listener] the listener

@see Listen::DirectoryRecord#filter!

Sets whether the use of the polling adapter should be forced or not.

@example Forcing the use of the polling adapter

  force_polling true

@param [Boolean] value whether to force the polling adapter or not

@return [Listen::Listener] the listener

Adds ignoring patterns to the listener.

@param (see Listen::DirectoryRecord#ignore)

@return [Listen::Listener] the listener

@see Listen::DirectoryRecord#ignore

Replaces ignoring patterns in the listener.

@param (see Listen::DirectoryRecord#ignore!)

@return [Listen::Listener] the listener

@see Listen::DirectoryRecord#ignore!

Sets the latency for the adapter. This is a helper method to simplify changing the latency directly from the listener.

@example Wait 0.5 seconds each time before checking changes

  latency 0.5

@param [Float] seconds the amount of delay, in seconds

@return [Listen::Listener] the listener

Runs the callback passing it the changes if there are any.

@param (see Listen::DirectoryRecord#fetch_changes)

@see Listen::DirectoryRecord#fetch_changes

Pauses the listener.

@return [Listen::Listener] the listener

Returns whether the listener is paused or not.

@return [Boolean] adapter paused status

Defines a custom polling fallback message or disable it.

@example Disabling the polling fallback message

  polling_fallback_message false

@param [String, Boolean] value to change polling fallback message or remove it

@return [Listen::Listener] the listener

Sets whether the paths in the callback should be relative or absolute.

@example Enabling relative paths in the callback

  relative_paths true

@param [Boolean] value whether to enable relative paths in the callback or not

@return [Listen::Listener] the listener

Starts the listener by initializing the adapter and building the directory record concurrently, then it starts the adapter to watch for changes. The current thread is not blocked after starting.

@see Listen::Listener#start!

Starts the listener by initializing the adapter and building the directory record concurrently, then it starts the adapter to watch for changes. The current thread is blocked after starting.

@see Listen::Listener#start

@since 1.0.0

Stops the listener.

Unpauses the listener.

@return [Listen::Listener] the listener

[Validate]