Packages
reactor
0.15.3
1.0.2
1.0.1
1.0.0
0.17.0
0.16.0
0.15.6
0.15.5
0.15.4
0.15.3
0.15.2
0.15.1
0.15.0
0.14.0
0.13.3
0.13.2
0.13.1
0.13.0
0.12.1
0.12.0
0.11.0
0.10.3
0.10.2
0.10.1
0.10.0
0.9.1
0.9.0
0.8.5
0.8.4
0.8.3
0.8.2
0.8.1
0.8.0
0.7.0
0.6.0
0.5.2
0.5.1
0.5.0
0.4.1
0.4.0
0.3.5
0.3.4
0.3.3
0.3.2
0.3.1
0.3.0
0.2.4
0.2.3
0.2.2
0.2.1
0.2.0
0.1.0
An asynchronous, graph-based execution engine
Current section
Files
Jump to
Current section
Files
lib/reactor/step/template.ex
defmodule Reactor.Step.Template do
@opt_schema Spark.Options.new!(
template: [
type: :string,
required: true,
doc: "The EEx template"
],
trim: [
type: :boolean,
required: false,
default: false,
doc:
"Whether to trim whitespace before and after the template. See `EEx#options`"
]
)
@moduledoc """
A step which renders an `EEx` template using it's arguments as the assigns.
## Options
#{Spark.Options.docs(@opt_schema)}
"""
use Reactor.Step
@doc false
@impl true
# sobelow_skip ["RCE.EEx"]
def run(arguments, _, options) do
with {:ok, options} <- Spark.Options.validate(options, @opt_schema) do
result = EEx.eval_string(options[:template], [assigns: arguments], trim: options[:trim])
{:ok, result}
end
end
end