Module: Adhearsion::Events
- Defined in:
- lib/adhearsion/events.rb
Defined Under Namespace
Class Method Summary collapse
- .clear ⇒ Object
- .draw(&block) ⇒ Object
- .init ⇒ Object
- .method_missing(method_name, *args, &block) ⇒ Object
- .queue ⇒ Object
- .refresh! ⇒ Object
- .respond_to_missing?(method_name, include_private = false) ⇒ Boolean
- .trigger(type, object = nil) ⇒ Object
- .trigger_immediately(type, object = nil) ⇒ Object
Class Method Details
.clear ⇒ Object
81 82 83 84 |
# File 'lib/adhearsion/events.rb', line 81 def clear @queue = nil Handler.instance.clear_handlers end |
.draw(&block) ⇒ Object
58 59 60 |
# File 'lib/adhearsion/events.rb', line 58 def draw(&block) Handler.instance.instance_exec(&block) end |
.init ⇒ Object
70 71 72 73 74 |
# File 'lib/adhearsion/events.rb', line 70 def init size = Adhearsion.config.core.event_threads logger.debug "Initializing event worker pool of size #{size}" @queue = Worker.pool(size: size) end |
.method_missing(method_name, *args, &block) ⇒ Object
42 43 44 |
# File 'lib/adhearsion/events.rb', line 42 def method_missing(method_name, *args, &block) Handler.instance.send method_name, *args, &block end |
.queue ⇒ Object
62 63 64 65 66 67 68 |
# File 'lib/adhearsion/events.rb', line 62 def queue unless @queue && @queue.alive? init end @queue end |
.refresh! ⇒ Object
76 77 78 79 |
# File 'lib/adhearsion/events.rb', line 76 def refresh! clear init end |
.respond_to_missing?(method_name, include_private = false) ⇒ Boolean
46 47 48 |
# File 'lib/adhearsion/events.rb', line 46 def respond_to_missing?(method_name, include_private = false) Handler.instance.respond_to? method_name, include_private end |
.trigger(type, object = nil) ⇒ Object
50 51 52 |
# File 'lib/adhearsion/events.rb', line 50 def trigger(type, object = nil) queue.async.work type, object end |
.trigger_immediately(type, object = nil) ⇒ Object
54 55 56 |
# File 'lib/adhearsion/events.rb', line 54 def trigger_immediately(type, object = nil) queue.work type, object end |