Class: Foobara::Auth::CreateUser
- Inherits:
-
Command
- Object
- Command
- Foobara::Auth::CreateUser
show all
- Defined in:
- foobara-auth-0.1.1/src/create_user.rb
Constant Summary
TruncatedInspect::MAX_LENGTH
Instance Attribute Summary collapse
Instance Method Summary
collapse
Methods inherited from Command
install!
#inspect, truncating
Methods included from Concern
foobara_class_methods_module_for, foobara_concern?, included
Instance Attribute Details
#user ⇒ Object
Returns the value of attribute user.
35
36
37
|
# File 'src/create_user.rb', line 35
def user
@user
end
|
Instance Method Details
#create_user ⇒ Object
49
50
51
52
53
54
55
56
57
|
# File 'src/create_user.rb', line 49
def create_user
inputs = self.inputs.except(:user_id, :plaintext_password)
if user_id
inputs[:id] = user_id
end
self.user = Types::User.create(inputs)
end
|
#execute ⇒ Object
18
19
20
21
22
23
24
25
26
|
# File 'src/create_user.rb', line 18
def execute
create_user
if password_present?
set_password
end
user
end
|
#password_present? ⇒ Boolean
59
60
61
|
# File 'src/create_user.rb', line 59
def password_present?
plaintext_password && !plaintext_password.empty?
end
|
#set_password ⇒ Object
63
64
65
|
# File 'src/create_user.rb', line 63
def set_password
run_subcommand!(SetPassword, user:, plaintext_password:)
end
|
#validate ⇒ Object
28
29
30
31
32
33
|
# File 'src/create_user.rb', line 28
def validate
validate_username_is_unique
if email
validate_email_is_unique
end
end
|
#validate_email_is_unique ⇒ Object
43
44
45
46
47
|
# File 'src/create_user.rb', line 43
def validate_email_is_unique
if Types::User.find_by(email:)
add_input_error(input: :email, symbol: :already_in_use)
end
end
|
#validate_username_is_unique ⇒ Object
37
38
39
40
41
|
# File 'src/create_user.rb', line 37
def validate_username_is_unique
if Types::User.find_by(username:)
add_input_error(input: :username, symbol: :already_in_use)
end
end
|