Sha256: 90de64cd1d4435babcf707a5da7b175fec64119b8d20c5c317ff8369b88788d7

Contents?: true

Size: 612 Bytes

Versions: 2

Compression:

Stored size: 612 Bytes

Contents

# frozen_string_literal: true

module Tokenable
  module Strategies
    module Sorcery
      extend ActiveSupport::Concern

      class_methods do
        def from_tokenable_params(params)
          email, password = parse_auth_params(params)

          user = Tokenable::Config.user_class.find_by(email: email)
          return nil unless user

          return nil unless user.valid_password?(password)

          user
        end

        private

        def parse_auth_params(params)
          [
            params[:email],
            params[:password],
          ]
        end
      end
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
tokenable-ruby-0.3.0 lib/tokenable/strategies/sorcery.rb
tokenable-ruby-0.2.0 lib/tokenable/strategies/sorcery.rb