Advertisement
Guest User

Untitled

a guest
Jun 28th, 2017
511
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.81 KB | None | 0 0
  1. class CreateUser
  2. def initialize(users, user_factory, email_sender, response_factory)
  3. @users = user
  4. @user_factory = user_factory
  5. @email_sender = email_sender
  6. @response_factory = response_factory
  7. end
  8.  
  9. def call(request)
  10. return @response_factory.email_taken if @user.exists?(email: request.email)
  11.  
  12. user = @user_factory.new(request)
  13.  
  14. @users.save(user)
  15.  
  16. @email_sender.send(:confirm_email, user)
  17.  
  18. @response_factory.success
  19. end
  20. end
  21.  
  22. container = Container.new.config do |c|
  23. c.register(:users, User)
  24. c.regiser(:user_factory, User)
  25. c.register(:email_sender, EmailSender)
  26. c.register(:response_factory, CreateUser::Response)
  27. c.register(:create_user, CreateUser)
  28. end
  29.  
  30. create_user = container.resolve(:create_user)
  31.  
  32. create_user.call(email: 'omar@email.com', password: 1234)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement