]> git.cworth.org Git - sup/commitdiff
even better thread snippets
authorwmorgan <wmorgan@5c8cc53c-5e98-4d25-b20a-d8db53a31250>
Sun, 28 Oct 2007 01:22:16 +0000 (01:22 +0000)
committerwmorgan <wmorgan@5c8cc53c-5e98-4d25-b20a-d8db53a31250>
Sun, 28 Oct 2007 01:22:16 +0000 (01:22 +0000)
git-svn-id: svn://rubyforge.org/var/svn/sup/trunk@635 5c8cc53c-5e98-4d25-b20a-d8db53a31250

lib/sup/thread.rb

index 230fe1066376ad1953c23ae8304f846c4fe445e1..b154ac02925fdf89e67b563b4e2636b1ad1d134d 100644 (file)
@@ -85,7 +85,10 @@ class Thread
   def first; each { |m, *o| return m if m }; nil; end
   def dirty?; any? { |m, *o| m && m.dirty? }; end
   def date; map { |m, *o| m.date if m }.compact.max; end
-  def snippet; sort_by { |m, d, p| -d }.argfind { |m, d, p| m && !m.snippet.empty? && m.snippet } || "" end
+  def snippet
+    last_m, last_stuff = select { |m, *o| m && m.snippet && !m.snippet.empty? }.sort_by { |m, *o| m.date }.last
+    last_m ? last_m.snippet : ""
+  end
   def authors; map { |m, *o| m.from if m }.compact.uniq; end
 
   def apply_label t; each { |m, *o| m && m.add_label(t) }; end