email_tracker 0.3.0 → 0.4.0
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.
- data/README.md +6 -0
- data/lib/email_tracker.rb +2 -2
- data/lib/email_tracker/helpers.rb +17 -7
- data/lib/email_tracker/version.rb +1 -1
- metadata +26 -15
data/README.md
CHANGED
@@ -6,6 +6,12 @@ This engine tracks emails in your Ruby on Rails app.
|
|
6
6
|
|
7
7
|
To use in Rails, simply add this to your Gemfile:
|
8
8
|
gem "email_tracker"
|
9
|
+
|
10
|
+
The run the migrations:
|
11
|
+
```
|
12
|
+
rake email_tracker:install:migrations
|
13
|
+
rake rake:db:migrate
|
14
|
+
```
|
9
15
|
|
10
16
|
The gem should just start running. All emails will have an embedded tracking image and all links will be tracked.
|
11
17
|
|
data/lib/email_tracker.rb
CHANGED
@@ -4,11 +4,11 @@ require "email_tracker/helpers"
|
|
4
4
|
module EmailTracker
|
5
5
|
|
6
6
|
def self.hash_email_address(email)
|
7
|
-
Base64.encode64(email).strip
|
7
|
+
Base64.encode64(email).strip
|
8
8
|
end
|
9
9
|
|
10
10
|
def self.retrieve_email_address_from_hash(hash)
|
11
|
-
Base64.decode64(
|
11
|
+
Base64.decode64(hash)
|
12
12
|
end
|
13
13
|
|
14
14
|
end
|
@@ -9,13 +9,23 @@ module EmailTracker
|
|
9
9
|
protected
|
10
10
|
|
11
11
|
def check_for_email_tracker
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
12
|
+
|
13
|
+
begin
|
14
|
+
if params[:et]
|
15
|
+
|
16
|
+
path_without_tracking = request.fullpath.gsub("et=#{CGI.escape(params[:et])}", "").gsub(/[\&\?]$/, "")
|
17
|
+
|
18
|
+
email_id, email_address_hash = params[:et].split("_")
|
19
|
+
EmailTracker::LinkClick.create({
|
20
|
+
email_id: email_id,
|
21
|
+
email_address_hash: email_address_hash,
|
22
|
+
url: path_without_tracking
|
23
|
+
}, as: :email_tracker_internals)
|
24
|
+
|
25
|
+
redirect_to path_without_tracking
|
26
|
+
end
|
27
|
+
rescue
|
28
|
+
logger.info $!
|
19
29
|
end
|
20
30
|
true
|
21
31
|
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: email_tracker
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.4.0
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,11 +9,11 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2013-
|
12
|
+
date: 2013-02-04 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: rails
|
16
|
-
requirement: &
|
16
|
+
requirement: &70333740528680 !ruby/object:Gem::Requirement
|
17
17
|
none: false
|
18
18
|
requirements:
|
19
19
|
- - ! '>='
|
@@ -21,10 +21,10 @@ dependencies:
|
|
21
21
|
version: '0'
|
22
22
|
type: :runtime
|
23
23
|
prerelease: false
|
24
|
-
version_requirements: *
|
24
|
+
version_requirements: *70333740528680
|
25
25
|
- !ruby/object:Gem::Dependency
|
26
26
|
name: sqlite3
|
27
|
-
requirement: &
|
27
|
+
requirement: &70333740528180 !ruby/object:Gem::Requirement
|
28
28
|
none: false
|
29
29
|
requirements:
|
30
30
|
- - ! '>='
|
@@ -32,10 +32,10 @@ dependencies:
|
|
32
32
|
version: '0'
|
33
33
|
type: :development
|
34
34
|
prerelease: false
|
35
|
-
version_requirements: *
|
35
|
+
version_requirements: *70333740528180
|
36
36
|
- !ruby/object:Gem::Dependency
|
37
37
|
name: rspec-rails
|
38
|
-
requirement: &
|
38
|
+
requirement: &70333740527540 !ruby/object:Gem::Requirement
|
39
39
|
none: false
|
40
40
|
requirements:
|
41
41
|
- - ! '>='
|
@@ -43,10 +43,10 @@ dependencies:
|
|
43
43
|
version: '0'
|
44
44
|
type: :development
|
45
45
|
prerelease: false
|
46
|
-
version_requirements: *
|
46
|
+
version_requirements: *70333740527540
|
47
47
|
- !ruby/object:Gem::Dependency
|
48
48
|
name: factory_girl_rails
|
49
|
-
requirement: &
|
49
|
+
requirement: &70333740526840 !ruby/object:Gem::Requirement
|
50
50
|
none: false
|
51
51
|
requirements:
|
52
52
|
- - ! '>='
|
@@ -54,10 +54,10 @@ dependencies:
|
|
54
54
|
version: '0'
|
55
55
|
type: :development
|
56
56
|
prerelease: false
|
57
|
-
version_requirements: *
|
57
|
+
version_requirements: *70333740526840
|
58
58
|
- !ruby/object:Gem::Dependency
|
59
|
-
name:
|
60
|
-
requirement: &
|
59
|
+
name: capybara
|
60
|
+
requirement: &70333740526400 !ruby/object:Gem::Requirement
|
61
61
|
none: false
|
62
62
|
requirements:
|
63
63
|
- - ! '>='
|
@@ -65,10 +65,21 @@ dependencies:
|
|
65
65
|
version: '0'
|
66
66
|
type: :development
|
67
67
|
prerelease: false
|
68
|
-
version_requirements: *
|
68
|
+
version_requirements: *70333740526400
|
69
|
+
- !ruby/object:Gem::Dependency
|
70
|
+
name: capybara-webkit
|
71
|
+
requirement: &70333740525980 !ruby/object:Gem::Requirement
|
72
|
+
none: false
|
73
|
+
requirements:
|
74
|
+
- - ! '>='
|
75
|
+
- !ruby/object:Gem::Version
|
76
|
+
version: '0'
|
77
|
+
type: :development
|
78
|
+
prerelease: false
|
79
|
+
version_requirements: *70333740525980
|
69
80
|
- !ruby/object:Gem::Dependency
|
70
81
|
name: method_profiler
|
71
|
-
requirement: &
|
82
|
+
requirement: &70333740541920 !ruby/object:Gem::Requirement
|
72
83
|
none: false
|
73
84
|
requirements:
|
74
85
|
- - ! '>='
|
@@ -76,7 +87,7 @@ dependencies:
|
|
76
87
|
version: '0'
|
77
88
|
type: :development
|
78
89
|
prerelease: false
|
79
|
-
version_requirements: *
|
90
|
+
version_requirements: *70333740541920
|
80
91
|
description: A plugin for Rails apps that tracks email.
|
81
92
|
email:
|
82
93
|
- jez.walker@gmail.com
|