Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion lib/cloak_ecto/migrator/cursor_stream.ex
Original file line number Diff line number Diff line change
Expand Up @@ -77,7 +77,7 @@ defmodule Cloak.Ecto.Migrator.CursorStream do

defp fields_for_cursor(schema, primary_key) do
if function_exported?(schema, :__cloak_cursor_fields__, 0) do
schema.__cloak_cursor_fields__
schema.__cloak_cursor_fields__()
else
[primary_key]
end
Expand Down
10 changes: 9 additions & 1 deletion lib/cloak_ecto/type.ex
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ defmodule Cloak.Ecto.Type do
@callback __cloak__ :: Keyword.t()

defmacro __using__(opts) do
vault = Keyword.fetch!(opts, :vault)
vault = Cloak.Ecto.Type.__get_vault__(opts)
label = opts[:label]
closure = !!opts[:closure]

Expand Down Expand Up @@ -120,4 +120,12 @@ defmodule Cloak.Ecto.Type do
end
end
end

@default_vault Application.compile_env(:cloak, :default_vault)

@doc false
def __get_vault__(opts) do
Keyword.get(opts, :vault) || @default_vault ||
raise ArgumentError, "No `:vault` option was provided, and no default vault was configured"
end
end
3 changes: 2 additions & 1 deletion lib/cloak_ecto/types/binary.ex
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,8 @@ defmodule Cloak.Ecto.Binary do

@doc false
defmacro __using__(opts) do
opts = Keyword.merge(opts, vault: Keyword.fetch!(opts, :vault))
vault = Cloak.Ecto.Type.__get_vault__(opts)
opts = Keyword.merge(opts, vault: vault)

quote location: :keep do
use Cloak.Ecto.Type, unquote(opts)
Expand Down
3 changes: 2 additions & 1 deletion lib/cloak_ecto/types/date.ex
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,8 @@ defmodule Cloak.Ecto.Date do
"""

defmacro __using__(opts) do
opts = Keyword.merge(opts, vault: Keyword.fetch!(opts, :vault))
vault = Cloak.Ecto.Type.__get_vault__(opts)
opts = Keyword.merge(opts, vault: vault)

quote do
use Cloak.Ecto.Type, unquote(opts)
Expand Down
3 changes: 2 additions & 1 deletion lib/cloak_ecto/types/date_time.ex
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,8 @@ defmodule Cloak.Ecto.DateTime do
"""

defmacro __using__(opts) do
opts = Keyword.merge(opts, vault: Keyword.fetch!(opts, :vault))
vault = Cloak.Ecto.Type.__get_vault__(opts)
opts = Keyword.merge(opts, vault: vault)

quote do
use Cloak.Ecto.Type, unquote(opts)
Expand Down
3 changes: 2 additions & 1 deletion lib/cloak_ecto/types/decimal.ex
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,8 @@ defmodule Cloak.Ecto.Decimal do

@doc false
defmacro __using__(opts) do
opts = Keyword.merge(opts, vault: Keyword.fetch!(opts, :vault))
vault = Cloak.Ecto.Type.__get_vault__(opts)
opts = Keyword.merge(opts, vault: vault)

quote do
use Cloak.Ecto.Type, unquote(opts)
Expand Down
3 changes: 2 additions & 1 deletion lib/cloak_ecto/types/float.ex
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,8 @@ defmodule Cloak.Ecto.Float do
"""
@doc false
defmacro __using__(opts) do
opts = Keyword.merge(opts, vault: Keyword.fetch!(opts, :vault))
vault = Cloak.Ecto.Type.__get_vault__(opts)
opts = Keyword.merge(opts, vault: vault)

quote do
use Cloak.Ecto.Type, unquote(opts)
Expand Down
3 changes: 2 additions & 1 deletion lib/cloak_ecto/types/integer.ex
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,8 @@ defmodule Cloak.Ecto.Integer do

@doc false
defmacro __using__(opts) do
opts = Keyword.merge(opts, vault: Keyword.fetch!(opts, :vault))
vault = Cloak.Ecto.Type.__get_vault__(opts)
opts = Keyword.merge(opts, vault: vault)

quote do
use Cloak.Ecto.Type, unquote(opts)
Expand Down
3 changes: 2 additions & 1 deletion lib/cloak_ecto/types/integer_list.ex
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,8 @@ defmodule Cloak.Ecto.IntegerList do

@doc false
defmacro __using__(opts) do
opts = Keyword.merge(opts, vault: Keyword.fetch!(opts, :vault))
vault = Cloak.Ecto.Type.__get_vault__(opts)
opts = Keyword.merge(opts, vault: vault)

quote location: :keep do
use Cloak.Ecto.Type, unquote(opts)
Expand Down
3 changes: 2 additions & 1 deletion lib/cloak_ecto/types/map.ex
Original file line number Diff line number Diff line change
Expand Up @@ -45,7 +45,8 @@ defmodule Cloak.Ecto.Map do
"""

defmacro __using__(opts) do
opts = Keyword.merge(opts, vault: Keyword.fetch!(opts, :vault))
vault = Cloak.Ecto.Type.__get_vault__(opts)
opts = Keyword.merge(opts, vault: vault)

quote location: :keep do
use Cloak.Ecto.Type, unquote(opts)
Expand Down
3 changes: 2 additions & 1 deletion lib/cloak_ecto/types/naive_date_time.ex
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,8 @@ defmodule Cloak.Ecto.NaiveDateTime do

@doc false
defmacro __using__(opts) do
opts = Keyword.merge(opts, vault: Keyword.fetch!(opts, :vault))
vault = Cloak.Ecto.Type.__get_vault__(opts)
opts = Keyword.merge(opts, vault: vault)

quote location: :keep do
use Cloak.Ecto.Type, unquote(opts)
Expand Down
3 changes: 2 additions & 1 deletion lib/cloak_ecto/types/string_list.ex
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,8 @@ defmodule Cloak.Ecto.StringList do

@doc false
defmacro __using__(opts) do
opts = Keyword.merge(opts, vault: Keyword.fetch!(opts, :vault))
vault = Cloak.Ecto.Type.__get_vault__(opts)
opts = Keyword.merge(opts, vault: vault)

quote location: :keep do
use Cloak.Ecto.Type, unquote(opts)
Expand Down
3 changes: 2 additions & 1 deletion lib/cloak_ecto/types/time.ex
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,8 @@ defmodule Cloak.Ecto.Time do

@doc false
defmacro __using__(opts) do
opts = Keyword.merge(opts, vault: Keyword.fetch!(opts, :vault))
vault = Cloak.Ecto.Type.__get_vault__(opts)
opts = Keyword.merge(opts, vault: vault)

quote location: :keep do
use Cloak.Ecto.Type, unquote(opts)
Expand Down