Sha256: 5ea8f52397d7a286eee488b8e589509fc453bc4519d3fcfe499125818135d716
Contents?: true
Size: 893 Bytes
Versions: 33
Compression:
Stored size: 893 Bytes
Contents
# # Support an email template for an account # class EmailTemplate < Template # # Fields # field :subject, type: String # # Callbacks # before_save :htmlize_template # # Validations # validates :subject, presence: true # # Make sure the template is wrapped in html # def htmlize_template self.template = "<body><pre>#{template}</pre></body>" if template.present? && !template.strip.start_with?('<') end def valid_liquid_template super && Liquid::Template.parse(subject).nil? rescue StandardError => error errors.add(:subject, "Invalid liquid text in subject: #{error.message}") false end # # Copy the default from disk # def self.copy_default(name) template = EmailTemplate.new template.name = name template.template = from_file name template.subject = from_file name, prefix: 'subject' template end end
Version data entries
33 entries across 33 versions & 1 rubygems