diff options
author | Z.J. van de Weg <git@zjvandeweg.nl> | 2016-11-21 22:27:51 +0100 |
---|---|---|
committer | Z.J. van de Weg <git@zjvandeweg.nl> | 2016-11-21 22:27:51 +0100 |
commit | cddd55bd889f7719bc9de95bcdc46b0bc16fed9b (patch) | |
tree | 4d2b78a7e0c127c51c9fc5ef0cea9bcb04ea9157 | |
parent | 28f67a5d860ddad73abf71effc0f50c6b698c240 (diff) | |
download | gitlab-ce-cddd55bd889f7719bc9de95bcdc46b0bc16fed9b.tar.gz |
Truncate long messages
A poor mans truncator, so I don't have a heavy module to mixin.
-rw-r--r-- | lib/mattermost/presenter.rb | 16 |
1 files changed, 12 insertions, 4 deletions
diff --git a/lib/mattermost/presenter.rb b/lib/mattermost/presenter.rb index bfbb089eb02..39df73b73e0 100644 --- a/lib/mattermost/presenter.rb +++ b/lib/mattermost/presenter.rb @@ -53,8 +53,8 @@ module Mattermost def single_resource(resource) return error(resource) if resource.errors.any? || !resource.persisted? - message = "### #{title(resource)}" - message << "\n\n#{resource.description}" if resource.description + message = title(resource) + message << "\n\n#{truncate(resource.description, 128)}" if resource.description in_channel_response(message) end @@ -74,14 +74,14 @@ module Mattermost end def title(resource) - "[#{resource.to_reference} #{resource.title}](#{url(resource)})" + "#### [#{resource.to_reference} #{truncate(resource.title)}](#{url(resource)})" end def header_with_list(header, items) message = [header] items.each do |item| - message << "- #{item}" + message << "- #{truncate(item)}" end message.join("\n") @@ -112,6 +112,14 @@ module Mattermost status: 200 } end + + def truncate(string, length = 32) + if string.length > length + string[0..length].rstrip + '...' + else + string + end + end end end end |