Class: UserObserver

Inherits:
ActiveRecord::Observer
  • Object
show all
Defined in:
app/models/user_observer.rb

Instance Method Summary collapse

Instance Method Details

#after_create(user) ⇒ Object



3
4
5
6
7
8
# File 'app/models/user_observer.rb', line 3

def after_create(user)
  return unless gibbon = mailchimp(user)

  gibbon.list_subscribe({:id=>Preference.get_cached(user.system_id, "mailchimp_all_user_list"), :email_address=>user.email, :double_optin=>false})
  Activity.add(user.system_id, "Subscribed '#{user.email}'", 0, "Mailchimp")
end

#before_delete(user) ⇒ Object



10
11
12
13
14
# File 'app/models/user_observer.rb', line 10

def before_delete(user)
  return unless gibbon = mailchimp(user)
  gibbon.list_unsubscribe({:id=>Preference.get_cached(user.system_id, "mailchimp_all_user_list"), :email_address=>user.email, :delete_member=>true})
  Activity.add(user.system_id, "Deleted '#{user.email}'", 0, "Mailchimp")
end

#before_save(user) ⇒ Object



16
17
18
# File 'app/models/user_observer.rb', line 16

def before_save(user)

end

#mailchimp(user) ⇒ Object



20
21
22
23
24
# File 'app/models/user_observer.rb', line 20

def mailchimp(user)
  key = Preference.get_cached(user.system_id, "mailchimp_api_key") 
  return nil unless key
  return Gibbon.new(key)
end