aboutsummaryrefslogtreecommitdiff
path: root/lib/recaptcha/template.ex
blob: d3970d5fc048fd7058af2c965fb8dcbae43669a6 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
defmodule Recaptcha.Template do
  @moduledoc """
    Responsible for rendering boilerplate recaptcha HTML code, supports noscript fallback.

    [Some](https://developers.google.com/recaptcha/docs/display#explicit_render)
    functionality is not currently supported.

    In future this module may be separated out into a Phoenix specific library.
  """
  require Elixir.EEx
  alias Recaptcha.Config

  EEx.function_from_file :defp, :render_template, "lib/template.html.eex", [:assigns]

  @doc """
  Returns a string with reCAPTCHA code

  To convert the string to html code, use Phoenix.HTML.Raw/1 method
  """
  def display(options \\ []) do
    public_key = options[:public_key] || Config.get_env(:recaptcha, :public_key)
    render_template(public_key: public_key, options: options)
  end
end