A website template with lots of features, built with ruby on rails.

subscription.rb 850B

123456789101112131415161718192021222324252627282930313233343536373839
  1. class Subscription < ActiveRecord::Base
  2. after_create do
  3. subscribe_to_mailchimp
  4. send_newsletter_subscription_email
  5. track_analytics
  6. end
  7. def full_name
  8. return self.first_name.to_s + " " + self.last_name.to_s
  9. end
  10. def self.to_csv
  11. CSV.generate do |csv|
  12. csv << column_names
  13. all.each do |product|
  14. csv << product.attributes.values_at(*column_names)
  15. end
  16. end
  17. end
  18. def subscribe_to_mailchimp
  19. Resque.enqueue(SubscribeToMailchimp, self.id)
  20. end
  21. def send_newsletter_subscription_email
  22. if User.find_by_email(self.email) == nil
  23. Resque.enqueue(SendNewsletterSubscription, self.id)
  24. end
  25. end
  26. def track_analytics
  27. # Mixpanel Tracking Analytics
  28. @analytics = Analytics.new(self.full_name)
  29. @analytics.track('Newsletter subscription')
  30. end
  31. end