Module: ActiveRecord::Acts::MuckInviter::InstanceMethods

Defined in:
lib/active_record/acts/muck_inviter.rb

Overview

All the methods available to a record that has had acts_as_muck_inviter specified.

Instance Method Summary collapse

Instance Method Details

#invite(emails, user) ⇒ Object



56
57
58
59
60
61
62
63
64
65
66
67
68
69
# File 'lib/active_record/acts/muck_inviter.rb', line 56

def invite(emails, user)
  emails = emails.split(/[, ]/) if !emails.is_a?(Array)
  emails = emails.find_all { |email| !email.blank? }
  emails = emails.flatten.collect { |email| email.strip }
  raise I18n.t('muck.invites.no_email_error') if emails.blank?
  check_emails = invitee_emails
  emails.each do |email|
    if !check_emails.include?(email)
      check_emails << email
      invitee = Invitee.find_by_email(email) || Invitee.create!(:email => email)
      Invite.create!(:inviter => self, :invitee => invitee, :user => user)
    end
  end 
end

#invitee_emailsObject

Gets all emails have been invited



36
37
38
# File 'lib/active_record/acts/muck_inviter.rb', line 36

def invitee_emails
  invitees.map(&:email)
end

#invitersObject



71
72
73
# File 'lib/active_record/acts/muck_inviter.rb', line 71

def inviters
  Invite.who_invited?(self.email)
end

#notify_inviters(invite_id = nil) ⇒ Object

Sends out notification email and adds an activity to each of the inviters activity feeds



41
42
43
44
45
46
47
48
49
50
# File 'lib/active_record/acts/muck_inviter.rb', line 41

def notify_inviters(invite_id = nil)
  inviters = Invitee.who_invited?(self.email, invite_id)
  if inviters.size > 0
    content = I18n.t('muck.activities.joined_status', :name => self.full_name, :application_name => GlobalConfig.application_name)
    inviters.each do |inviter|
      add_activity(self, self, self, 'status_update', '', content) if GlobalConfig.create_activities_when_invited_joins
      send_invited_joined_emails(inviters) if GlobalConfig.email_inviters_when_invited_joins
    end
  end 
end

#send_invited_joined_emails(inviters) ⇒ Object



52
53
54
# File 'lib/active_record/acts/muck_inviter.rb', line 52

def send_invited_joined_emails(inviters)
  
end