@ -31,6 +31,8 @@ class CustomEmoji < ApplicationRecord
has_attached_file :image , styles : { static : { format : 'png' , convert_options : '-coalesce -strip' } }
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_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 }
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
def remove_entity_cache
Rails . cache . delete ( EntityCache . instance . to_key ( :emoji , shortcode , domain ) )
Rails . cache . delete ( EntityCache . instance . to_key ( :emoji , shortcode , domain ) )
end
end
def downcase_domain
self . domain = domain . downcase unless domain . nil?
end
end
end