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

Methods

Constants

DEFAULT_TO_RELATIVE_PATHS = false   The default value for using relative paths in the callback.

Attributes

adapter  [R] 
directory  [R] 
directory_record  [R] 

Public Class methods

Initializes the directory listener.

@param [String] directory the directory 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

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

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)

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 of 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.

@param [Boolean] blocking whether or not to block the current thread after starting

Stops the listener.

Unpauses the listener.

@return [Listen::Listener] the listener

[Validate]