Sha256: 18eddf0c0752591ce9c3cc9710bc304c40deb4d6e387a85262b38fe6d07ff227

Contents?: true

Size: 910 Bytes

Versions: 5

Compression:

Stored size: 910 Bytes

Contents

class Email < MLS::Model

  belongs_to :source
  has_many :tasks, :as => :subject, :inverse_of => :subject
  has_and_belongs_to_many :attachments, :class_name => 'Document'

  def from
    if from_name
      "\"#{from_name}\" <#{from_address}>"
    else
      from_address
    end
  end
  
  def name
    from_address || from
  end

  def to
    to_names.zip(to_addresses).map{|t| t[0] ? "\"#{t[0]}\" <#{t[1]}>" : t[1] }.join(', ')
  end
  
  def sender
    headers['Sender']
  end

  def cc
    cc_names.zip(cc_addresses).map{|t| t[0] ? "\"#{t[0]}\" <#{t[1]}>" : t[1] }.join(', ')
  end

  def bcc
    bcc_names.zip(bcc_addresses).map{|t| t[0] ? "\"#{t[0]}\" <#{t[1]}>" : t[1] }.join(', ')
  end

  def reply_to
    reply_to_names.zip(reply_to_addresses).map{|t| t[0] ? "\"#{t[0]}\" <#{t[1]}>" : t[1] }.join(', ')
  end
  
  def multipart?
    body.keys.size > 1
  end
  
  def parts
    body.keys
  end

end

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
mls-1.9.0 lib/mls/models/email.rb
mls-1.8.0 lib/mls/models/email.rb
mls-1.7.0 lib/mls/models/email.rb
mls-1.6.0 lib/mls/models/email.rb
mls-1.5.1 lib/mls/email.rb