lib/license_finder/license/text.rb in license_finder-6.14.2 vs lib/license_finder/license/text.rb in license_finder-6.15.0
- old
+ new
@@ -3,10 +3,11 @@
module LicenseFinder
class License
module Text
SPACES = /\s+/.freeze
QUOTES = /['`"]{1,2}/.freeze
+ YEAR_PLACEHOLDERS = /<year>/.freeze
PLACEHOLDERS = /<[^<>]+>/.freeze
SPECIAL_SINGLE_QUOTES = /[‘’]/.freeze
SPECIAL_DOUBLE_QUOTES = /[“”„«»]/.freeze
ALPHABET_ORDERED_LIST = /\\\([a-z]\\\)\\\s/.freeze
ALPHABET_ORDERED_LIST_OPTIONAL = '(\([a-z]\)\s)?'
@@ -30,9 +31,10 @@
text
end
def self.compile_to_regex(text)
Regexp.new(Regexp.escape(normalize_punctuation(text))
+ .gsub(YEAR_PLACEHOLDERS, '(\S*)')
.gsub(PLACEHOLDERS, '(.*)')
.gsub(',', '(,)?')
.gsub('HOLDER', '(HOLDER|OWNER)')
.gsub(ALPHABET_ORDERED_LIST, ALPHABET_ORDERED_LIST_OPTIONAL)
.gsub(LIST_BULLETS, LIST_BULLETS_OPTIONAL))