diff --git a/app/logical/tag_category.rb b/app/logical/tag_category.rb index efd094c1f..ea3d40b7c 100644 --- a/app/logical/tag_category.rb +++ b/app/logical/tag_category.rb @@ -71,6 +71,10 @@ class TagCategory def short_name_regex @@short_name_regex ||= short_name_list.join("|") end + + def category_ids_regex + @@category_ids_regex ||= "[#{category_ids.join("")}]" + end end extend Mappings diff --git a/app/models/tag.rb b/app/models/tag.rb index e6b3e4b03..aafe59dd2 100644 --- a/app/models/tag.rb +++ b/app/models/tag.rb @@ -87,7 +87,14 @@ class Tag < ApplicationRecord end def value_for(string) - TagCategory.mapping[string.to_s.downcase] || 0 + norm_string = string.to_s.downcase + if norm_string =~ /#{TagCategory.category_ids_regex}/ + norm_string.to_i + elsif TagCategory.mapping[string.to_s.downcase] + TagCategory.mapping[string.to_s.downcase] + else + 0 + end end end