Class: Redwood::SentManager

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

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(fn) ⇒ SentManager

Returns a new instance of SentManager.



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

def initialize fn
  @fn = fn
  @source = nil
  self.class.i_am_the_instance self
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

Class Method Details

.source_idObject



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

def self.source_id; 9998; end

.source_nameObject



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

def self.source_name; "sup://sent"; end

Instance Method Details

#new_sourceObject



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

def new_source; @source = Recoverable.new SentLoader.new; end

#write_sent_message(date, from_email) ⇒ Object



17
18
19
20
21
22
23
24
25
26
27
28
29
30
# File 'lib/sup/sent.rb', line 17

def write_sent_message date, from_email
  need_blank = File.exists?(@fn) && !File.zero?(@fn)
  File.open(@fn, "a") do |f|
    f.puts if need_blank
    f.puts "From #{from_email} #{date}"
    yield f
  end

  @source.each do |offset, labels|
    m = Message.new :source => @source, :source_info => offset, :labels => @source.labels
    Index.sync_message m
    UpdateManager.relay self, :add, m
  end
end