Class: Lato::Invitation

Inherits:
ApplicationRecord show all
Defined in:
app/models/lato/invitation.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Instance Attribute Details

#actionsObject

Returns the value of attribute actions.



3
4
5
# File 'app/models/lato/invitation.rb', line 3

def actions
  @actions
end

Instance Method Details

#accepted?Boolean

Helpers

Returns:

  • (Boolean)


54
55
56
# File 'app/models/lato/invitation.rb', line 54

def accepted?
  !!accepted_at
end

#send_inviteObject

Operations



61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
# File 'app/models/lato/invitation.rb', line 61

def send_invite
  if accepted?
    errors.add(:base, :already_accepted)
    return false
  end

  if email_invite_semaphore.value
    errors.add(:base, :email_sending_limit)
    return false
  end

  delivery = Lato::InvitationMailer.invite_mail(id).deliver_now
  unless delivery
    errors.add(:base, :email_sending_error)
    return false
  end

  email_invite_semaphore.value = true

  true
end