class PossibleEmail::RapportiveRequester

Public Class Methods

new(emails) click to toggle source
# File lib/possible_email/rapportive_requester.rb, line 11
def initialize(emails)
  @emails = emails.flatten
end
request(*emails) click to toggle source
# File lib/possible_email/rapportive_requester.rb, line 7
def self.request(*emails)
  new(emails).request
end

Public Instance Methods

request() click to toggle source
# File lib/possible_email/rapportive_requester.rb, line 15
def request
  email_profiles = accumulate_email_profiles

  puts # newline after ...F... HACK

  response = Response.new(email_profiles)
  response.size == 1 ? response.first : response
end

Private Instance Methods

accumulate_email_profiles() click to toggle source

HACK

# File lib/possible_email/rapportive_requester.rb, line 27
def accumulate_email_profiles
  @emails.reduce([]) do |profiles, email|
    profile = create_profile_for_email(email)
    print profile ? '.' : 'F'
    profiles << profile
  end
end
create_profile_for_email(email) click to toggle source
# File lib/possible_email/rapportive_requester.rb, line 35
def create_profile_for_email(email)
  session_token = ResponseGetter.create_session_token(email)
  return unless session_token

  response = ResponseGetter.retrieve_email_profile_using_session_token(email, session_token)
  return unless response

  Profile.new(response) if useful_response?(response)
end
useful_response?(response) click to toggle source
# File lib/possible_email/rapportive_requester.rb, line 45
def useful_response?(response)
  response['contact'] && response['success'] != 'nothing_useful' && response['status'] != 403
end