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
- #invite(emails, user) ⇒ Object
-
#invitee_emails ⇒ Object
Gets all emails have been invited.
- #inviters ⇒ Object
-
#notify_inviters(invite_id = nil) ⇒ Object
Sends out notification email and adds an activity to each of the inviters activity feeds.
- #send_invited_joined_emails(inviters) ⇒ Object
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_emails ⇒ Object
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 |
#inviters ⇒ Object
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 |