Elixir Tips and Tricks That You Might Not Know Of
defmodule App.Team do
use App, :schema
...
| function new = () => ({ | |
| _struct: "Conn", | |
| host: null, | |
| path: null, | |
| port: null, | |
| scheme: null, | |
| params: {}, | |
| requestHeaders: [], | |
| responseHeaders: [], | |
| responseBody: {}, |
| defmodule Queue do | |
| def insert(queue, item), do: :queue.in(item, queue) | |
| def insert_last(queue, item), do: :queue.in_r(item, queue) | |
| def member?(queue, item), do: :queue.member(item, queue) | |
| def filter(queue, fun), do: :queue.filter(fun, queue) | |
| def split(queue, n) do |
| # Elixir :queue wrapper with modified behavior for empty queues to mimic Enumerable module in Elixir | |
| defmodule Queue do | |
| def insert(queue, item), do: :queue.in(item, queue) | |
| def insert_last(queue, item), do: :queue.in_r(item, queue) | |
| def member?(queue, item), do: :queue.member(item, queue) | |
| def filter(queue, fun), do: :queue.filter(fun, queue) |
defmodule Web.ComponentHelpers do
import Phoenix.HTML.Tag, only: [content_tag: 3]
def component(name, props \\ %{})
def component(name, props) when is_list(props),
do: component(name, Enum.into(props, %{}))
| defmodule Aggregate do | |
| defmacro replay(struct, aggregate, do: block) do | |
| quote bind_quoted: [struct: struct] do | |
| @events [struct|@events] | |
| def __replay__(struct, unquote(aggregate)), do: unquote(block) | |
| end | |
| end | |
| end | |
| defmodule User do |
I hereby claim:
To claim this, I am signing this object:
| defmodule BinaryGap do | |
| def max(number) when is_number(number) do | |
| number | |
| |> Integer.to_string(2) | |
| |> calculate() | |
| end | |
| defp calculate(binary, count \\ -1, max \\ 0) | |
| defp calculate("1" <> remaining, count, max) do | |
| calculate(remaining, 0, Enum.max([max, count])) |
| defmodule App.ChangesetView do | |
| use App, :view | |
| @doc """ | |
| Traverses and translates changeset errors. | |
| See `Ecto.Changeset.traverse_errors/2` | |
| """ | |
| def translate_errors(changeset) do | |
| Ecto.Changeset.traverse_errors(changeset, &translate_error/1) | |
| end |