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