Sha256: 1334928737eaf216b34a22119e45d73c41344a3b13822c8c607a7ee32dfbee1c

Contents?: true

Size: 1.39 KB

Versions: 69

Compression:

Stored size: 1.39 KB

Contents

defmodule Phone do
  @doc """
  Remove formatting from a phone number.

  Returns "0000000000" if phone number is not valid
  (10 digits or "1" followed by 10 digits)

  ## Examples

  iex> Phone.number("212-555-0100")
  "2125550100"

  iex> Phone.number("+1 (212) 555-0100")
  "2125550100"

  iex> Phone.number("+1 (212) 055-0100")
  "0000000000"

  iex> Phone.number("(212) 555-0100")
  "2125550100"

  iex> Phone.number("867.5309")
  "0000000000"
  """
  @spec number(String.t()) :: String.t()
  def number(raw) do
  end

  @doc """
  Extract the area code from a phone number

  Returns the first three digits from a phone number,
  ignoring long distance indicator

  ## Examples

  iex> Phone.area_code("212-555-0100")
  "212"

  iex> Phone.area_code("+1 (212) 555-0100")
  "212"

  iex> Phone.area_code("+1 (012) 555-0100")
  "000"

  iex> Phone.area_code("867.5309")
  "000"
  """
  @spec area_code(String.t()) :: String.t()
  def area_code(raw) do
  end

  @doc """
  Pretty print a phone number

  Wraps the area code in parentheses and separates
  exchange and subscriber number with a dash.

  ## Examples

  iex> Phone.pretty("212-555-0100")
  "(212) 555-0100"

  iex> Phone.pretty("212-155-0100")
  "(000) 000-0000"

  iex> Phone.pretty("+1 (303) 555-1212")
  "(303) 555-1212"

  iex> Phone.pretty("867.5309")
  "(000) 000-0000"
  """
  @spec pretty(String.t()) :: String.t()
  def pretty(raw) do
  end
end

Version data entries

69 entries across 69 versions & 1 rubygems

Version Path
trackler-2.2.1.180 tracks/elixir/exercises/phone-number/phone_number.exs
trackler-2.2.1.179 tracks/elixir/exercises/phone-number/phone_number.exs
trackler-2.2.1.178 tracks/elixir/exercises/phone-number/phone_number.exs
trackler-2.2.1.177 tracks/elixir/exercises/phone-number/phone_number.exs
trackler-2.2.1.176 tracks/elixir/exercises/phone-number/phone_number.exs
trackler-2.2.1.175 tracks/elixir/exercises/phone-number/phone_number.exs
trackler-2.2.1.174 tracks/elixir/exercises/phone-number/phone_number.exs
trackler-2.2.1.173 tracks/elixir/exercises/phone-number/phone_number.exs
trackler-2.2.1.172 tracks/elixir/exercises/phone-number/phone_number.exs
trackler-2.2.1.171 tracks/elixir/exercises/phone-number/phone_number.exs
trackler-2.2.1.170 tracks/elixir/exercises/phone-number/phone_number.exs
trackler-2.2.1.169 tracks/elixir/exercises/phone-number/phone_number.exs
trackler-2.2.1.167 tracks/elixir/exercises/phone-number/phone_number.exs
trackler-2.2.1.166 tracks/elixir/exercises/phone-number/phone_number.exs
trackler-2.2.1.165 tracks/elixir/exercises/phone-number/phone_number.exs
trackler-2.2.1.164 tracks/elixir/exercises/phone-number/phone_number.exs
trackler-2.2.1.163 tracks/elixir/exercises/phone-number/phone_number.exs
trackler-2.2.1.162 tracks/elixir/exercises/phone-number/phone_number.exs
trackler-2.2.1.161 tracks/elixir/exercises/phone-number/phone_number.exs
trackler-2.2.1.160 tracks/elixir/exercises/phone-number/phone_number.exs