Class: PasswordStrategy

Inherits:
Warden::Strategies::Base
  • Object
show all
Defined in:
lib/ecrire/app/strategies/password_strategy.rb

Instance Method Summary collapse

Instance Method Details

#authenticate!Object



8
9
10
11
12
13
14
15
16
# File 'lib/ecrire/app/strategies/password_strategy.rb', line 8

def authenticate!
  user = User.find_by_email(params["session"].fetch("email"))
  if !user.nil? && user.password == params["session"].fetch("password")
    success! user
  else
    env['warden'].errors.add :general, "Sorry, couldn't log you in."
    fail! 
  end
end

#valid?Boolean

Returns:

  • (Boolean)


2
3
4
5
6
# File 'lib/ecrire/app/strategies/password_strategy.rb', line 2

def valid?
  return false if request.get?
  user_data = params.fetch("session", {})
  user_data.has_key?("email") && user_data.has_key?("password")
end