Class: VirtualMails::Email
- Inherits:
-
Object
- Object
- VirtualMails::Email
- Includes:
- ActionView::Helpers::TagHelper
- Defined in:
- app/models/virtual_mails/email.rb
Instance Attribute Summary collapse
-
#message ⇒ Object
Returns the value of attribute message.
Class Method Summary collapse
Instance Method Summary collapse
- #body ⇒ Object
- #body_tag ⇒ Object
- #from ⇒ Object
- #id ⇒ Object
-
#initialize(message) ⇒ Email
constructor
A new instance of Email.
- #list_to ⇒ Object
- #raw ⇒ Object
- #to ⇒ Object
Constructor Details
#initialize(message) ⇒ Email
Returns a new instance of Email.
11 12 13 |
# File 'app/models/virtual_mails/email.rb', line 11 def initialize() @message = end |
Instance Attribute Details
#message ⇒ Object
Returns the value of attribute message.
7 8 9 |
# File 'app/models/virtual_mails/email.rb', line 7 def @message end |
Class Method Details
.all ⇒ Object
46 47 48 49 50 |
# File 'app/models/virtual_mails/email.rb', line 46 def self.all VirtualMails::Mailer.cache.fetch(CACHE_KEY) do [] end end |
.clear ⇒ Object
59 60 61 |
# File 'app/models/virtual_mails/email.rb', line 59 def self.clear VirtualMails::Mailer.cache.delete(CACHE_KEY) end |
.find(id) ⇒ Object
52 53 54 55 56 57 |
# File 'app/models/virtual_mails/email.rb', line 52 def self.find(id) mail = all.find { |m| m.id == id } raise ActiveRecord::RecordNotFound if mail.nil? mail end |
Instance Method Details
#body ⇒ Object
34 35 36 |
# File 'app/models/virtual_mails/email.rb', line 34 def body html || plain end |
#body_tag ⇒ Object
38 39 40 |
# File 'app/models/virtual_mails/email.rb', line 38 def body_tag html_tag || plain_tag end |
#from ⇒ Object
19 20 21 |
# File 'app/models/virtual_mails/email.rb', line 19 def from @message.header.fields.find { |f| f.name == 'From' }.value end |
#id ⇒ Object
15 16 17 |
# File 'app/models/virtual_mails/email.rb', line 15 def id @message..split('@')[0] end |
#list_to ⇒ Object
30 31 32 |
# File 'app/models/virtual_mails/email.rb', line 30 def list_to @message.header.fields.find { |f| f.name == 'To' }.value end |
#raw ⇒ Object
42 43 44 |
# File 'app/models/virtual_mails/email.rb', line 42 def raw @message.to_s end |
#to ⇒ Object
23 24 25 26 27 28 |
# File 'app/models/virtual_mails/email.rb', line 23 def to addresses = @message.header.fields.find { |f| f.name == 'To' }.address_list.addresses address = addresses[0].to_s count = addresses.length count > 1 ? address + ", ...#{count - 1} more" : address end |