Module: Cloudflare::Turnstile::Rails::ControllerMethods

Defined in:
lib/cloudflare/turnstile/rails/controller_methods.rb

Instance Method Summary collapse

Instance Method Details

#valid_turnstile?(model: nil, **opts) ⇒ Boolean Also known as: turnstile_valid?

Returns:

  • (Boolean)


20
21
22
23
24
25
# File 'lib/cloudflare/turnstile/rails/controller_methods.rb', line 20

def valid_turnstile?(model: nil, **opts)
  response = verify_turnstile(model: model, **opts)
  success = response.is_a?(VerificationResponse) && response.success?
  flash[:alert] = ErrorMessage.default if !success && model.nil?
  success
end

#verify_turnstile(model: nil, **opts) ⇒ Object



8
9
10
11
12
13
14
15
16
17
18
# File 'lib/cloudflare/turnstile/rails/controller_methods.rb', line 8

def verify_turnstile(model: nil, **opts)
  response ||= params[Cloudflare::RESPONSE_FIELD_NAME]
  result = Rails::Verification.verify(response: response, **opts)

  unless result.success?
    message = ErrorMessage.default
    model&.errors&.add(:base, message)
  end

  result
end