chimpmunk 0.0.2 → 0.0.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/README.md +32 -7
- data/lib/chimpmunk/email_campaign.rb +30 -6
- data/lib/chimpmunk/version.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: f3cdedd77cb163a90c5a283b3c8bb07d24ef9c9c
|
4
|
+
data.tar.gz: 338e3a9c77dddf0fe3b8b0170102fc014e988266
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: bf04cb13c4be53c944ce7726bbf5781d9cee7a1e7c82074e907abd8c9490c50de89ae0b4ce493f05c0e79e8daaf2cc644be70e8c9a6b5631195704d16cc44c10
|
7
|
+
data.tar.gz: da88388e5fb6b2b483480c7cb69c0109f838b4802bf5e6721008e0c24d865d3d3c3581da8cf82b12bb9af55c297e10d6feebca592b600ecf053d325e48c6ea2e
|
data/README.md
CHANGED
@@ -36,28 +36,43 @@ Set your mailchimp api key:
|
|
36
36
|
|
37
37
|
2. create headers, texts and images definitions for any strings, text or images needed in the campaign.
|
38
38
|
|
39
|
-
|
39
|
+
```
|
40
|
+
headers :hero_header, :bottom_header
|
41
|
+
texts :top_body, :info_body
|
42
|
+
images :hero_image, :logo, :footer_image
|
43
|
+
```
|
40
44
|
|
41
|
-
|
45
|
+
3. If you need assocations with the email campaign, generate the association models and add the `associated` definition in the campaign.
|
42
46
|
|
47
|
+
```
|
48
|
+
associated :many, :posts, :comments
|
49
|
+
associated :one, :user
|
50
|
+
```
|
43
51
|
|
44
|
-
|
52
|
+
4. Create editable_area definitions. These will be the same name as the MC:EDIT areas in your template. Create the partials for then in `app/viaews/chimpmunk/_posts.html.haml` All chimpmunk partials will have access to a `campaign` local variable.
|
53
|
+
|
54
|
+
```
|
55
|
+
editable_areas :posts
|
56
|
+
```
|
45
57
|
|
58
|
+
example usage:
|
46
59
|
|
47
60
|
```
|
48
61
|
rails g model EmailCampaignPost email_campaign:references post:references
|
49
62
|
rails g model EmailCampaignComment email_campaign:references post:references
|
63
|
+
rails g model EmailCampaignUser email_campaign:references user:references
|
50
64
|
```
|
51
65
|
|
52
|
-
|
66
|
+
in `app/models` :
|
53
67
|
|
54
68
|
```
|
55
69
|
class TestEmailCampaign < Chimpmunk::EmailCampaign
|
56
70
|
headers :hero_header, :bottom_header
|
57
71
|
texts :top_body, :info_body
|
58
72
|
images :hero_image, :logo, :test_image
|
59
|
-
associated :many, :posts
|
60
|
-
associated :one, :
|
73
|
+
associated :many, :posts, :comments # will have many :email_campaign_posts
|
74
|
+
associated :one, :user # will have one :email_campaign_comment
|
75
|
+
editable_areas :posts
|
61
76
|
|
62
77
|
#
|
63
78
|
# must have a content method
|
@@ -67,7 +82,7 @@ example:
|
|
67
82
|
{sections: sections}
|
68
83
|
end
|
69
84
|
|
70
|
-
rails_admin
|
85
|
+
rails_admin do
|
71
86
|
edit do
|
72
87
|
field :title
|
73
88
|
field :email_list
|
@@ -88,6 +103,16 @@ example:
|
|
88
103
|
end
|
89
104
|
end
|
90
105
|
```
|
106
|
+
|
107
|
+
in `app/views/chimpmunk/_posts.html.haml`, you should have an `mc:edit` somewhere in your template called 'posts'
|
108
|
+
|
109
|
+
```
|
110
|
+
- campaign.email_campaign_posts.map(&:post).each do |post|
|
111
|
+
.post.span-6
|
112
|
+
%h1= post.name
|
113
|
+
%p= post.body
|
114
|
+
```
|
115
|
+
|
91
116
|
## Contributing
|
92
117
|
|
93
118
|
1. Fork it ( https://github.com/[my-github-username]/chimpmunk/fork )
|
@@ -3,6 +3,9 @@ module Chimpmunk
|
|
3
3
|
class EmailCampaign < ::ActiveRecord::Base
|
4
4
|
attr_accessor :skip_update_callbacks, :skip_create_callbacks
|
5
5
|
|
6
|
+
# MC:EDIT tags used in email template sections
|
7
|
+
@@mc_edit_tags = []
|
8
|
+
|
6
9
|
# rails 3
|
7
10
|
attr_accessible :title, :from_email, :from_name, :email_list_id, :subject, :email_template_id, :mailchimp_list_id, :send_date,
|
8
11
|
:mailchimp_campaign_id, :emails_sent, :clicked, :opened, :status, :hard_bounces, :soft_bounces, :unsubscribes, :forwards,
|
@@ -62,6 +65,17 @@ module Chimpmunk
|
|
62
65
|
end
|
63
66
|
end
|
64
67
|
|
68
|
+
#
|
69
|
+
# store mc:edit tag names
|
70
|
+
#
|
71
|
+
def self.editable_areas(*mc_edit_tags)
|
72
|
+
@@mc_edit_tags = mc_edit_tags
|
73
|
+
end
|
74
|
+
|
75
|
+
def self.mc_edit_tags
|
76
|
+
@@mc_edit_tags
|
77
|
+
end
|
78
|
+
|
65
79
|
#
|
66
80
|
# create has_many associations
|
67
81
|
#
|
@@ -169,14 +183,24 @@ module Chimpmunk
|
|
169
183
|
end
|
170
184
|
end
|
171
185
|
|
172
|
-
|
173
|
-
|
174
|
-
#
|
186
|
+
private
|
187
|
+
|
188
|
+
#
|
189
|
+
# content for campaign
|
190
|
+
#
|
175
191
|
def content
|
176
|
-
|
177
|
-
end
|
192
|
+
sections = {}
|
178
193
|
|
179
|
-
|
194
|
+
@@tags.each do |tag|
|
195
|
+
directory = "chimpmunk"
|
196
|
+
|
197
|
+
if File.directory?("app/views/#{directory}") && !Dir["app/views/#{directory}/_#{tag}**"].empty?
|
198
|
+
sections[tag] = action_view.render "#{directory}/#{tag}", campaign: self
|
199
|
+
end
|
200
|
+
end
|
201
|
+
|
202
|
+
{sections: sections}
|
203
|
+
end
|
180
204
|
|
181
205
|
def action_view
|
182
206
|
@action_view ||= ActionView::Base.new(Rails.configuration.paths["app/views"])
|
data/lib/chimpmunk/version.rb
CHANGED
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.
|
4
|
+
version: 0.0.3
|
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-
|
11
|
+
date: 2015-02-13 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: activerecord
|