SmsUp.Pin.Generator (sms_up v1.0.5) View Source

This module deals with generating random pin codes.

Link to this section Summary

Functions

Generate a random pin number of the given length (min: 1, max: 10).

Link to this section Functions

Specs

generate_pin(integer()) :: {:error, String.t()} | {:ok, String.t()}

Generate a random pin number of the given length (min: 1, max: 10).

Returns a pin of the given length as a string.

Examples (:rand.seed is used here for doctest)

iex> :rand.seed(:exsss, {10, 20, 30})
iex> SmsUp.Pin.Generator.generate_pin()
{:ok, "831750"}

iex> :rand.seed(:exsss, {10, 20, 30})
iex> SmsUp.Pin.Generator.generate_pin(4)
{:ok, "8317"}

iex> :rand.seed(:exsss, {10, 20, 30})
iex> SmsUp.Pin.Generator.generate_pin(100)
{:ok, "8317504629"}

iex> SmsUp.Pin.Generator.generate_pin(0)
{:error, "invalid size of 0, please use a positive integer"}

iex> SmsUp.Pin.Generator.generate_pin(-6)
{:error, "invalid size of -6, please use a positive integer"}