ozfortress/citadel

View on GitHub
app/services/users/creation_service.rb

Summary

Maintainability
A
0 mins
Test Coverage
module Users
  module CreationService
    include BaseService

    def call(params, flash = {})
      user = User.new(params)

      user.transaction do
        EmailConfirmationService.send_email(user, flash) if user.valid? && user.email_changed? && user.email?

        user.save || rollback!

        # Log name history
        user.names.create!(name: user.name, approved_by: user)
      end

      user
    end
  end
end