Class: Invitational::ClaimsInvitation

Inherits:
Object
  • Object
show all
Defined in:
app/services/invitational/claims_invitation.rb

Class Method Summary collapse

Class Method Details

.for(claim_hash, user) ⇒ Object



4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
# File 'app/services/invitational/claims_invitation.rb', line 4

def self.for claim_hash, user
  invitation = Invitation.for_claim_hash(claim_hash).first

  if invitation.nil?
    raise Invitational::InvitationNotFoundError.new
  end

  if invitation.claimed?
    raise Invitational::AlreadyClaimedError.new
  end

  invitation.user = user
  invitation.date_accepted = DateTime.now
  invitation.save

  invitation
end