class Fuey::Reporters::NotificationQueue
Public Class Methods
new(redis)
click to toggle source
# File lib/fuey_client/fuey/reporters/notification_queue.rb, line 7 def initialize(redis) @_redis = redis end
Public Instance Methods
publish_complete(args)
click to toggle source
# File lib/fuey_client/fuey/reporters/notification_queue.rb, line 23 def publish_complete(args) trace = args.first message = { :time => Time.now.strftime("%Y%m%d%H%M%S"), :name => trace.name, :status => trace.status, :status_message => trace.status_message, :steps => trace.steps.map(&:status).map(&:attributes) } @_redis.lpush trace.name.downcase, message.to_json end
publish_new(args)
click to toggle source
# File lib/fuey_client/fuey/reporters/notification_queue.rb, line 35 def publish_new(args) trace_name, statuses = args[0], args[1] message = { :name => trace_name, :status => "executed", :status_message => "", :steps => statuses.map(&:attributes) } @_redis.publish "fuey.trace.new", message.to_json end
publish_update(args)
click to toggle source
# File lib/fuey_client/fuey/reporters/notification_queue.rb, line 16 def publish_update(args) trace_name, statuses = args[0], args[1] status = statuses.first message = [ trace_name, status.attributes ] @_redis.publish "fuey.trace.update", message.to_json end
update(type, *args)
click to toggle source
# File lib/fuey_client/fuey/reporters/notification_queue.rb, line 11 def update(type, *args) self.send("publish_#{type}", args) true end