class Relax::EventListener

Constants

DEFAULT_LOG_LEVEL

Public Class Methods

callback() click to toggle source
# File lib/relax/event_listener.rb, line 36
def self.callback
  @@callback
end
callback=(cb) click to toggle source
# File lib/relax/event_listener.rb, line 32
def self.callback=(cb)
  @@callback = cb
end
listen!() click to toggle source
# 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) click to toggle source
# 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() click to toggle source
# File lib/relax/event_listener.rb, line 44
def self.logger
  @@logger
end
logger=(logger) click to toggle source
# File lib/relax/event_listener.rb, line 40
def self.logger=(logger)
  @@logger = logger
end
relax_events_queue() click to toggle source
# File lib/relax/event_listener.rb, line 48
def self.relax_events_queue
  ENV['RELAX_EVENTS_QUEUE']
end