Module: RailsCloudflareTurnstile::ViewHelpers

Defined in:
lib/rails_cloudflare_turnstile/view_helpers.rb

Instance Method Summary collapse

Instance Method Details

#cloudflare_turnstile(action: "other", data_callback: nil, container_class: nil, **html_options) ⇒ Object



5
6
7
8
9
10
11
12
13
14
15
16
17
# File 'lib/rails_cloudflare_turnstile/view_helpers.rb', line 5

def cloudflare_turnstile(action: "other", data_callback: nil, container_class: nil, **html_options)
  container_class = ["cloudflare-turnstile", container_class].compact.join(" ")

  if RailsCloudflareTurnstile.enabled?
    (:div, class: container_class) do
      concat turnstile_div(action, data_callback: data_callback, **html_options)
    end
  elsif RailsCloudflareTurnstile.mock_enabled?
    (:div, class: container_class) do
      concat mock_turnstile_div(action, data_callback: data_callback, **html_options)
    end
  end
end

#cloudflare_turnstile_script_tag(async: true, defer: true, explicit: false) ⇒ Object



19
20
21
22
23
24
25
26
27
28
29
# File 'lib/rails_cloudflare_turnstile/view_helpers.rb', line 19

def cloudflare_turnstile_script_tag(async: true, defer: true, explicit: false)
  if RailsCloudflareTurnstile.enabled?
    (:script, src: js_src(explicit:), async: async, defer: defer, data: {turbo_track: "reload", turbo_temporary: true}) do
      ""
    end
  elsif RailsCloudflareTurnstile.mock_enabled?
    (:script, src: mock_js, async: async, defer: defer, data: {turbo_track: "reload", turbo_temporary: true}) do
      ""
    end
  end
end