Welcome to mirror list, hosted at ThFree Co, Russian Federation.

gitlab.com/gitlab-org/gitlab-foss.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorrandx <dmitriy.zaporozhets@gmail.com>2012-07-06 03:16:41 +0400
committerrandx <dmitriy.zaporozhets@gmail.com>2012-07-06 03:16:41 +0400
commit6451e837bf2cf11f8956824329ddde0e14171a8e (patch)
tree6a169eec7e9d50b38b0810c6d5591d3d251a3ea5 /app/decorators
parent0daf53b759dd25bea0b3db880d03cc19abe6e2bb (diff)
Better event feed for dashboard
Diffstat (limited to 'app/decorators')
-rw-r--r--app/decorators/event_decorator.rb25
1 files changed, 25 insertions, 0 deletions
diff --git a/app/decorators/event_decorator.rb b/app/decorators/event_decorator.rb
new file mode 100644
index 00000000000..50aaa615d49
--- /dev/null
+++ b/app/decorators/event_decorator.rb
@@ -0,0 +1,25 @@
+class EventDecorator < ApplicationDecorator
+ decorates :event
+
+ def feed_title
+ if self.issue?
+ "#{self.author_name} #{self.action_name} issue ##{self.target_id}:" + self.issue_title
+ elsif self.merge_request?
+ "#{self.author_name} #{self.action_name} MR ##{self.target_id}:" + self.merge_request_title
+ elsif self.push?
+ "#{self.author_name} #{self.push_action_name} #{self.ref_type} " + self.ref_name
+ else
+ ""
+ end
+ end
+
+ def feed_url
+ if self.issue?
+ h.project_issue_url(self.project, self.issue)
+ elsif self.merge_request?
+ h.project_merge_request_url(self.project, self.merge_request)
+ elsif self.push?
+ h.project_commits_url(self.project, :ref => self.ref_name)
+ end
+ end
+end