Class: AptControl::CLI::Root::FSListenerFactory

Inherits:
Object
  • Object
show all
Defined in:
lib/apt_control/cli.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(options = {}) ⇒ FSListenerFactory

Returns a new instance of FSListenerFactory.



194
195
196
# File 'lib/apt_control/cli.rb', line 194

def initialize(options={})
  @disable_inotify = options[:disable_inotify]
end

Instance Attribute Details

#disable_inotifyObject (readonly)

Returns the value of attribute disable_inotify.



192
193
194
# File 'lib/apt_control/cli.rb', line 192

def disable_inotify
  @disable_inotify
end

Instance Method Details

#new(dir, pattern, &on_change) ⇒ Object



198
199
200
201
202
203
204
205
206
207
208
209
# File 'lib/apt_control/cli.rb', line 198

def new(dir, pattern, &on_change)
  Listen.to(dir).filter(pattern).tap do |listener|
    if disable_inotify
      listener.force_polling(true)
      listener.polling_fallback_message(false)
    else
      listener.force_adapter(Listen::Adapters::Linux)
    end

    listener.change(&on_change)
  end
end