Class: Pousse::RedisDelivery

Inherits:
Object
  • Object
show all
Defined in:
lib/pousse/redis_delivery.rb

Instance Method Summary collapse

Constructor Details

#initialize(values = {}) ⇒ RedisDelivery

Returns a new instance of RedisDelivery.



4
5
6
7
# File 'lib/pousse/redis_delivery.rb', line 4

def initialize values = {}
  configuration = Pousse::configuration
  @redis_config = configuration.redis
end

Instance Method Details

#deliver!(mail) ⇒ Object



9
10
11
12
13
14
15
16
17
18
19
20
21
22
# File 'lib/pousse/redis_delivery.rb', line 9

def deliver!(mail)
  redis = nil
  begin
    redis = Redis.new @redis_config
    mail.to.each do |to|
      redis.publish(to, mail.body.decoded)
    end
  rescue Exception => e
    #TODO: Use a real logguer ??
    puts "NOTIFICATION NOT DELIVERED: #{e.message}"
  ensure
    redis.quit unless redis.nil?
  end
end