Fab.Internet behaviour (fab_internet v1.0.0)
Functions for generating random internet related data.
Summary
Functions
Generates a random domain name.
Generates a random email address.
Returns a random HTTP method.
Returns a random HTTP status code.
Generates a random IPv4 or IPv6 address.
Generates a random IPv4 address.
Generates a random IPv6 address.
Returns a random port number.
Returns a random TLD.
Generates a random URL.
Generates a random username.
Callbacks
@callback tld() :: [String.t()]
Functions
@spec domain_name() :: String.t()
Generates a random domain name.
Examples
iex> Fab.Internet.domain_name()
"interchange.tel"
Generates a random email address.
The email address is constructed from a generated username and a domain name,
separated by @
.
Options
:case
- Case format of the username. Can be:any
,:lower
,:mixed
or:upper
. Defaults to:any
.:first_name
- First name to use. Defaults to a randomly generated name based on:sex
.:last_name
- Last name to use. Defaults to a randomly generated name based on:sex
.:sex
- Sex used to generate the first and last name. Can be:female
,:male
or:mixed
. Defaults to:mixed
.
Examples
iex> Fab.Internet.email_address()
"tiana.goodwin68@mountain.courses"
iex> Fab.Internet.email_address(case: :lower)
"marian_waelchi76@confusion.solutions"
iex> Fab.Internet.email_address(case: :mixed)
"Delores_Konopelski@orchid.voting"
iex> Fab.Internet.email_address(case: :upper)
"CIERRA_GISLASON@LIVE.MEME"
iex> Fab.Internet.email_address(first_name: "Anthony")
"ANTHONY_WARD62@PHRASE.WIKI"
iex> Fab.Internet.email_address(last_name: "Smith")
"selina.smith8@empty.mil"
iex> Fab.Internet.email_address(sex: :female)
"peggy_kemmer@boyfriend.center"
iex> Fab.Internet.email_address(sex: :male)
"SAUL_VANDERVORT13@CIRCULAR.REVIEW"
@spec http_method() :: String.t()
Returns a random HTTP method.
Examples
iex> Fab.Internet.http_method()
"PUT"
@spec http_status_code(keyword()) :: pos_integer()
Returns a random HTTP status code.
Examples
iex> Fab.Internet.http_status_code()
502
@spec ip() :: String.t()
Generates a random IPv4 or IPv6 address.
Examples
iex> Fab.Internet.ip()
"4b1c:e71c:9b7d:66a5:b1ff:c34:a2dd:533e"
@spec ipv4() :: String.t()
Generates a random IPv4 address.
Examples
iex> Fab.Internet.ipv4()
"110.105.64.36"
@spec ipv6() :: String.t()
Generates a random IPv6 address.
Examples
iex> Fab.Internet.ipv6()
"2a98:473b:9ee0:17b4:4352:2f7b:38bb:809b"
@spec port() :: pos_integer()
Returns a random port number.
Examples
iex> Fab.Internet.port()
32497
@spec tld() :: String.t()
Returns a random TLD.
Examples
iex> Fab.Internet.tld()
"living"
@spec url() :: String.t()
Generates a random URL.
Examples
iex> Fab.Internet.url()
"https://desk.bio"
Generates a random username.
A username is a combination of a person's first name and last name, joined by
a randomly chosen separator (_
or .
). A numeric disambiguator may also be
appended to the username.
Options
:case
- Case format of the username. Can be:any
,:lower
,:mixed
or:upper
. Defaults to:any
.:first_name
- First name to use. Defaults to a randomly generated name based on:sex
.:last_name
- Last name to use. Defaults to a randomly generated name based on:sex
.:sex
- Sex used to generate the first and last name. Can be:female
,:male
or:mixed
. Defaults to:mixed
.
Examples
iex> Fab.Internet.username()
"JUNE_BRADTKE56"
iex> Fab.Internet.username(case: :lower)
"eloise.beatty1"
iex> Fab.Internet.username(case: :mixed)
"Wiley_Ruecker"
iex> Fab.Internet.username(case: :upper)
"JAYLIN_ERDMAN63"
iex> Fab.Internet.username(first_name: "Anthony")
"Anthony.Okuneva"
iex> Fab.Internet.username(last_name: "Smith")
"Christine.Smith"
iex> Fab.Internet.username(sex: :female)
"ernestine.crooks"
iex> Fab.Internet.username(sex: :male)
"Manuel.Mraz57"