module FFaker::Internet

Experimental RBS support (using type sampling data from the type_fusion project).

# sig/ffaker/internet.rbs

module FFaker::Internet
  def safe_email: (?nil name) -> String
  def sanitize: (String string) -> String
end

def disposable_email(name = nil)

service web pages.
you can really send an email to these addresses an access it by going to the
returns an email address of an online disposable email service (like tempinbox.com).
def disposable_email(name = nil)
  [user_name(name), fetch_sample(DISPOSABLE_HOSTS)].join('@')
end

def domain_name

def domain_name
  [domain_word, domain_suffix].join('.')
end

def domain_suffix

def domain_suffix
  fetch_sample(DOMAIN_SUFFIXES)
end

def domain_word

def domain_word
  sanitize(Company.name.split(' ').first)
end

def email(name = nil)

def email(name = nil)
  [user_name(name), domain_name].join('@')
end

def free_email(name = nil)

def free_email(name = nil)
  [user_name(name), fetch_sample(HOSTS)].join('@')
end

def http_url

def http_url
  uri('http')
end

def ip_v4_address

def ip_v4_address
  (1..4).map { fetch_sample(BYTE) }.join('.')
end

def mac(delimiter = ':')

def mac(delimiter = ':')
  rand(0...MAC_LIMIT).to_s(16).rjust(12, '0').scan(/.{2}/).join(delimiter)
end

def password(min_length = 8, max_length = 16)

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

def safe_email(name = nil)

Experimental RBS support (using type sampling data from the type_fusion project).

def safe_email: (?nil name) -> String

This signature was generated using 1 sample from 1 application.

def safe_email(name = nil)
  [user_name(name), fetch_sample(SAFE_DOMAIN_SUFFIXES)].join('@example.')
end

def sanitize(string)

Experimental RBS support (using type sampling data from the type_fusion project).

def sanitize: (String string) -> String

This signature was generated using 1 sample from 1 application.

def sanitize(string)
  string.gsub(/\W/, '').downcase
end

def slug(words = nil, glue = nil)

def slug(words = nil, glue = nil)
  words ||= Lorem.words(2).join(' ')
  glue ||= fetch_sample(SLUG_DELIMITERS)
  words.downcase.gsub(/[^a-z0-9]+/, glue)
end

def uri(protocol)

def uri(protocol)
  [protocol, domain_name].join('://')
end

def user_name(name = nil)

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