View Source EEx.SmartEngine (EEx v1.10.4)
The default engine used by EEx.
It includes assigns (like @foo) and possibly other
conveniences in the future.
Examples
iex> EEx.eval_string("<%= @foo %>", assigns: [foo: 1])
"1"In the example above, we can access the value foo under
the binding assigns using @foo. This is useful because
a template, after being compiled, can receive different
assigns and would not require recompilation for each
variable set.
Assigns can also be used when compiled to a function:
# sample.eex
<%= @a + @b %>
# sample.ex
defmodule Sample do
require EEx
EEx.function_from_file(:def, :sample, "sample.eex", [:assigns])
end
# iex
Sample.sample(a: 1, b: 2)
#=> "3" Link to this section Summary
Functions
Callback implementation for EEx.Engine.handle_begin/1.
Callback implementation for EEx.Engine.handle_body/1.
Callback implementation for EEx.Engine.handle_end/1.
Callback implementation for EEx.Engine.handle_expr/3.
Callback implementation for EEx.Engine.handle_text/2.
Callback implementation for EEx.Engine.init/1.
Link to this section Functions
Callback implementation for EEx.Engine.handle_begin/1.
Callback implementation for EEx.Engine.handle_body/1.
Callback implementation for EEx.Engine.handle_end/1.
Callback implementation for EEx.Engine.handle_expr/3.
Callback implementation for EEx.Engine.handle_text/2.
Callback implementation for EEx.Engine.init/1.