]> git.cworth.org Git - sup/blobdiff - lib/sup/draft.rb
alias ferret to index in index.rb for cuter console examples
[sup] / lib / sup / draft.rb
index e234c104a5ca31a74cba0bfd4797168d46b123a2..d5d61ee9ea7b6fd401e90fe5ac3a329d8a34b982 100644 (file)
@@ -12,7 +12,7 @@ class DraftManager
 
   def self.source_name; "sup://drafts"; end
   def self.source_id; 9999; end
-  def new_source; @source = DraftLoader.new; end
+  def new_source; @source = Recoverable.new DraftLoader.new; end
 
   def write_draft
     offset = @source.gen_offset
@@ -22,7 +22,7 @@ class DraftManager
     my_message = nil
     @source.each do |thisoffset, theselabels|
       m = Message.new :source => @source, :source_info => thisoffset, :labels => theselabels
-      Index.add_message m
+      Index.sync_message m
       UpdateManager.relay self, :add, m
       my_message = m if thisoffset == offset
     end
@@ -42,6 +42,7 @@ end
 
 class DraftLoader < Source
   attr_accessor :dir
+  yaml_properties :cur_offset
 
   def initialize cur_offset=0
     dir = Redwood::DRAFT_DIR
@@ -98,12 +99,8 @@ class DraftLoader < Source
     ret
   end
 
-  def raw_full_message offset
-    ret = ""
-    File.open fn_for_offset(offset) do |f|
-      ret += l until f.eof?
-    end
-    ret
+  def raw_message offset
+    IO.readlines(fn_for_offset(offset)).join
   end
 
   def start_offset; 0; end
@@ -119,6 +116,4 @@ private
   end
 end
 
-Redwood::register_yaml(DraftLoader, %w(cur_offset))
-
 end