ahoy_email 0.2.3 → 0.2.4
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.md +4 -0
- data/README.md +14 -0
- data/lib/ahoy_email/processor.rb +9 -4
- data/lib/ahoy_email/version.rb +1 -1
- data/lib/generators/ahoy_email/templates/install.rb +8 -5
- 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: 784f96fb14f9b6b23c849aa435ffbbf3acdac543
|
4
|
+
data.tar.gz: 6cc58343026c75ad6536665617838a5b593669ad
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: a19c3241eeaa13893da620b0eea2d35dda95948a5603591e33067de0805e0daad208929da1d6d6f86b26b1a6c93598e2c51536888d1a0215b93c9d6957651c84
|
7
|
+
data.tar.gz: cc06e0550beaff17574a3f57108cd444584c5d17eb7a91bc7efa8b81f7f2f42fe3cc8937c97110f8b1c09fa4a010cf60977d86c210d83730d7fbcc603c806d2f
|
data/CHANGELOG.md
CHANGED
data/README.md
CHANGED
@@ -114,6 +114,14 @@ Use `track utm_params: false` to skip tagging, or skip specific links with:
|
|
114
114
|
<a data-skip-utm-params="true" href="...">Break it down</a>
|
115
115
|
```
|
116
116
|
|
117
|
+
### Extra Attributes
|
118
|
+
|
119
|
+
Create a migration to add extra attributes to the `ahoy_messages` table and use:
|
120
|
+
|
121
|
+
```ruby
|
122
|
+
track extra: {campaign_id: 1}
|
123
|
+
```
|
124
|
+
|
117
125
|
## Customize
|
118
126
|
|
119
127
|
### Tracking
|
@@ -218,6 +226,12 @@ Use a different model
|
|
218
226
|
AhoyEmail.message_model = UserMessage
|
219
227
|
```
|
220
228
|
|
229
|
+
## Upgrading
|
230
|
+
|
231
|
+
### 0.2.3
|
232
|
+
|
233
|
+
Optionally, you can store UTM parameters by adding `utm_source`, `utm_medium`, and `utm_campaign` columns to your message model.
|
234
|
+
|
221
235
|
## History
|
222
236
|
|
223
237
|
View the [changelog](https://github.com/ankane/ahoy_email/blob/master/CHANGELOG.md)
|
data/lib/ahoy_email/processor.rb
CHANGED
@@ -2,6 +2,8 @@ module AhoyEmail
|
|
2
2
|
class Processor
|
3
3
|
attr_reader :message, :mailer, :ahoy_message
|
4
4
|
|
5
|
+
UTM_PARAMETERS = %w(utm_source utm_medium utm_term utm_content utm_campaign)
|
6
|
+
|
5
7
|
def initialize(message, mailer = nil)
|
6
8
|
@message = message
|
7
9
|
@mailer = mailer
|
@@ -18,13 +20,16 @@ module AhoyEmail
|
|
18
20
|
track_open if options[:open]
|
19
21
|
track_links if options[:utm_params] || options[:click]
|
20
22
|
|
21
|
-
ahoy_message.utm_source = options[:utm_source] if ahoy_message.respond_to?(:utm_source=)
|
22
|
-
ahoy_message.utm_medium = options[:utm_medium] if ahoy_message.respond_to?(:utm_medium=)
|
23
|
-
ahoy_message.utm_campaign = options[:utm_campaign] if ahoy_message.respond_to?(:utm_campaign=)
|
24
23
|
ahoy_message.mailer = options[:mailer] if ahoy_message.respond_to?(:mailer=)
|
25
24
|
ahoy_message.subject = message.subject if ahoy_message.respond_to?(:subject=)
|
26
25
|
ahoy_message.content = message.to_s if ahoy_message.respond_to?(:content=)
|
27
26
|
|
27
|
+
UTM_PARAMETERS.each do |k|
|
28
|
+
ahoy_message.send("#{k}=", options[k.to_sym]) if ahoy_message.respond_to?("#{k}=")
|
29
|
+
end
|
30
|
+
|
31
|
+
ahoy_message.assign_attributes(options[:extra] || {})
|
32
|
+
|
28
33
|
ahoy_message.save
|
29
34
|
message["Ahoy-Message-Id"] = ahoy_message.id.to_s
|
30
35
|
end
|
@@ -98,7 +103,7 @@ module AhoyEmail
|
|
98
103
|
if options[:utm_params] && !skip_attribute?(link, "utm-params")
|
99
104
|
uri = Addressable::URI.parse(link["href"])
|
100
105
|
params = uri.query_values || {}
|
101
|
-
|
106
|
+
UTM_PARAMETERS.each do |key|
|
102
107
|
params[key] ||= options[key.to_sym] if options[key.to_sym]
|
103
108
|
end
|
104
109
|
uri.query_values = params
|
data/lib/ahoy_email/version.rb
CHANGED
@@ -8,14 +8,17 @@ class <%= migration_class_name %> < ActiveRecord::Migration
|
|
8
8
|
t.integer :user_id
|
9
9
|
t.string :user_type
|
10
10
|
|
11
|
-
# optional
|
12
|
-
# feel free to remove
|
11
|
+
# optional - feel free to remove
|
13
12
|
t.string :mailer
|
14
13
|
t.text :subject
|
15
14
|
t.text :content
|
16
|
-
|
17
|
-
|
18
|
-
t.string :
|
15
|
+
|
16
|
+
# optional
|
17
|
+
# t.string :utm_source
|
18
|
+
# t.string :utm_medium
|
19
|
+
# t.string :utm_term
|
20
|
+
# t.string :utm_content
|
21
|
+
# t.string :utm_campaign
|
19
22
|
|
20
23
|
# timestamps
|
21
24
|
t.timestamp :sent_at
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: ahoy_email
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.2.
|
4
|
+
version: 0.2.4
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Andrew Kane
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2015-
|
11
|
+
date: 2015-07-30 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rails
|