summaryrefslogtreecommitdiff
path: root/app/models/commit.rb
diff options
context:
space:
mode:
authorDmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>2012-04-15 21:01:35 +0300
committerDmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>2012-04-15 21:01:35 +0300
commita7ed8276d7d9448f454f7bbfe8b4a3fb305ae446 (patch)
treeb73b22bc98ae7844183618e43a2221c5a6d659fe /app/models/commit.rb
parent86d7b4f152b806b0f53c801a88b7fba016943a94 (diff)
parentad25dac8b6e7884a333591a6337bd38f3eea0740 (diff)
downloadgitlab-ce-a7ed8276d7d9448f454f7bbfe8b4a3fb305ae446.tar.gz
Merge branch 'nicer_commit_headers' of https://github.com/arthurschreiber/gitlabhq into arthurschreiber-nicer_commit_headers
Diffstat (limited to 'app/models/commit.rb')
-rw-r--r--app/models/commit.rb35
1 files changed, 35 insertions, 0 deletions
diff --git a/app/models/commit.rb b/app/models/commit.rb
index 76064b05670..343235e58af 100644
--- a/app/models/commit.rb
+++ b/app/models/commit.rb
@@ -106,6 +106,41 @@ class Commit
utf8 author.name
end
+ # Returns the commits title.
+ #
+ # Usually, the commit title is the first line of the commit message.
+ # In case this first line is longer than 80 characters, it is cut off
+ # after 70 characters and ellipses (`&hellp;`) are appended.
+ #
+ # @todo This might be better placed in a view helper.
+ def title
+ title_end = safe_message.index(/\n/)
+ if (!title_end && safe_message.length > 80) || (title_end && title_end > 80)
+ safe_message[0..69] << "&hellip;".html_safe
+ else
+ safe_message.split(/\n/, 2).first
+ end
+ end
+
+ # Returns the commits description
+ #
+ # cut off, ellipses (`&hellp;`) are prepended to the commit message.
+ #
+ # @todo This might be better placed in a view helper.
+ def description
+ title_end = safe_message.index(/\n/)
+ if (!title_end && safe_message.length > 80) || (title_end && title_end > 80)
+ "&hellip;".html_safe << safe_message[70..-1]
+ else
+ safe_message.split(/\n/, 2)[1].try(:chomp)
+ end
+ end
+
+ # Was this commit committed by a different person than the original author?
+ def different_committer?
+ author_name != committer_name || author_email != committer_email
+ end
+
def committer_name
utf8 committer.name
end