Sha256: d092aa529fb9f9a1c8c1e8d9e5e6bb35c876637896dfb32f74bb77ab59904f0b
Contents?: true
Size: 1.38 KB
Versions: 1
Compression:
Stored size: 1.38 KB
Contents
class Email < ActiveRecord::Base validates :to, :presence => true validates :subject, :presence => true validates :body, :presence => true before_create :set_token def to=(value) value = {} unless value.is_a? Hash value.delete("0") return false if value.empty? write_attribute :to, value.inspect end def from MailMethod.current.preferred_mails_from rescue "no-reply@spree-mail-example.com" end def recipients hash = eval(read_attribute(:to)) rescue {} hash.values end def recipient_list recipients.join(", ") end def deliver! count = 0 recipients.each do |email| subscriber = Subscriber.find_by_email(email) rescue nil if subscriber mail = EmailMailer.with_layout(self, subscriber) count += 1 if mail && mail.deliver! end end return 0 < count, count end def render(attribute, subscriber) Mustache.render(self.send(attribute), subscriber.attributes) end private def set_token write_attribute :token, Digest::SHA1.hexdigest(Time.now.to_s) end class << self def new(parameters={}) parameters ||= {} super(parameters.reverse_merge!(:body => template)) end def template txt=<<TXT Hello {{name}}, Regards, #{Spree::Config[:site_name]} TXT end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
spree_mail-0.40.0.3 | app/model/email.rb |