defmodule Clip.Board do alias Clip.Currents def init(user) do Phoenix.PubSub.subscribe(Clip.PubSub, user.email) Currents.get(user.email) end def paste(user, snippet) do Phoenix.PubSub.broadcast(Clip.PubSub, user.email, {:snippet_pasted, %{snippet: snippet}}) Currents.set(user.email, snippet) end def normalize(pnumber, local_pref \\ "0351", country_pref \\ "0049") do pnumber |> String.replace(~r/^\s*\+/, "00") |> String.replace(~r/\D/, "") |> String.replace(~r/^00+/, "00") |> String.replace(~r/^(?=[1-9])/, local_pref) |> String.replace(~r/^0(?=[1-9])/, country_pref) end end