Packages
version_tasks
0.11.2
0.12.0
0.11.4
0.11.3
0.11.2
0.11.1
0.11.0
0.10.29
0.10.28
0.10.27
0.10.26
0.10.25
0.10.24
0.10.23
0.10.22
0.10.21
0.10.20
0.10.19
0.10.18
0.10.17
0.10.16
0.10.15
0.10.14
0.10.13
0.10.12
0.10.11
0.10.10
0.10.9
0.10.8
0.10.7
0.10.6
0.10.5
0.10.4
0.10.3
0.10.1
0.10.0
0.9.4
0.9.3
0.9.2
0.9.1
0.9.0
0.8.3
0.8.1
0.7.0
0.6.0
0.5.0
0.4.0
0.3.3
0.3.1
0.2.6
A suite of mix tasks for managing your libs version numbers with git and hex
Current section
Files
Jump to
Current section
Files
lib/version_tasks/fn_expr.ex
defmodule VersionTasks.FnExpr do
@moduledoc """
THIS IS A DUPLICATE OF https://hex.pm/packages/fn_expr so that
project can leverage this version management (avoiding) a circular
dependency.
If you want this functionality, then please install it instead
@deps [
fn_expr: "~> 0.1.0"
]
"""
defmacro __using__(_) do
quote do
defmacro invoke(piped_in_argument, expr) do
fun = is_tuple(expr) && elem(expr, 0)
case fun do
:fn ->
quote do
unquote(expr).(unquote(piped_in_argument))
end
_ ->
quote do
(&unquote(expr)).(unquote(piped_in_argument))
end
end
end
end
end
def default(piped_in_argument, default_value) do
case piped_in_argument do
nil -> default_value
_ -> piped_in_argument
end
end
defmacro unquote(:&&)(piped_in_argument, expr) do
quote do
(&unquote(expr)).(unquote(piped_in_argument))
end
end
end