defmodule EExJsonEncoder do
require EEx
defp bool(true), do: "true"
defp bool(false), do: "false"
template = """
{"param_a":"<%= t.param_a %>",\
"param_b":"<%= t.param_b %>",\
"param_c":"<%= t.param_c %>",\
"param_d":<%= bool(t.param_d) %>,\
"param_e":"<%= t.param_e %>",\
"param_f":"<%= t.param_f %>",\
"param_g":"<%= t.param_g %>",\
"param_h":"<%= t.param_h %>",\
"param_i":<%= bool(t.param_i) %>,\
"param_j":<%= bool(t.param_j) %>,\
"param_k":<%= bool(t.param_k) %>,\
"param_l":<%= bool(t.param_l) %>,\
"param_m":<%= bool(t.param_m) %>,\
"param_n":"<%= t.param_n %>",\
"param_o":"<%= t.param_o %>",\
"param_p":"<%= t.param_p %>",\
"param_r":"<%= t.param_r %>",\
"param_s":<%= Integer.to_string(t.param_s) %>,\
"param_t":"<%= t.param_t %>",\
"param_u":"<%= t.param_u %>",\
"param_v":"<%= t.param_v %>"}\
"""
EEx.function_from_string(:def, :encode, template, [:t])
end