Class: Listen::Listener
- Includes:
- FSM
- Defined in:
- lib/rubypitaya/app-template/vendor/bundle/ruby/3.1.0/gems/listen-3.8.0/lib/listen/listener.rb,
lib/rubypitaya/app-template/vendor/bundle/ruby/3.1.0/gems/listen-3.8.0/lib/listen/listener/config.rb
Defined Under Namespace
Classes: Config
Instance Attribute Summary
Attributes included from FSM
Instance Method Summary collapse
- #ignore(regexps) ⇒ Object
- #ignore!(regexps) ⇒ Object
-
#initialize(*dirs) {|modified, added, removed| ... } ⇒ Listener
constructor
Initializes the directories listener.
- #only(regexps) ⇒ Object
-
#pause ⇒ Object
Stops invoking callbacks (messages pile up).
- #paused? ⇒ Boolean
-
#processing? ⇒ Boolean
processing means callbacks are called.
-
#start ⇒ Object
Starts processing events and starts adapters or resumes invoking callbacks if paused.
-
#stop ⇒ Object
Stops both listening for events and processing them.
- #stopped? ⇒ Boolean
Methods included from FSM
included, #initialize_fsm, #wait_for_state
Constructor Details
#initialize(*dirs) {|modified, added, removed| ... } ⇒ Listener
Initializes the directories listener.
rubocop:disable Metrics/MethodLength
37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 |
# File 'lib/rubypitaya/app-template/vendor/bundle/ruby/3.1.0/gems/listen-3.8.0/lib/listen/listener.rb', line 37 def initialize(*dirs, &block) = dirs.last.is_a?(Hash) ? dirs.pop : {} @config = Config.new() eq_config = Event::Queue::Config.new(@config.relative?) queue = Event::Queue.new(eq_config) silencer = Silencer.new rules = @config.silencer_rules @silencer_controller = Silencer::Controller.new(silencer, rules) @backend = Backend.new(dirs, queue, silencer, @config) optimizer_config = QueueOptimizer::Config.new(@backend, silencer) pconfig = Event::Config.new( self, queue, QueueOptimizer.new(optimizer_config), @backend.min_delay_between_events, &block) @processor = Event::Loop.new(pconfig) initialize_fsm end |
Instance Method Details
#ignore(regexps) ⇒ Object
124 125 126 |
# File 'lib/rubypitaya/app-template/vendor/bundle/ruby/3.1.0/gems/listen-3.8.0/lib/listen/listener.rb', line 124 def ignore(regexps) @silencer_controller.append_ignores(regexps) end |
#ignore!(regexps) ⇒ Object
128 129 130 |
# File 'lib/rubypitaya/app-template/vendor/bundle/ruby/3.1.0/gems/listen-3.8.0/lib/listen/listener.rb', line 128 def ignore!(regexps) @silencer_controller.replace_with_bang_ignores(regexps) end |
#only(regexps) ⇒ Object
132 133 134 |
# File 'lib/rubypitaya/app-template/vendor/bundle/ruby/3.1.0/gems/listen-3.8.0/lib/listen/listener.rb', line 132 def only(regexps) @silencer_controller.replace_with_only(regexps) end |
#pause ⇒ Object
Stops invoking callbacks (messages pile up)
107 108 109 |
# File 'lib/rubypitaya/app-template/vendor/bundle/ruby/3.1.0/gems/listen-3.8.0/lib/listen/listener.rb', line 107 def pause transition :paused end |
#paused? ⇒ Boolean
116 117 118 |
# File 'lib/rubypitaya/app-template/vendor/bundle/ruby/3.1.0/gems/listen-3.8.0/lib/listen/listener.rb', line 116 def paused? state == :paused end |
#processing? ⇒ Boolean
processing means callbacks are called
112 113 114 |
# File 'lib/rubypitaya/app-template/vendor/bundle/ruby/3.1.0/gems/listen-3.8.0/lib/listen/listener.rb', line 112 def processing? state == :processing_events end |
#start ⇒ Object
Starts processing events and starts adapters or resumes invoking callbacks if paused
89 90 91 92 93 94 95 96 97 98 99 |
# File 'lib/rubypitaya/app-template/vendor/bundle/ruby/3.1.0/gems/listen-3.8.0/lib/listen/listener.rb', line 89 def start case state when :initializing transition :backend_started transition :processing_events when :paused transition :processing_events else raise ArgumentError, "cannot start from state #{state.inspect}" end end |
#stop ⇒ Object
Stops both listening for events and processing them
102 103 104 |
# File 'lib/rubypitaya/app-template/vendor/bundle/ruby/3.1.0/gems/listen-3.8.0/lib/listen/listener.rb', line 102 def stop transition :stopped end |
#stopped? ⇒ Boolean
120 121 122 |
# File 'lib/rubypitaya/app-template/vendor/bundle/ruby/3.1.0/gems/listen-3.8.0/lib/listen/listener.rb', line 120 def stopped? state == :stopped end |