diff options
author | Douwe Maan <douwe@gitlab.com> | 2018-10-30 23:44:03 +0300 |
---|---|---|
committer | Douwe Maan <douwe@gitlab.com> | 2018-10-30 23:44:03 +0300 |
commit | 571e651b21c7a618b8686a4b3f8a8c09c87a37f5 (patch) | |
tree | 168c177b68440043ffa08ce282b894cab5728148 /app/models | |
parent | 7bcd0dc19bfd31e79d52ae148d3edf15b054cb5a (diff) | |
parent | 0fa5260f1d1e99bcd0429cba09140c039a3d9d5a (diff) |
Merge branch 'add-language-param-to-highlight' into 'master'
Add language param to highlight
See merge request gitlab-org/gitlab-ce!21584
Diffstat (limited to 'app/models')
-rw-r--r-- | app/models/blob.rb | 11 | ||||
-rw-r--r-- | app/models/concerns/blob_language_from_git_attributes.rb | 13 |
2 files changed, 17 insertions, 7 deletions
diff --git a/app/models/blob.rb b/app/models/blob.rb index 31a839274b5..4f310e70f4f 100644 --- a/app/models/blob.rb +++ b/app/models/blob.rb @@ -1,12 +1,13 @@ # frozen_string_literal: true -# Blob is a Rails-specific wrapper around Gitlab::Git::Blob objects +# Blob is a Rails-specific wrapper around Gitlab::Git::Blob, SnippetBlob and Ci::ArtifactBlob class Blob < SimpleDelegator + include Presentable + include BlobLanguageFromGitAttributes + CACHE_TIME = 60 # Cache raw blobs referred to by a (mutable) ref for 1 minute CACHE_TIME_IMMUTABLE = 3600 # Cache blobs referred to by an immutable reference for 1 hour - MAXIMUM_TEXT_HIGHLIGHT_SIZE = 1.megabyte - # Finding a viewer for a blob happens based only on extension and whether the # blob is binary or text, which means 1 blob should only be matched by 1 viewer, # and the order of these viewers doesn't really matter. @@ -121,10 +122,6 @@ class Blob < SimpleDelegator end end - def no_highlighting? - raw_size && raw_size > MAXIMUM_TEXT_HIGHLIGHT_SIZE - end - def empty? raw_size == 0 end diff --git a/app/models/concerns/blob_language_from_git_attributes.rb b/app/models/concerns/blob_language_from_git_attributes.rb new file mode 100644 index 00000000000..70213d22147 --- /dev/null +++ b/app/models/concerns/blob_language_from_git_attributes.rb @@ -0,0 +1,13 @@ +# frozen_string_literal: true + +# Applicable for blob classes with project attribute +module BlobLanguageFromGitAttributes + extend ActiveSupport::Concern + + def language_from_gitattributes + return nil unless project + + repository = project.repository + repository.gitattribute(path, 'gitlab-language') + end +end |