]> git.cworth.org Git - sup/blobdiff - lib/sup/index.rb
i guess range doesn't have a #size method
[sup] / lib / sup / index.rb
index 5d1a7b3c5ce0fba905ec9073552d501648b68ba3..19d4ed6a515d3f57e8cf0ce4548243676d2924cf 100644 (file)
@@ -30,6 +30,7 @@ class Index
   end
 
   def save
+    Redwood::log "saving index and sources..."
     FileUtils.mkdir_p @dir unless File.exists? @dir
     save_sources
     save_index
@@ -271,6 +272,12 @@ class Index
     contacts.keys.compact
   end
 
+  def load_sources fn=Redwood::SOURCE_FN
+    source_array = (Redwood::load_yaml_obj(fn) || []).map { |o| Recoverable.new o }
+    @sources = Hash[*(source_array).map { |s| [s.id, s] }.flatten]
+    @sources_dirty = false
+  end
+
 protected
 
   def parse_user_query_string str; @qparser.parse str; end
@@ -294,11 +301,6 @@ protected
     query
   end
 
-  def load_sources fn=Redwood::SOURCE_FN
-    @sources = Hash[*(Redwood::load_yaml_obj(fn) || []).map { |s| [s.id, s] }.flatten]
-    @sources_dirty = false
-  end
-
   def save_sources fn=Redwood::SOURCE_FN
     if @sources_dirty || @sources.any? { |id, s| s.dirty? }
       bakfn = fn + ".bak"