Sha256: 1708255760eff291773caa9498040d04881985088687b1a595220cdb9d0d7bba

Contents?: true

Size: 1018 Bytes

Versions: 7

Compression:

Stored size: 1018 Bytes

Contents

#--
# Copyright (c) 2012 by Mike Mondragon (mikemondragon@gmail.com)
#
# Please see the LICENSE file for licensing information.
#++

class Mail::Message

    ##
    # Generically determines the mime-type of a message used in mms2r processing.
    # Guarantees a type is returned.

    def part_type?
      if self.content_type
        self.content_type.split(';').first.downcase
      else
        'text/plain'
      end
    end

    ##
    # override #filename to account for the true filename in the content_type
    # returns foo.jpg #content_type is 'image/jpeg; filename="foo.jpg"; name="foo.jpg"'
    # returns foo.jpg #content_type is 'image/jpeg;Name=foo.jpg'

    def filename
      if self.content_type && names = Hash[self.content_type.split(';').map{|t| t.strip.split('=')}]
        if name = names.detect{|key,val| key.downcase == 'filename'} || names.detect{|key,val| key.downcase == 'name'}
          return (name.last.match(/^"?(.+?)"?$/))[1]
        end
      end

      find_attachment
    end


end

Version data entries

7 entries across 7 versions & 1 rubygems

Version Path
mms2r-3.9.2 lib/ext/mail.rb
mms2r-3.9.1 lib/ext/mail.rb
mms2r-3.9.0 lib/ext/mail.rb
mms2r-3.8.2 lib/ext/mail.rb
mms2r-3.8.1 lib/ext/mail.rb
mms2r-3.8.0 lib/ext/mail.rb
mms2r-3.7.1 lib/ext/mail.rb