diff options
| author | Robert Speicher <rspeicher@gmail.com> | 2015-05-14 16:59:39 -0400 |
|---|---|---|
| committer | Robert Speicher <rspeicher@gmail.com> | 2015-05-26 15:48:32 -0400 |
| commit | b88da58cb6272a86b6df2e4efe392f10e689a6b2 (patch) | |
| tree | 1271524cfe6fa5d733cc847c72b96a19810d06aa /app/models/label.rb | |
| parent | 94af050117df20a661e03055a5002cae90282d6d (diff) | |
| download | gitlab-ce-b88da58cb6272a86b6df2e4efe392f10e689a6b2.tar.gz | |
Add `reference_pattern` to Referable models
Diffstat (limited to 'app/models/label.rb')
| -rw-r--r-- | app/models/label.rb | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/app/models/label.rb b/app/models/label.rb index 013e6bf5978..8980049cef8 100644 --- a/app/models/label.rb +++ b/app/models/label.rb @@ -40,6 +40,22 @@ class Label < ActiveRecord::Base '~' end + # Pattern used to extract label references from text + # + # TODO (rspeicher): Limit to double quotes (meh) or disallow single quotes in label names (bad). + def self.reference_pattern + %r{ + #{reference_prefix} + (?: + (?<label_id>\d+) | # Integer-based label ID, or + (?<label_name> + [A-Za-z0-9_-]+ | # String-based single-word label title + ['"][^&\?,]+['"] # String-based multi-word label surrounded in quotes + ) + ) + }x + end + # Returns the String necessary to reference this Label in Markdown # # format - Symbol format to use (default: :id, optional: :name) |
