diff options
author | Louise Crow <louise.crow@gmail.com> | 2012-12-03 18:53:50 +0000 |
---|---|---|
committer | Louise Crow <louise.crow@gmail.com> | 2012-12-03 19:03:19 +0000 |
commit | 30dd01f931ae3dea9a56812387bfea2544818e31 (patch) | |
tree | 4a5ba6dfef3e64994824727a07e6fa41332cbb08 /lib/mail_handler/backends/mail_backend.rb | |
parent | 9a8ae037e904a47817e5469f03146195d22016b9 (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.rb | 31 |
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 |