0
0
Fork 0

Make custom emoji domains case insensitive #9351 (#9474)

* Make custom emoji domains case sensitive #9351

* Fixup style in downcase_domain to comply with codeclimate.

* switch if! to unless

* Don't use transactions, operate in batches.

Also revert spurious schema change.
This commit is contained in:
Adam Copp 2018-12-11 04:30:57 +00:00 committed by Eugen Rochko
parent dbb1ee269f
commit 7d00e4edbd
5 changed files with 24 additions and 2 deletions

View file

@ -31,6 +31,8 @@ class CustomEmoji < ApplicationRecord
has_attached_file :image, styles: { static: { format: 'png', convert_options: '-coalesce -strip' } }
before_validation :downcase_domain
validates_attachment :image, content_type: { content_type: 'image/png' }, presence: true, size: { less_than: LIMIT }
validates :shortcode, uniqueness: { scope: :domain }, format: { with: /\A#{SHORTCODE_RE_FRAGMENT}\z/ }, length: { minimum: 2 }
@ -73,4 +75,8 @@ class CustomEmoji < ApplicationRecord
def remove_entity_cache
Rails.cache.delete(EntityCache.instance.to_key(:emoji, shortcode, domain))
end
def downcase_domain
self.domain = domain.downcase unless domain.nil?
end
end