]> git.cworth.org Git - sup/blobdiff - lib/sup/source.rb
yet another sig pattern :(
[sup] / lib / sup / source.rb
index bcdc6e4801a41b4979e8e7422d8dae096f7800ab..50fc16327720a784c1442ab68a0b604d34991e1b 100644 (file)
@@ -31,7 +31,7 @@ class Source
   ## - load_header offset
   ## - load_message offset
   ## - raw_header offset
-  ## - raw_full_message offset
+  ## - raw_message offset
   ## - check
   ## - next (or each, if you prefer): should return a message and an
   ##   array of labels.
@@ -71,12 +71,14 @@ class Source
     @dirty = false
   end
 
+  def file_path; nil end
+
   def to_s; @uri.to_s; end
   def seek_to! o; self.cur_offset = o; end
   def reset!; seek_to! start_offset; end
   def == o; o.uri == uri; end
-  def done?; (self.cur_offset ||= start_offset) >= end_offset; end
-  def is_source_for? uri; URI(self.uri) == URI(uri); end
+  def done?; start_offset.nil? || (self.cur_offset ||= start_offset) >= end_offset; end
+  def is_source_for? uri; uri == @uri; end
 
   ## check should throw a FatalSourceError or an OutOfSyncSourcError
   ## if it can detect a problem. it is called when the sup starts up
@@ -94,6 +96,10 @@ class Source
 
 protected
   
+  def Source.expand_filesystem_uri uri
+    uri.gsub "~", File.expand_path("~")
+  end
+
   def cur_offset= o
     @cur_offset = o
     @dirty = true