Sha256: 7c6075b8a287ac34d2e888970e5854d4da95d3d4f843e8989952f7e94d9a695b

Contents?: true

Size: 1.11 KB

Versions: 17

Compression:

Stored size: 1.11 KB

Contents

# frozen_string_literal: true

module DerailedBenchmarks
  class AuthHelpers
    # Devise helper for authenticating requests
    # Setup adds necessarry test methods, user provides a sample user.
    # The authenticate method is called on every request when authentication is enabled
    class Devise < AuthHelper
      attr_writer :user

      # Include devise test helpers and turn on test mode
      # We need to do this on the class level
      def setup
        # self.class.instance_eval do
          require 'devise'
          require 'warden'
          extend ::Warden::Test::Helpers
          extend ::Devise::TestHelpers
          Warden.test_mode!
        # end
      end

      def user
        if @user
          @user = @user.call if @user.is_a?(Proc)
          @user
        else
          password = SecureRandom.hex
          @user = User.first_or_create!(email: "#{SecureRandom.hex}@example.com", password: password, password_confirmation: password)
        end
      end

      # Logs the user in, then call the parent app
      def call(env)
        login_as(user)
        app.call(env)
      end
    end
  end
end

Version data entries

17 entries across 17 versions & 2 rubygems

Version Path
derailed_benchmarks-2.2.1 lib/derailed_benchmarks/auth_helpers/devise.rb
derailed_benchmarks-2.2.0 lib/derailed_benchmarks/auth_helpers/devise.rb
derailed_benchmarks-2.1.2 lib/derailed_benchmarks/auth_helpers/devise.rb
derailed_benchmarks-2.1.1 lib/derailed_benchmarks/auth_helpers/devise.rb
derailed_benchmarks-2.1.0 lib/derailed_benchmarks/auth_helpers/devise.rb
derailed_benchmarks-2.0.1 lib/derailed_benchmarks/auth_helpers/devise.rb
derailed_benchmarks-2.0.0 lib/derailed_benchmarks/auth_helpers/devise.rb
derailed_benchmarks-1.8.1 lib/derailed_benchmarks/auth_helpers/devise.rb
derailed_benchmarks-1.8.0 lib/derailed_benchmarks/auth_helpers/devise.rb
derailed_benchmarks-1.7.0 lib/derailed_benchmarks/auth_helpers/devise.rb
gitlab-derailed_benchmarks-1.6.1 lib/derailed_benchmarks/auth_helpers/devise.rb
derailed_benchmarks-1.6.0 lib/derailed_benchmarks/auth_helpers/devise.rb
derailed_benchmarks-1.5.0 lib/derailed_benchmarks/auth_helpers/devise.rb
derailed_benchmarks-1.4.3 lib/derailed_benchmarks/auth_helpers/devise.rb
derailed_benchmarks-1.4.2 lib/derailed_benchmarks/auth_helpers/devise.rb
derailed_benchmarks-1.4.1 lib/derailed_benchmarks/auth_helpers/devise.rb
derailed_benchmarks-1.4.0 lib/derailed_benchmarks/auth_helpers/devise.rb