# File lib/sup/draft.rb, line 7 def initialize dir @dir = dir @source = nil end
# File lib/sup/draft.rb, line 13 def self.source_id; 9999; end
# File lib/sup/draft.rb, line 12 def self.source_name; "sup://drafts"; end
# File lib/sup/draft.rb, line 30 def discard m raise ArgumentError, "not a draft: source id #{m.source.id.inspect}, should be #{DraftManager.source_id.inspect} for #{m.id.inspect}" unless m.source.id.to_i == DraftManager.source_id Index.delete m.id File.delete @source.fn_for_offset(m.source_info) UpdateManager.relay self, :single_message_deleted, m end
# File lib/sup/draft.rb, line 14 def new_source; @source = Recoverable.new DraftLoader.new; end
# File lib/sup/draft.rb, line 16 def write_draft offset = @source.gen_offset fn = @source.fn_for_offset offset File.open(fn, "w") { |f| yield f } my_message = nil PollManager.each_message_from(@source) do |m| PollManager.add_new_message m my_message = m end my_message end