Class: Redwood::SentManager

Inherits:
Object show all
Includes:
Singleton
Defined in:
lib/sup/sent.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Methods included from Singleton

included

Constructor Details

#initialize(source_uri) ⇒ SentManager

Returns a new instance of SentManager.



8
9
10
11
# File 'lib/sup/sent.rb', line 8

def initialize source_uri
  @source = nil
  @source_uri = source_uri
end

Instance Attribute Details

#sourceObject

Returns the value of attribute source.



6
7
8
# File 'lib/sup/sent.rb', line 6

def source
  @source
end

#source_uriObject (readonly)

Returns the value of attribute source_uri.



6
7
8
# File 'lib/sup/sent.rb', line 6

def source_uri
  @source_uri
end

Instance Method Details

#default_sourceObject



21
22
23
24
25
# File 'lib/sup/sent.rb', line 21

def default_source
  @source = SentLoader.new
  @source_uri = @source.uri
  @source
end

#source_idObject



13
# File 'lib/sup/sent.rb', line 13

def source_id; @source.id; end

#write_sent_message(date, from_email, &block) ⇒ Object



27
28
29
30
31
32
33
34
35
# File 'lib/sup/sent.rb', line 27

def write_sent_message date, from_email, &block
  ::Thread.new do
    debug "store the sent message (locking sent source..)"
    @source.synchronize do
      @source.store_message date, from_email, &block
    end
    PollManager.poll_from @source
  end
end