Class: CodeManager::Recovery
Overview
Instance Attribute Summary
Attributes inherited from CodeManager
#code, #user
Class Method Summary
collapse
Instance Method Summary
collapse
Methods inherited from CodeManager
handler, #initialize
Constructor Details
This class inherits a constructor from CodeManager
Class Method Details
.code_for_user(user) ⇒ Object
11
12
13
14
15
16
|
# File 'app/services/code_manager/recovery.rb', line 11
def self.code_for_user(user)
code = code_type.codes.active.find_by(user: user)
code = code_type.codes.create(user: user, payload: user.email) if code.nil?
code
end
|
6
7
8
|
# File 'app/services/code_manager/recovery.rb', line 6
def self.code_type
@code_type ||= CodeType.find_by!(slug: 'recovery')
end
|
Instance Method Details
#activate(new_parameters) ⇒ Object
25
26
27
28
29
30
31
32
33
|
# File 'app/services/code_manager/recovery.rb', line 25
def activate(new_parameters)
return false if @code.quantity < 1 || new_parameters[:password].blank?
new_parameters[:email_confirmed] = true if @code.payload == @code.user.email
user_updated = @code.user.update(new_parameters)
@code.decrement!(:quantity) if user_updated
user_updated
end
|
#code_is_valid? ⇒ Boolean
18
19
20
21
22
|
# File 'app/services/code_manager/recovery.rb', line 18
def code_is_valid?
return false if @code.nil?
@code.active? && @code.code_type == self.class.code_type
end
|