Class: DeliveryUncle::EmailRequest
- Inherits:
-
ActiveRecord::Base
- Object
- ActiveRecord::Base
- DeliveryUncle::EmailRequest
- Defined in:
- app/models/delivery_uncle/email_request.rb
Class Method Summary collapse
Instance Method Summary collapse
Class Method Details
.create(mailer, mailer_method, *args) ⇒ Object
7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
# File 'app/models/delivery_uncle/email_request.rb', line 7 def self.create(mailer, mailer_method, *args) mail = mailer.send(mailer_method, *args) raise 'mail with attachment is not supported yet' if mail. request = DeliveryUncle::EmailRequest.new request.mail_body = encode_mail(mail) request.mailer = mailer.to_s request.mailer_method = mailer_method request.status = :new request.mail_type = :deliver request.request_from = (caller[1][/`.*'/][1..-2] rescue nil) request end |
.encode_mail(mail) ⇒ Object
22 23 24 25 26 |
# File 'app/models/delivery_uncle/email_request.rb', line 22 def self.encode_mail(mail) mail.header[:bcc] ? mail.header[:bcc].do_encode('Bcc') << mail.encoded : mail.encoded end |
.mailers ⇒ Object
44 45 46 |
# File 'app/models/delivery_uncle/email_request.rb', line 44 def self.mailers group(:mailer).order('mailer ASC').map(&:mailer) end |
Instance Method Details
#mail ⇒ Object
28 29 30 |
# File 'app/models/delivery_uncle/email_request.rb', line 28 def mail @mail ||= ::Mail.new(mail_body) end |
#paused? ⇒ Boolean
32 33 34 |
# File 'app/models/delivery_uncle/email_request.rb', line 32 def paused? status == :paused || status == 'paused' end |
#save_status!(status) ⇒ Object
40 41 42 |
# File 'app/models/delivery_uncle/email_request.rb', line 40 def save_status!(status) update_attribute(:status,status) end |
#sent? ⇒ Boolean
36 37 38 |
# File 'app/models/delivery_uncle/email_request.rb', line 36 def sent? status == :sent || status == 'sent' end |