class PredictEmail::PredictEmail

Public Instance Methods

emails_to_string(emails) click to toggle source
# File lib/predict_email/predict_email.rb, line 20
def emails_to_string(emails)
  emails.join(", ").gsub(", ", " OR ")
end
first_initial_dot_last_initial(name,company) click to toggle source
# File lib/predict_email/predict_email.rb, line 43
def first_initial_dot_last_initial(name,company)
  first, last = split_name(name)
  "#{first[0]}.#{last[0]}@#{company}"
end
first_initial_dot_last_name(name, company) click to toggle source
# File lib/predict_email/predict_email.rb, line 38
def first_initial_dot_last_name(name, company)
  first, last = split_name(name)
  "#{first[0]}.#{last}@#{company}"
end
first_name_dot_last_initial(name, company) click to toggle source
# File lib/predict_email/predict_email.rb, line 33
def first_name_dot_last_initial(name, company)
  first, last = split_name(name)
  "#{first}.#{last[0]}@#{company}"
end
first_name_dot_last_name(name, company) click to toggle source
# File lib/predict_email/predict_email.rb, line 28
def first_name_dot_last_name(name, company)
  first, last = split_name(name)
  "#{first}.#{last}@#{company}"
end
patterns_to_string(patterns) click to toggle source
# File lib/predict_email/predict_email.rb, line 16
def patterns_to_string(patterns)
  patterns.join(", ")
end
pluralize_pattern(patterns) click to toggle source
# File lib/predict_email/predict_email.rb, line 48
def pluralize_pattern(patterns)
  patterns.size > 1 ? 'patterns' : 'pattern'
end
predict_email(name, company) click to toggle source
# File lib/predict_email/predict_email.rb, line 6
def predict_email(name, company)
  patterns = FindPattern.new.find_patterns(company)
  if patterns.first 
    emails = patterns.map {|pat| self.send(pat.to_sym, name, company)}
    "#{company} uses #{patterns.size} email #{pluralize_pattern(patterns)}: #{patterns_to_string(patterns)}. We predict #{name}'s email to be: #{emails_to_string(emails)}."
  else 
    "Sorry, we can't predict the email for this person."
  end 
end
split_name(name) click to toggle source
# File lib/predict_email/predict_email.rb, line 24
def split_name(name)
  name.downcase.split(" ")
end