diff options
author | Dmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com> | 2012-04-15 21:01:35 +0300 |
---|---|---|
committer | Dmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com> | 2012-04-15 21:01:35 +0300 |
commit | a7ed8276d7d9448f454f7bbfe8b4a3fb305ae446 (patch) | |
tree | b73b22bc98ae7844183618e43a2221c5a6d659fe /app/models/commit.rb | |
parent | 86d7b4f152b806b0f53c801a88b7fba016943a94 (diff) | |
parent | ad25dac8b6e7884a333591a6337bd38f3eea0740 (diff) | |
download | gitlab-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.rb | 35 |
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] << "…".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) + "…".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 |