diff options
author | David Heinemeier Hansson <david@loudthinking.com> | 2018-09-28 12:19:43 -0700 |
---|---|---|
committer | David Heinemeier Hansson <david@loudthinking.com> | 2018-09-28 12:19:43 -0700 |
commit | 8a0a1034955544ee2e4c1f85317c0db84f3aa55b (patch) | |
tree | 1e00acdce252b2ce505ff2e8f9f5acd4ba19bbeb /app/models/action_mailbox/inbound_email.rb | |
parent | 5ad0813322820a6c42d7b3074531ac40108bfb69 (diff) | |
download | rails-8a0a1034955544ee2e4c1f85317c0db84f3aa55b.tar.gz rails-8a0a1034955544ee2e4c1f85317c0db84f3aa55b.tar.bz2 rails-8a0a1034955544ee2e4c1f85317c0db84f3aa55b.zip |
ActionMailroom -> ActionMailbox
We didn't end up using the mailroom metaphor directly, so let's stick with a more conventional naming strategy.
Diffstat (limited to 'app/models/action_mailbox/inbound_email.rb')
-rw-r--r-- | app/models/action_mailbox/inbound_email.rb | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/app/models/action_mailbox/inbound_email.rb b/app/models/action_mailbox/inbound_email.rb new file mode 100644 index 0000000000..f2589d7429 --- /dev/null +++ b/app/models/action_mailbox/inbound_email.rb @@ -0,0 +1,22 @@ +require "mail" + +class ActionMailbox::InboundEmail < ActiveRecord::Base + self.table_name = "action_mailbox_inbound_emails" + + include Incineratable, MessageId, Routable + + has_one_attached :raw_email + enum status: %i[ pending processing delivered failed bounced ] + + def self.mail_from_source(source) + Mail.new Mail::Utilities.binary_unsafe_to_crlf(source.to_s) + end + + def mail + @mail ||= self.class.mail_from_source(source) + end + + def source + @source ||= raw_email.download + end +end |