module TradoMailchimpModule::ActiveRecord::ClassMethods

Public Instance Methods

has_mailchimp_list() click to toggle source
# File lib/trado_mailchimp_module/active_record.rb, line 25
def has_mailchimp_list
    attr_accessible :mailchimp_list_id
end
has_mailchimp_newsletter() click to toggle source
# File lib/trado_mailchimp_module/active_record.rb, line 6
def has_mailchimp_newsletter
    attr_accessible :newsletter
    attr_accessor :newsletter

    after_commit :send_email_to_mailchimp,              on: [:create, :update], if: :newsletter?

    define_method("send_email_to_mailchimp") do
        begin 
            Gibbon::Request.lists(Store.settings.mailchimp_list_id).members.create(body: {email_address: self.email, status: "subscribed", merge_fields: {FNAME: self.billing_address.first_name, LNAME: self.billing_address.last_name}}) if Store.settings.mailchimp_list_id.present? && self.email.present? && self.billing_address.present?
        rescue Gibbon::MailChimpError
            return true
        end
    end

    define_method("newsletter?") do
        newsletter == "1" ? true : false
    end
end