class Chimpy::EmailService
Attributes
mailchimp[R]
mailchimp_api_key[R]
mailchimp_list_id[R]
Public Class Methods
new()
click to toggle source
# File lib/chimpy/email_service.rb, line 7 def initialize @mailchimp_api_key = Chimpy.configuration.mailchimp_api_key @mailchimp_list_id = Chimpy.configuration.mailchimp_list_id @mailchimp = create_mailchimp_client end
Public Instance Methods
sync(users)
click to toggle source
# File lib/chimpy/email_service.rb, line 13 def sync(users) struct = users.map { |user| { email: { email: user.email } } } response = mailchimp.lists.batch_subscribe(id: mailchimp_list_id, batch: struct, update_existing: true, double_optin: false) synced_users(response) end
Private Instance Methods
create_mailchimp_client()
click to toggle source
# File lib/chimpy/email_service.rb, line 36 def create_mailchimp_client Gibbon::API.new(mailchimp_api_key) end
synced_users(response)
click to toggle source
# File lib/chimpy/email_service.rb, line 24 def synced_users(response) emails = [] response['adds'].each do |add| emails << add['email'] end response['updates'].each do |update| emails << update['email'] end emails end