diff options
author | Robert Speicher <rspeicher@gmail.com> | 2015-05-15 16:07:25 -0400 |
---|---|---|
committer | Robert Speicher <rspeicher@gmail.com> | 2015-05-26 15:49:20 -0400 |
commit | 81a09bc74cb997d3465f98cdcb72cacd413c31cd (patch) | |
tree | f7ad9d862653e2031da8c0de76cc269873323ecf /app/models/label.rb | |
parent | 35853033b9516aeffb6d341589406b00016947c3 (diff) | |
download | gitlab-ce-81a09bc74cb997d3465f98cdcb72cacd413c31cd.tar.gz |
Support only double quotes for multi-word label references
Diffstat (limited to 'app/models/label.rb')
-rw-r--r-- | app/models/label.rb | 10 |
1 files changed, 4 insertions, 6 deletions
diff --git a/app/models/label.rb b/app/models/label.rb index 8980049cef8..230631b5180 100644 --- a/app/models/label.rb +++ b/app/models/label.rb @@ -41,16 +41,14 @@ 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_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 + [A-Za-z0-9_-]+ | # String-based single-word label title, or + "[^&\?,]+" # String-based multi-word label surrounded in quotes ) ) }x @@ -70,7 +68,7 @@ class Label < ActiveRecord::Base # # Returns a String def to_reference(format = :id) - if format == :name + if format == :name && !name.include?('"') %(#{self.class.reference_prefix}"#{name}") else "#{self.class.reference_prefix}#{id}" |