diff options
author | Douwe Maan <douwe@gitlab.com> | 2015-11-30 21:14:46 +0100 |
---|---|---|
committer | Douwe Maan <douwe@gitlab.com> | 2015-11-30 21:36:34 +0100 |
commit | d6a5b45c8ea5ec7a68e213636fde405c52bb90e4 (patch) | |
tree | e711cd92c57e20cc7900875017fb93d670537c00 /app/models/concerns/referable.rb | |
parent | a7be01cd07430a4302668224947b2ed135c2d7bb (diff) | |
download | gitlab-ce-d6a5b45c8ea5ec7a68e213636fde405c52bb90e4.tar.gz |
Recognize issue/MR/snippet/commit links as references.
Diffstat (limited to 'app/models/concerns/referable.rb')
-rw-r--r-- | app/models/concerns/referable.rb | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/app/models/concerns/referable.rb b/app/models/concerns/referable.rb index cced66cc1e4..16e4d054869 100644 --- a/app/models/concerns/referable.rb +++ b/app/models/concerns/referable.rb @@ -44,6 +44,25 @@ module Referable def reference_pattern raise NotImplementedError, "#{self} does not implement #{__method__}" end + + def link_reference_pattern(route, pattern) + %r{ + (?<url> + #{Regexp.escape(Gitlab.config.gitlab.url)} + \/#{Project.reference_pattern} + \/#{Regexp.escape(route)} + \/#{pattern} + (?<path> + (\/[a-z0-9_=-]+)* + )? + (?<query> + \?[a-z0-9_=-]+ + (&[a-z0-9_=-]+)* + )? + (?<anchor>\#[a-z0-9_-]+)? + ) + }x + end end private |