Module: PossibleEmail

Defined in:
lib/possible_email.rb,
lib/possible_email/cli.rb,
lib/possible_email/error.rb,
lib/possible_email/version.rb,
lib/possible_email/response.rb,
lib/possible_email/permutator.rb,
lib/possible_email/profile/image.rb,
lib/possible_email/profile/phone.rb,
lib/possible_email/profile/profile.rb,
lib/possible_email/response_getter.rb,
lib/possible_email/profile/membership.rb,
lib/possible_email/profile/occupation.rb,
lib/possible_email/rapportive_requester.rb

Defined Under Namespace

Classes: CLI, Image, InvalidEmailFormat, InvalidNameFormat, Membership, Occupation, Permutator, Phone, Profile, RapportiveRequester, Response, ResponseGetter

Constant Summary collapse

VERSION =
"0.0.3"

Class Method Summary collapse

Class Method Details

.assign_instance_variables(first_name, last_name, domain) ⇒ Object



40
41
42
43
44
# File 'lib/possible_email.rb', line 40

def assign_instance_variables(first_name, last_name, domain)
  @first_name = first_name
  @last_name = last_name
  @domain = domain.flatten
end

.find_profile(*emails) ⇒ Object



30
31
32
33
34
35
36
# File 'lib/possible_email.rb', line 30

def find_profile(*emails)
  @emails = emails.flatten

  fail InvalidEmailFormat, "Email arguments were not formatted correctly #{@emails.inspect}" if invalid_emails?

  RapportiveRequester.request(@emails)
end

.invalid_emails?Boolean

Returns:

  • (Boolean)


46
47
48
# File 'lib/possible_email.rb', line 46

def invalid_emails?
  @emails.any? { |email| email !~ EMAIL_REGEX }
end

.search(first_name, last_name, *domain) ⇒ Object



21
22
23
24
25
26
27
28
# File 'lib/possible_email.rb', line 21

def search(first_name, last_name, *domain)
  assign_instance_variables first_name, last_name, domain

  fail InvalidNameFormat, "Name arguments were not formatted correctly #{[@first_name, @last_name, *@domain].inspect}" unless valid_names?

  permutations = Permutator.call(@first_name, @last_name, @domain)
  RapportiveRequester.request(permutations)
end

.valid_names?Boolean

Returns:

  • (Boolean)


50
51
52
53
54
55
# File 'lib/possible_email.rb', line 50

def valid_names?
  valid_domain = @domain.all? { |d| d =~ DOMAIN_REGEX }
  valid_names = [@first_name, @last_name].all? { |n| n =~ NAME_REGEX }

  valid_domain && valid_names
end