Slide 19
Slide 19 text
class SignUpUser < ActiveInteraction::Base
string :name, :email, :password
date :birthday, default: nil
model :community
!
validates :name, presence: true
validates :email, format: /\A.+@.+\.\w+\z/
validates :password, password: true
!
def execute
user = User.create!(inputs.slice(:name, :email, :birthday))
!
compose(JoinDefaultGroup,
user: user,
community: community
)
!
Notifications.welcome(user).deliver
!
user
end
end