Current section

Files

Jump to
blossom lib blossom utils.ex
Raw

lib/blossom/utils.ex

defmodule Blossom.Utils do
alias Blossom.Utils
def option_or_key_config(config, opts, key, default) do
if opts[key] != nil do
opts[key]
else
Keyword.get(config, key, default)
end
end
def filter_allowed(values, allowed_values) do
cond do
is_list(values) ->
Enum.filter(values, fn value -> Enum.member?(allowed_values, value) end)
values != nil ->
if Enum.member?(allowed_values, values) do
[values]
else
allowed_values
end
true ->
allowed_values
end
end
def put_allowed_casks(params, key, user, cask_roles) do
memberships = cask_roles.memberships(user)
params
|> Map.put(key, Utils.filter_allowed(params[key], memberships))
end
def put_managed_casks(params, key, user, cask_roles) do
adminships = cask_roles.adminships(user)
params
|> Map.put(key, Utils.filter_allowed(params[key], adminships))
end
end