defmodule Test do
def test(a, opts \\ []) when is_list(opts) do
with opts <- opts |> Enum.into(%{foo: :a}) do
test(a, opts)
end
end
def test(a, opts) do
IO.inspect(a)
defmodule Test do
def test() do
raise_ex()
IO.inspect "unreachable"
rescue
_ex -> IO.inspect("exception caught")
:error
end
defmodule VanillaTest do
def foo(%{arg: arg}) do
IO.inspect("foo/1 with map called: #{arg}")
foo("success")
end
def foo(arg) do
IO.inspect("implementation function foo/1 called: #{arg}")
defmodule MyGraph.Middlewares.ResolutionWithErrorReporting do | |
@moduledoc """ | |
Middleware to handle application errors and exceptions | |
""" | |
require Logger | |
@behaviour Absinthe.Middleware | |
@doc """ | |
Call this on existing middleware to replace instances of |
Currently, dataloader/3 helper accepts only statically defined args
.
This means we cannot use the dataloader helper to use data from the Absinthe.Resolution
to build the batch key.
We can do this directly:
field :is_favorited, non_null(:boolean),
This is a work in progress.
Our primary motivation for this architecture is separating Domain and Persistence concepts.
- When Domain and Persistence logic are mixed together in ActiveRecord Models, the resulting code is hard to reason about, difficult to test well, and resists change.
- AR Callbacks are a hellish way to manage domain logic
- Managing different validation contexts is not straightforward
- There is no clear Domain API (everything is a Model#save side effect)
For Heroku to receive traffic at the apex domain (your-tld.com
) Your DNS provider must support ANAME / ALIAS resolution for a hostname (your-app-random-heroku-endpoint.herokudns.com
) to the apex domain.
GoDaddy does not support this, you can only set up an A record to a static IP address for the apex.
They provide domain forwarding, but this does not work for HTTPS, so requests to https://your-tld.com will timeout. Their domain forwarding service will only work for forwarding from http://your-tld.com.
If you're using GoDaddy, it is recommended to transfer or switch name servers to a different service (e.g. Namecheap, DNSimple, etc).
!!! | |
%html{lang: "en"} | |
%head | |
%meta{content: "text/html; charset=UTF-8", "http-equiv" => "Content-Type"}/ | |
%meta{content: "width=device-width, initial-scale=1, maximum-scale=1.0", name: "viewport"}/ | |
%title Starter Template - Materialize | |
/ CSS | |
%link{href: "https://fonts.googleapis.com/icon?family=Material+Icons", rel: "stylesheet"}/ | |
%link{href: "css/materialize.css", media: "screen,projection", rel: "stylesheet", type: "text/css"}/ | |
%link{href: "css/style.css", media: "screen,projection", rel: "stylesheet", type: "text/css"}/ |