aboutsummaryrefslogtreecommitdiffstats
path: root/lib/mail_handler/backends/mail_backend.rb
diff options
context:
space:
mode:
authorLouise Crow <louise.crow@gmail.com>2012-12-03 18:53:50 +0000
committerLouise Crow <louise.crow@gmail.com>2012-12-03 19:03:19 +0000
commit30dd01f931ae3dea9a56812387bfea2544818e31 (patch)
tree4a5ba6dfef3e64994824727a07e6fa41332cbb08 /lib/mail_handler/backends/mail_backend.rb
parent9a8ae037e904a47817e5469f03146195d22016b9 (diff)
Get name and address specs to pass under Ruby 1.9
Diffstat (limited to 'lib/mail_handler/backends/mail_backend.rb')
-rw-r--r--lib/mail_handler/backends/mail_backend.rb31
1 files changed, 26 insertions, 5 deletions
diff --git a/lib/mail_handler/backends/mail_backend.rb b/lib/mail_handler/backends/mail_backend.rb
index 6f965172b..4a8bd446c 100644
--- a/lib/mail_handler/backends/mail_backend.rb
+++ b/lib/mail_handler/backends/mail_backend.rb
@@ -36,9 +36,14 @@ module MailHandler
# Return the first from field if any
def first_from(mail)
- if mail[:from] && mail[:from].addrs[0]
- mail[:from].decoded
- mail[:from].addrs[0]
+ if mail[:from]
+ begin
+ mail[:from].addrs[0]
+ mail[:from].decoded
+ return mail[:from].addrs[0]
+ rescue
+ return mail[:from].value
+ end
else
nil
end
@@ -47,13 +52,29 @@ module MailHandler
# Return the first from address if any
def get_from_address(mail)
first_from = first_from(mail)
- first_from ? first_from.address : nil
+ if first_from
+ if first_from.is_a?(String)
+ return nil
+ else
+ return first_from.address
+ end
+ else
+ return nil
+ end
end
# Return the first from name if any
def get_from_name(mail)
first_from = first_from(mail)
- first_from ? first_from.name : nil
+ if first_from
+ if first_from.is_a?(String)
+ return nil
+ else
+ return first_from.name
+ end
+ else
+ return nil
+ end
end
# Format