Module: Cloudflare::Turnstile::Rails::ControllerMethods
- Defined in:
- lib/cloudflare/turnstile/rails/controller_methods.rb
Instance Method Summary collapse
-
#valid_turnstile?(model: nil, flash: :keep, **opts) ⇒ Boolean
(also: #turnstile_valid?)
flash: :keep carries the automatic failure message into the next request, for a redirect.
- #verify_turnstile(model: nil, **opts) ⇒ Object
Instance Method Details
#valid_turnstile?(model: nil, flash: :keep, **opts) ⇒ Boolean Also known as: turnstile_valid?
flash: :keep carries the automatic failure message into the next request, for a redirect. flash: :now scopes it to the response being rendered. The keyword shadows the controller's own flash method, hence request.flash.
23 24 25 26 27 28 29 30 31 32 33 |
# File 'lib/cloudflare/turnstile/rails/controller_methods.rb', line 23 def valid_turnstile?(model: nil, flash: :keep, **opts) response = verify_turnstile(model: model, **opts) success = response.is_a?(VerificationResponse) && response.success? if !success && model.nil? store = flash == :now ? request.flash.now : request.flash store[:alert] = ErrorMessage.default end 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? = ErrorMessage.default model&.errors&.add(:base, ) end result end |