class Ppl::Service::EmailAddress

Attributes

storage[W]

Public Instance Methods

add(contact, address, options) click to toggle source
# File lib/ppl/service/email_address.rb, line 5
def add(contact, address, options)
  email_address = Ppl::Entity::EmailAddress.new(address)
  contact.email_addresses << email_address
  update_email_address(contact, email_address, options)
  @storage.save_contact(contact)
end
remove(contact, address) click to toggle source
# File lib/ppl/service/email_address.rb, line 18
def remove(contact, address)
  contact.email_addresses.select! do |email_address|
    email_address.address != address
  end
  @storage.save_contact(contact)
end
update(contact, address, options) click to toggle source
# File lib/ppl/service/email_address.rb, line 12
def update(contact, address, options)
  email_address = contact.email_addresses.find { |e| e.address == address }
  update_email_address(contact, email_address, options)
  @storage.save_contact(contact)
end

Private Instance Methods

update_email_address(contact, email_address, options) click to toggle source
# File lib/ppl/service/email_address.rb, line 27
def update_email_address(contact, email_address, options)
  if options[:preferred] == true
    contact.email_addresses.each { |e| e.preferred = (e.address == email_address.address) }
  elsif options[:preferred] == false
    email_address.preferred = false
  end
end