Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- class CreateUser
- def initialize(users, user_factory, email_sender, response_factory)
- @users = user
- @user_factory = user_factory
- @email_sender = email_sender
- @response_factory = response_factory
- end
- def call(request)
- return @response_factory.email_taken if @user.exists?(email: request.email)
- user = @user_factory.new(request)
- @users.save(user)
- @email_sender.send(:confirm_email, user)
- @response_factory.success
- end
- end
- container = Container.new.config do |c|
- c.register(:users, User)
- c.regiser(:user_factory, User)
- c.register(:email_sender, EmailSender)
- c.register(:response_factory, CreateUser::Response)
- c.register(:create_user, CreateUser)
- end
- create_user = container.resolve(:create_user)
- create_user.call(email: 'omar@email.com', password: 1234)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement