Sha256: 8ef0a2a47462f5083ec67dabb86c2f59c7220678ff7b67e831bb93180ed37ffc

Contents?: true

Size: 669 Bytes

Versions: 4

Compression:

Stored size: 669 Bytes

Contents

# HasOneEmailReview
# Allows any model to easily review an email template and make changes to the body

module HasOneEmailReview
  extend ActiveSupport::Concern

  module ActiveRecord
    def has_one_email_review
      include ::HasOneEmailReview
    end
  end

  included do
    attr_accessor :email_review

    validate(if: -> { email_review.present? }) do
      self.errors.add(:base, 'reviewed email is invalid') unless email_review.valid?
    end
  end

  def build_email_review(atts = {})
    self.email_review ||= Effective::EmailReview.build(atts)
  end

  def email_review_attributes=(atts)
    self.email_review = Effective::EmailReview.new(atts)
  end

end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
effective_email_templates-1.0.6 app/models/concerns/has_one_email_review.rb
effective_email_templates-1.0.5 app/models/concerns/has_one_email_review.rb
effective_email_templates-1.0.4 app/models/concerns/has_one_email_review.rb
effective_email_templates-1.0.3 app/models/concerns/has_one_email_review.rb