diff app/helpers/activities_helper.rb @ 1205:adb5f38f6ab7 cannam

Pick up activity date from various different methods
author Chris Cannam <chris.cannam@soundsoftware.ac.uk>
date Wed, 23 Jan 2013 12:00:09 +0000
parents e19f375f9afa
children 875b5b4c574d
line wrap: on
line diff
--- a/app/helpers/activities_helper.rb	Wed Jan 23 11:47:09 2013 +0000
+++ b/app/helpers/activities_helper.rb	Wed Jan 23 12:00:09 2013 +0000
@@ -1,6 +1,20 @@
 
 module ActivitiesHelper
 
+  def date_of_event(e)
+    if e.respond_to? :updated_at
+      e.updated_at
+    elsif e.respond_to? :updated_on
+      e.updated_on
+    elsif e.respond_to? :created_on
+      e.created_on
+    elsif e.respond_to? :committed_on
+      e.committed_on
+    else
+      nil 
+    end
+  end
+
   def busy_projects(events, count)
 
     # Score each project for which there are any events, by giving
@@ -12,14 +26,16 @@
     events.each do |e|
       if e.respond_to?(:project)
         p = e.project
-        d = if e.respond_to? :updated_at then e.updated_at else e.updated_on end
-        dd = Date.parse d.to_s
-        age = Date.today - dd
-        score = (age < 14 ? 15-age : 1)
-        if projhash.key? p
-          projhash[p] += score
-        else
-          projhash[p] = score
+        d = date_of_event e
+        if !d.nil?
+          dd = Date.parse d.to_s
+          age = Date.today - dd
+          score = (age < 14 ? 15-age : 1)
+          if projhash.key? p
+            projhash[p] += score
+          else
+            projhash[p] = score
+          end
         end
       end
     end