7 attr_reader :source_uri
9 def initialize source_uri
11 @source_uri = source_uri
12 self.class.i_am_the_instance self
13 Redwood::log "SentManager intialized with source uri: #@source_uri"
16 def source_id; @source.id; end
19 raise FatalSourceError.new("Configured sent_source [#{s.uri}] can't store mail. Correct your configuration.") unless s.respond_to? :store_message
25 @source = Recoverable.new SentLoader.new
26 Redwood::log "SentManager initializing default source: #@source."
27 @source_uri = @source.uri
31 def write_sent_message date, from_email, &block
32 @source.store_message date, from_email, &block
34 PollManager.add_messages_from(@source) do |m, o, e|
35 m.remove_label :unread
41 class SentLoader < MBox::Loader
42 yaml_properties :cur_offset
44 def initialize cur_offset=0
45 @filename = Redwood::SENT_FN
46 File.open(@filename, "w") { } unless File.exists? @filename
47 super "mbox://" + @filename, cur_offset, true, true
50 def file_path; @filename end
52 def to_s; 'sup://sent'; end
53 def uri; 'sup://sent' end
56 def labels; [:inbox]; end