Sha256: 6940d8c999c3fcad6d6963005ee72e2e4102d00b2e51f9d7841e6a13db0e3a00

Contents?: true

Size: 833 Bytes

Versions: 5

Compression:

Stored size: 833 Bytes

Contents

# frozen_string_literal: true

module CastleDevise
  module Controllers
    # Methods defined here will be included in all your controllers.
    module Helpers
      # @return [Castle::Client]
      def castle
        CastleDevise.castle
      end

      # Returns a Castle response from /v1/risk endpoint, if such a request has been made
      # during the request.
      #
      # @return [Hash, nil]
      def castle_risk_response
        request.env["castle_devise.risk_response"]
      end

      # Returns true if Castle Risk API call resulted in a "challenge" action.
      # Returns false if no request has been made, or the action was different than "challenge".
      #
      # @return [true, false]
      def castle_challenge?
        castle_risk_response&.dig(:policy, :action) == "challenge"
      end
    end
  end
end

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
castle_devise-0.4.3 lib/castle_devise/controllers/helpers.rb
castle_devise-0.4.1 lib/castle_devise/controllers/helpers.rb
castle_devise-0.3.0 lib/castle_devise/controllers/helpers.rb
castle_devise-0.2.0 lib/castle_devise/controllers/helpers.rb
castle_devise-0.1.0 lib/castle_devise/controllers/helpers.rb