GoGoGibbon
GoGoGibbon is a simple extension of Gibbon that provides wrapper methods for subscribing and unsubscribing users to lists. It also works off of initialization files instead of environment variables.
Notice: GoGoGibbon versions 1.1.1 and prior are now deprecated, as the MailChimp API v1.3 has been officially deprecated. GoGoGibbon now uses MailChimp API v3.0 as of version 2.0.0, backed by Gibbon 2.2.4.
Rails Installation
-
Add the GoGoGibbon gem entry to your Gemfile
gem 'gogogibbon', :git => 'git://github.com/GoGoCarl/gogogibbon.git'
-
Run
bundle install
-
Configure GoGoGibbon with your MailChimp information. You will need an API key from your MailChimp account, and the name of the list you to which you want new users subscribed. You can specify this in a global initialization file under config/initializers, or to get different behavior in development vs. production, specify thse in the appropriate config/enviroment/ file:
GoGoGibbon::Config.api_key = 'Your API Key' GoGoGibbon::Config.subscribed = 'Subscription List'
-
A restart is required to pick up new gems and configuration.
Additional Configuration
Optionally, you can name a cancellation list, and users will be removed
from the subscription list and added to the cancellation list when
calling cancel_user
.
GoGoGibbon::Config.unsubscribed = 'Cancellation List'
Optionally, you can specify how you want error handled when you have misconfigured MailChimp:
GoGoGibbon::Config.on_fail = :error || :silent || :warn
:warn
will print a message to the console,
:error
will thrown an Exception, and :silent
will do nothing. The default is warn.
Gibbon, by default, throws errors for any problems that occur when communicating to the MailChimp API. If you want these errors thrown, you can use the following:
GoGoGibbon::Config.errors = :throw
Otherwise, errors will not be thrown, just a status indicator will be returned noting there was an error.
Usage
See lib/gogogibbon.rb
for a list of all available methods.
Of course, you can still use gibbon directly, these are simply helpers
to speed up the process.
Quick Start
Out the box, GoGoGibbon has three helper methods that you can add to your ActiveModel to get you started.
-
mailchimp_on_create
will subscribe your user to the subscription list when the record is created. It will use the first_name, last_name, and email fields for this. -
mailchimp_on_update
will update the user's mailmerge properties as well as email address when the user is updated. This will only occur if the fields have changed. -
mailchimp_on_destroy
will call cancel_user, which removes the user from the subscription list and adds them to the cancellation list.
Each of these methods take a hash of options. The supported options are as follows:
-
:thread
, when set to true, will run the mailchimp operation in a new thread.