Sha256: 238d25ba8e84bb48fb905b343f2770bef99efb36560e955a33b6c74ed8a30528

Contents?: true

Size: 1.38 KB

Versions: 148

Compression:

Stored size: 1.38 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

148 entries across 148 versions & 1 rubygems

Version Path
trackler-2.2.1.109 tracks/elixir/exercises/phone-number/phone_number.exs
trackler-2.2.1.108 tracks/elixir/exercises/phone-number/phone_number.exs
trackler-2.2.1.107 tracks/elixir/exercises/phone-number/phone_number.exs
trackler-2.2.1.106 tracks/elixir/exercises/phone-number/phone_number.exs
trackler-2.2.1.105 tracks/elixir/exercises/phone-number/phone_number.exs
trackler-2.2.1.104 tracks/elixir/exercises/phone-number/phone_number.exs
trackler-2.2.1.103 tracks/elixir/exercises/phone-number/phone_number.exs
trackler-2.2.1.102 tracks/elixir/exercises/phone-number/phone_number.exs
trackler-2.2.1.101 tracks/elixir/exercises/phone-number/phone_number.exs
trackler-2.2.1.100 tracks/elixir/exercises/phone-number/phone_number.exs
trackler-2.2.1.99 tracks/elixir/exercises/phone-number/phone_number.exs
trackler-2.2.1.98 tracks/elixir/exercises/phone-number/phone_number.exs
trackler-2.2.1.97 tracks/elixir/exercises/phone-number/phone_number.exs
trackler-2.2.1.96 tracks/elixir/exercises/phone-number/phone_number.exs
trackler-2.2.1.95 tracks/elixir/exercises/phone-number/phone_number.exs
trackler-2.2.1.94 tracks/elixir/exercises/phone-number/phone_number.exs
trackler-2.2.1.93 tracks/elixir/exercises/phone-number/phone_number.exs
trackler-2.2.1.92 tracks/elixir/exercises/phone-number/phone_number.exs
trackler-2.2.1.91 tracks/elixir/exercises/phone-number/phone_number.exs
trackler-2.2.1.90 tracks/elixir/exercises/phone-number/phone_number.exs