class Cerfa < ActiveRecord::Base belongs_to :dossier, touch: true belongs_to :user mount_uploader :content, CerfaUploader validates :content, :file_size => {:maximum => 20.megabytes} after_save :internal_notification, if: Proc.new { !dossier.nil? } def empty? content.blank? end def content_url unless content.url.nil? if Features.remote_storage (RemoteDownloader.new content.filename).url else (LocalDownloader.new content.path, 'CERFA').url end end end private def internal_notification unless dossier.state == 'brouillon' NotificationService.new('cerfa', self.dossier.id).notify end end end