aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorlouise <louise>2009-04-07 14:20:32 +0000
committerlouise <louise>2009-04-07 14:20:32 +0000
commitfc9da28929fc95033c126cc3056d66c1a3255a3a (patch)
treea1ba1e51240424ee5bde91b681972547b1ce864d
parentfae0ff764fc5a418200ed274f2283fd0914491bb (diff)
acts_as_xapian now does not return a result that has no model - will happen due to offline reindexing in xapian
-rw-r--r--vendor/plugins/acts_as_xapian/lib/acts_as_xapian.rb12
1 files changed, 10 insertions, 2 deletions
diff --git a/vendor/plugins/acts_as_xapian/lib/acts_as_xapian.rb b/vendor/plugins/acts_as_xapian/lib/acts_as_xapian.rb
index a6b636bb7..61ccdbead 100644
--- a/vendor/plugins/acts_as_xapian/lib/acts_as_xapian.rb
+++ b/vendor/plugins/acts_as_xapian/lib/acts_as_xapian.rb
@@ -353,8 +353,16 @@ module ActsAsXapian
end
# now get them in right order again
results = []
- docs.each{|doc| k = doc[:data].split('-'); results << { :model => chash[[k[0], k[1].to_i]],
- :percent => doc[:percent], :weight => doc[:weight], :collapse_count => doc[:collapse_count] } }
+ docs.each do |doc|
+ k = doc[:data].split('-')
+ model_instance = chash[[k[0], k[1].to_i]]
+ if model_instance
+ results << { :model => model_instance,
+ :percent => doc[:percent],
+ :weight => doc[:weight],
+ :collapse_count => doc[:collapse_count] }
+ end
+ end
self.cached_results = results
return results
end