class Redwood::DraftManager

Attributes

source[RW]

Public Class Methods

new(dir) click to toggle source
# File lib/sup/draft.rb, line 7
def initialize dir
  @dir = dir
  @source = nil
end
source_id() click to toggle source
# File lib/sup/draft.rb, line 13
def self.source_id; 9999; end
source_name() click to toggle source
# File lib/sup/draft.rb, line 12
def self.source_name; "sup://drafts"; end

Public Instance Methods

discard(m) click to toggle source
# File lib/sup/draft.rb, line 23
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) rescue Errono::ENOENT
  UpdateManager.relay self, :single_message_deleted, m
end
new_source() click to toggle source
# File lib/sup/draft.rb, line 14
def new_source; @source = DraftLoader.new; end
write_draft() { |f| ... } click to toggle source
# File lib/sup/draft.rb, line 16
def write_draft
  offset = @source.gen_offset
  fn = @source.fn_for_offset offset
  File.open(fn, "w:UTF-8") { |f| yield f }
  PollManager.poll_from @source
end