class DoorMat::Process::ManageEmail
Public Class Methods
add(email, actor, controller)
click to toggle source
# File lib/door_mat/process/manage_email.rb, line 5 def self.add(email, actor, controller) return false unless email.valid? actor.with_lock do return false unless actor.can_add_email? email email.status = :not_available if DoorMat::Email.count_matching(email.address) > DoorMat::configuration.plausible_deniability_count actor.emails << email DoorMat::ActivityConfirmEmail.for(email, controller) end true end
set_primary(encoded_address, actor)
click to toggle source
# File lib/door_mat/process/manage_email.rb, line 21 def self.set_primary(encoded_address, actor) actor.with_lock do email = actor.email_from_urlsafe_encoded(encoded_address) return false if email.blank? return true if email.primary? return false unless email.confirmed? actor.emails.primary.each do |e| e.confirmed! end email.primary! end true end