Sha256: be3a7857a33ee0480cbee10c195a025386322b3f744f50099f9c73db1b2a3054
Contents?: true
Size: 909 Bytes
Versions: 54
Compression:
Stored size: 909 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 if template.present? && !template.strip.start_with?("<") self.template = "<body><pre>#{template}</pre></body>" end end def valid_liquid_template super && Liquid::Template.parse(self.subject).nil? rescue Exception => error self.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
54 entries across 54 versions & 1 rubygems