Class: Relax::EventListener
Constant Summary collapse
- DEFAULT_LOG_LEVEL =
'info'- @@callback =
nil- @@logger =
nil
Class Method Summary collapse
- .callback ⇒ Object
- .callback=(cb) ⇒ Object
- .listen! ⇒ Object
- .log(text, level = DEFAULT_LOG_LEVEL) ⇒ Object
- .logger ⇒ Object
- .logger=(logger) ⇒ Object
- .relax_events_queue ⇒ Object
Methods inherited from Base
Class Method Details
.callback ⇒ Object
36 37 38 |
# File 'lib/relax/event_listener.rb', line 36 def self.callback @@callback end |
.callback=(cb) ⇒ Object
32 33 34 |
# File 'lib/relax/event_listener.rb', line 32 def self.callback=(cb) @@callback = cb end |
.listen! ⇒ Object
10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 |
# File 'lib/relax/event_listener.rb', line 10 def self.listen! if relax_events_queue.nil? || relax_events_queue == "" raise EventsQueueNotSetError, "Environment Variable RELAX_EVENTS_QUEUE is not set" end self.log("Listening for Relax Events...") while true do queue_name, event_json = redis.with { |c| c.blpop(relax_events_queue) } if queue_name == relax_events_queue event = Event.new(JSON.parse(event_json)) callback.call(event) if callback end end end |
.log(text, level = DEFAULT_LOG_LEVEL) ⇒ Object
27 28 29 30 |
# File 'lib/relax/event_listener.rb', line 27 def self.log(text, level = DEFAULT_LOG_LEVEL) return if logger.nil? logger.send(level, "#{Time.now.strftime('%FT%T%z')}: #{text}") end |
.logger ⇒ Object
44 45 46 |
# File 'lib/relax/event_listener.rb', line 44 def self.logger @@logger end |
.logger=(logger) ⇒ Object
40 41 42 |
# File 'lib/relax/event_listener.rb', line 40 def self.logger=(logger) @@logger = logger end |
.relax_events_queue ⇒ Object
48 49 50 |
# File 'lib/relax/event_listener.rb', line 48 def self.relax_events_queue ENV['RELAX_EVENTS_QUEUE'] end |