module FFaker::Internet

Constants

BYTE
DISPOSABLE_HOSTS
DOMAIN_SUFFIXES
HOSTS
MAC_LIMIT
SAFE_DOMAIN_SUFFIXES
SLUG_DELIMITERS

Public Instance Methods

disposable_email(name = nil) click to toggle source

returns an email address of an online disposable email service (like tempinbox.com). you can really send an email to these addresses an access it by going to the service web pages.

# File lib/ffaker/internet.rb, line 25
def disposable_email(name = nil)
  [user_name(name), fetch_sample(DISPOSABLE_HOSTS)].join('@')
end
domain_name() click to toggle source
# File lib/ffaker/internet.rb, line 45
def domain_name
  [domain_word, domain_suffix].join('.')
end
domain_suffix() click to toggle source
# File lib/ffaker/internet.rb, line 53
def domain_suffix
  fetch_sample(DOMAIN_SUFFIXES)
end
domain_word() click to toggle source
# File lib/ffaker/internet.rb, line 49
def domain_word
  sanitize(Company.name.split(' ').first)
end
email(name = nil) click to toggle source
# File lib/ffaker/internet.rb, line 18
def email(name = nil)
  [user_name(name), domain_name].join('@')
end
free_email(name = nil) click to toggle source
# File lib/ffaker/internet.rb, line 29
def free_email(name = nil)
  [user_name(name), fetch_sample(HOSTS)].join('@')
end
http_url() click to toggle source
# File lib/ffaker/internet.rb, line 61
def http_url
  uri('http')
end
ip_v4_address() click to toggle source
# File lib/ffaker/internet.rb, line 65
def ip_v4_address
  (1..4).map { fetch_sample(BYTE) }.join('.')
end
mac(delimiter = ':') click to toggle source
# File lib/ffaker/internet.rb, line 80
def mac(delimiter = ':')
  rand(0...MAC_LIMIT).to_s(16).rjust(12, '0').scan(/.{2}/).join(delimiter)
end
password(min_length = 8, max_length = 16) click to toggle source
# File lib/ffaker/internet.rb, line 75
def password(min_length = 8, max_length = 16)
  length = min_length > max_length ? min_length : fetch_sample(min_length..max_length)
  String.from_regexp(/\w{#{length}}/)
end
safe_email(name = nil) click to toggle source
# File lib/ffaker/internet.rb, line 33
def safe_email(name = nil)
  [user_name(name), fetch_sample(SAFE_DOMAIN_SUFFIXES)].join('@example.')
end
slug(words = nil, glue = nil) click to toggle source
# File lib/ffaker/internet.rb, line 69
def slug(words = nil, glue = nil)
  words ||= Lorem.words(2).join(' ')
  glue ||= fetch_sample(SLUG_DELIMITERS)
  words.downcase.gsub(/[^a-z0-9]+/, glue)
end
uri(protocol) click to toggle source
# File lib/ffaker/internet.rb, line 57
def uri(protocol)
  [protocol, domain_name].join('://')
end
user_name(name = nil) click to toggle source
# File lib/ffaker/internet.rb, line 37
def user_name(name = nil)
  return shuffle(name.split(' ')).join(fetch_sample(%w[. _])).downcase if name

  return sanitize(Name.first_name) if rand(0..1).zero?

  [sanitize(Name.first_name), sanitize(Name.last_name)].join(fetch_sample(%w[. _]))
end

Private Instance Methods

sanitize(string) click to toggle source
# File lib/ffaker/internet.rb, line 86
def sanitize(string)
  string.gsub(/\W/, '').downcase
end