chimpmunk 0.0.7 → 0.0.8

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 8884ac7a8faa723ee19fbdf68db6d79af9d3d85c
4
- data.tar.gz: afd92fa0f0357bb0dd1ca7acd03339601c1fb7a2
3
+ metadata.gz: 004f6a5e1bdcf871337d5ef463b9ad8bd702f1e5
4
+ data.tar.gz: 539373de26ba8c9284daadeaff2e8070cc35c222
5
5
  SHA512:
6
- metadata.gz: 104b3026b64cc6c8410d6decdea1d3ecb35932f80b3eb4f5f2985244fb652e723739f573619a5431c4753c03e4141aac5b6d6c63d22ed27414700c9891e41182
7
- data.tar.gz: 545bd5a95acf1d83822865a2104764b8a978f77f13e4e973bb63f1def020bf05c1afcd1de4e1945b81b77b45cdca042d1afc3c628b9e096e66d1bc56a49563a8
6
+ metadata.gz: 058969bcf2fa0f4858d91674be89cdf3ce955e818662e3cbef740e0470ac47889e6873fd52b89c98040307fa742d3950cf178bf1ee4c4efffd0f3807c85c7606
7
+ data.tar.gz: 40566223ce13ecb645da2b93540750ce5213203f0833f5e963f4e9f853bba9eb99ad732bf80f120c8d7641b0cdac34d6f76307e4705c52be53a3455a9e9dcd29
@@ -27,7 +27,7 @@ class ChimpmunkMigration < ActiveRecord::Migration
27
27
  t.integer :emails_sent
28
28
  t.integer :clicked
29
29
  t.integer :opened
30
- t.string :status
30
+ t.string :status, default: 'draft'
31
31
  t.integer :hard_bounces
32
32
  t.integer :soft_bounces
33
33
  t.integer :unsubscribes
@@ -204,7 +204,8 @@ module Chimpmunk
204
204
  # send a mailchimp campaign
205
205
  def send_campaign
206
206
  response = Chimpmunk.mailchimp.campaigns.send({cid: self.mailchimp_campaign_id})
207
- response['errors'].nil?
207
+ self.skip_update_callbacks
208
+ response['errors'].nil? && send.update_attribute(:status, 'sent')
208
209
  end
209
210
 
210
211
  ##
@@ -212,16 +213,18 @@ module Chimpmunk
212
213
  def schedule_campaign
213
214
  response = Chimpmunk.mailchimp.campaigns.schedule({
214
215
  cid: self.mailchimp_campaign_id,
215
- schedule_time: self.send_date.to_time.to_s.gsub(' UTC', '')
216
+ schedule_time: self.send_date.strftime("%Y-%m-%d %H:%M:%S")
216
217
  })
217
- response['errors'].nil? && self.update_attribute(:scheduled, true)
218
+ self.skip_update_callbacks
219
+ response['errors'].nil? && self.update_attribute(:status, 'scheduled')
218
220
  end
219
221
 
220
222
  ##
221
223
  # un-schedule email campaign that has been scheduled
222
224
  def unschedule_campaign
223
225
  response = Chimpmunk.mailchimp.campaigns.unschedule({cid: self.mailchimp_campaign_id})
224
- response['errors'].nil? && self.update_attribute(:scheduled, false)
226
+ self.skip_update_callbacks
227
+ response['errors'].nil? && self.update_attribute(:status, 'un-scheduled')
225
228
  end
226
229
 
227
230
  ##
@@ -24,7 +24,11 @@ module Chimpmunk
24
24
  def create_mailchimp_subscriber
25
25
  Chimpmunk.mailchimp.lists.subscribe({
26
26
  id: self.email_list.mailchimp_id,
27
- email: { email: self.email }
27
+ email: { email: self.email },
28
+ merge_vars: {
29
+ fname: self.first_name,
30
+ lname: self.last_name
31
+ }
28
32
  })
29
33
  end
30
34
 
@@ -1,3 +1,3 @@
1
1
  module Chimpmunk
2
- VERSION = "0.0.7"
2
+ VERSION = "0.0.8"
3
3
  end
@@ -113,7 +113,7 @@ module RailsAdmin
113
113
  # Would rather have this method be new instead of edit
114
114
  @new_object = @object.duplicate_campaign
115
115
  if @new_object.save
116
- flash[:notice] = "Campaign was duplicated. Please edit the content now."
116
+ flash[:alert] = "Campaign was duplicated. Please edit the content now."
117
117
  redirect_to rails_admin.edit_path("email_campaign", @new_object)
118
118
  else
119
119
  flash[:error] = "Campaign could not be duplicated."
@@ -144,7 +144,7 @@ module RailsAdmin
144
144
  register_instance_option :controller do
145
145
  Proc.new do
146
146
  if @object.send_campaign
147
- flash[:notice] = "Campaign was successfully sent."
147
+ flash[:alert] = "Campaign was successfully sent."
148
148
  redirect_to rails_admin.index_path("chimpmunk~email_campaign")
149
149
  else
150
150
  flash[:error] = "Campaign could not be sent."
@@ -175,7 +175,7 @@ module RailsAdmin
175
175
  register_instance_option :controller do
176
176
  Proc.new do
177
177
  if @object.schedule_campaign
178
- flash[:notice] = "Campaign was successfully scheduled."
178
+ flash[:alert] = "Campaign was successfully scheduled."
179
179
  redirect_to rails_admin.index_path("chimpmunk~email_campaign")
180
180
  else
181
181
  flash[:error] = "Campaign could not be scheduled."
@@ -206,7 +206,7 @@ module RailsAdmin
206
206
  register_instance_option :controller do
207
207
  Proc.new do
208
208
  if @object.unschedule_campaign
209
- flash[:notice] = "Campaign was successfully un-scheduled."
209
+ flash[:alert] = "Campaign was successfully un-scheduled."
210
210
  redirect_to rails_admin.index_path("chimpmunk~email_campaign")
211
211
  else
212
212
  flash[:error] = "Campaign could not be un-scheduled."
@@ -70,14 +70,6 @@ describe Chimpmunk::EmailCampaign do
70
70
  new_template = Chimpmunk::EmailTemplate.create(name: 'new template')
71
71
  @email_campaign.update(email_template_id: new_template.id)
72
72
  end
73
-
74
- it "should not call 'update_content' on update if the template id didn't change" do
75
- @email_campaign.save
76
- @email_campaign.skip_update_callbacks = false
77
-
78
- expect(@email_campaign).to_not receive(:update_content)
79
- @email_campaign.update(subject: 'new subject')
80
- end
81
73
  end
82
74
 
83
75
  describe 'destroy' do
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: chimpmunk
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.7
4
+ version: 0.0.8
5
5
  platform: ruby
6
6
  authors:
7
7
  - Nick Franken
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-02-24 00:00:00.000000000 Z
11
+ date: 2015-03-06 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activerecord