Skip to content

Instantly share code, notes, and snippets.

@chrisza4
Last active August 31, 2019 02:50
Show Gist options
  • Select an option

  • Save chrisza4/c8ef9777a0b67d1997340cb8be88a6d1 to your computer and use it in GitHub Desktop.

Select an option

Save chrisza4/c8ef9777a0b67d1997340cb8be88a6d1 to your computer and use it in GitHub Desktop.
# ปรับนิดหน่อย
defp do_reset(conn, %{"email" => email, "reset_password_url" => reset_password_url} = attrs) do
with {:ok, reset_password_url} <- validate_url(reset_password_url, "reset_password_url"),
{:ok, forward_url} <- validate_url(attrs["forward_url"], "forward_url"),
{:ok, request} <- ResetPasswordGate.request(email)
|> send_request_email(request, reset_password_url, forward_url)
|> Pipe.ok do
render(conn, :empty, %{success: true})
else
# Prevents attackers from gaining knowledge about a user's email.
{:error, :user_email_not_found} ->
render(conn, :empty, %{success: true})
{:error, code, meta} ->
handle_error(conn, code, meta)
{:error, code} ->
handle_error(conn, code)
end
end
# ที่เจอบ่อย
defp x() do
with {:ok, result_1} <- fetch_first(),
{:ok, result_2} <- fetch_another(result_1),
{:ok, result_3} <- fetch_extra(result_2),
{:ok, result_4} <- for_god_sake_it_is_can_of_worm(result_3) do
render(conn, "view.json", result_4)
end
end
defp better_x() do
with {:ok, result_4} <- fetch_first() |> fetch_anoter() |> fetch_extra() |> for_god_sake_it_is_can_of_worm() |> Pipe.ok do
render(conn, "view.json", result_4)
end
end
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment