|
|
@@ -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 |