Sha256: 7d0d516096f71e236eaedf4f530d0839177df40acbcf85d7c5c0d6fbebdb310b

Contents?: true

Size: 708 Bytes

Versions: 16

Compression:

Stored size: 708 Bytes

Contents

module Invitational
  class CreatesUberAdminInvitation
    attr_reader :success,
                :invitation

    def self.for target
      if target.is_a? String
        email = target

        if Invitation.uberadmin.for_email(email).count > 0
          raise Invitational::AlreadyInvitedError.new
        end
      else
        user = target
        email = user.email

        if user.uberadmin?
          raise Invitational::AlreadyInvitedError.new
        end
      end

      invitation = ::Invitation.new(role: :uberadmin, email: email)
      if user
        invitation.user = user
        invitation.date_accepted = DateTime.now
      end 
      invitation.save

      invitation
    end

  end
end

Version data entries

16 entries across 16 versions & 1 rubygems

Version Path
invitational-1.5.4 app/services/invitational/creates_uber_admin_invitation.rb
invitational-1.5.3 app/services/invitational/creates_uber_admin_invitation.rb
invitational-1.5.2 app/services/invitational/creates_uber_admin_invitation.rb
invitational-1.5.1 app/services/invitational/creates_uber_admin_invitation.rb
invitational-1.5.0 app/services/invitational/creates_uber_admin_invitation.rb
invitational-1.4.3 app/services/invitational/creates_uber_admin_invitation.rb
invitational-1.4.2 app/services/invitational/creates_uber_admin_invitation.rb
invitational-1.4.1 app/services/invitational/creates_uber_admin_invitation.rb
invitational-1.4.0 app/services/invitational/creates_uber_admin_invitation.rb
invitational-1.3.3 app/services/invitational/creates_uber_admin_invitation.rb
invitational-1.3.2 app/services/invitational/creates_uber_admin_invitation.rb
invitational-1.3.1 app/services/invitational/creates_uber_admin_invitation.rb
invitational-1.3.0 app/services/invitational/creates_uber_admin_invitation.rb
invitational-1.2.0 app/services/invitational/creates_uber_admin_invitation.rb
invitational-1.1.6 app/services/invitational/creates_uber_admin_invitation.rb
invitational-1.1.5 app/services/invitational/creates_uber_admin_invitation.rb