analytics-rails 0.3.3 → 0.3.4
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/README.md +16 -7
- data/lib/analytics/rails/extensions/action_view/base.rb +10 -6
- data/lib/analytics/rails/version.rb +1 -1
- data/test/dummy/log/development.log +0 -0
- data/test/dummy/log/test.log +39 -0
- data/test/tag_test.rb +2 -2
- metadata +3 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 4c9c5ff2a82ba6b5ac6710f3ddc9182b16422e79
|
4
|
+
data.tar.gz: aff5d90f8e35aae72b24adfdbeb7ddecdecb8d48
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: c6960cd38d01777676e103380aaead46a7215d2e5bcf9e25606d9d6f104914c23601029230780879823435e4c841dac4f2f9358a4e391f3eba699bf1fcea5d93
|
7
|
+
data.tar.gz: 3e260ba74f22108697407de4355076f428bde4645231fb61eb1f1105596c2c515f8401dcef433d1f73f9260395973f34c72becac784404bb239d9a145e76e2dd
|
data/README.md
CHANGED
@@ -27,22 +27,31 @@ $ bundle
|
|
27
27
|
|
28
28
|
## Usage
|
29
29
|
|
30
|
-
|
30
|
+
Include tag must be added before any other tag in order to work and only will be shown in production.
|
31
|
+
|
32
|
+
### Include
|
33
|
+
|
34
|
+
In your layout add a line like this in your head:
|
31
35
|
```erb
|
32
|
-
<%= google_analytics_include_tag '
|
36
|
+
<%= google_analytics_include_tag 'id' %>
|
33
37
|
```
|
34
38
|
|
35
|
-
You can add
|
39
|
+
You can add metrics if you want:
|
36
40
|
```erb
|
37
|
-
<%= google_analytics_include_tag '
|
41
|
+
<%= google_analytics_include_tag 'id', metric: 'value' %>
|
38
42
|
```
|
39
43
|
|
40
|
-
|
44
|
+
### Events
|
45
|
+
|
46
|
+
To send events add a line like this with the category and action:
|
41
47
|
```erb
|
42
|
-
<%= google_analytics_event_tag '
|
48
|
+
<%= google_analytics_event_tag 'Video', 'play' %>
|
43
49
|
```
|
44
50
|
|
45
|
-
|
51
|
+
You can add label, value and other options too if you want:
|
52
|
+
```erb
|
53
|
+
<%= google_analytics_event_tag 'Video', 'play', 'Fall Campaign', 42, metric: 'value' %>
|
54
|
+
```
|
46
55
|
|
47
56
|
## Credits
|
48
57
|
|
@@ -6,31 +6,35 @@ module Analytics
|
|
6
6
|
|
7
7
|
def google_analytics_include_tag(*args)
|
8
8
|
if ::Rails.env.production?
|
9
|
-
options = args
|
9
|
+
options = extract_google_analytics_options(args)
|
10
10
|
id = args.first
|
11
|
-
variables = options.to_json
|
12
11
|
content_tag :script, <<-SCRIPT.html_safe, type: 'text/javascript'
|
13
12
|
(function(i,s,o,g,r,a,m){i["GoogleAnalyticsObject"]=r;i[r]=i[r]||function(){
|
14
13
|
(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
|
15
14
|
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
|
16
15
|
})(window,document,"script","https://www.google-analytics.com/analytics.js","ga");
|
17
16
|
ga("create", "#{id}", "auto");
|
18
|
-
ga("send", "pageview", #{
|
17
|
+
ga("send", "pageview", #{options});
|
19
18
|
SCRIPT
|
20
19
|
end
|
21
20
|
end
|
22
21
|
|
23
22
|
def google_analytics_event_tag(*args)
|
24
23
|
if ::Rails.env.production?
|
25
|
-
options = args
|
24
|
+
options = extract_google_analytics_options(args)
|
26
25
|
args = args.map(&:to_json).join(', ')
|
27
|
-
variables = options.to_json
|
28
26
|
content_tag :script, <<-SCRIPT.html_safe, type: 'text/javascript'
|
29
|
-
ga("send", "event", #{args}, #{
|
27
|
+
ga("send", "event", #{args}, #{options});
|
30
28
|
SCRIPT
|
31
29
|
end
|
32
30
|
end
|
33
31
|
|
32
|
+
private
|
33
|
+
|
34
|
+
def extract_google_analytics_options(args)
|
35
|
+
args.extract_options!.transform_keys{ |key| key.to_s.camelize(:lower) }.to_json
|
36
|
+
end
|
37
|
+
|
34
38
|
end
|
35
39
|
end
|
36
40
|
end
|
File without changes
|
data/test/dummy/log/test.log
CHANGED
@@ -118,3 +118,42 @@ TagTest: test_event
|
|
118
118
|
---------------------
|
119
119
|
TagTest: test_include
|
120
120
|
---------------------
|
121
|
+
-------------------
|
122
|
+
TagTest: test_event
|
123
|
+
-------------------
|
124
|
+
---------------------
|
125
|
+
TagTest: test_include
|
126
|
+
---------------------
|
127
|
+
-------------------
|
128
|
+
TagTest: test_event
|
129
|
+
-------------------
|
130
|
+
---------------------
|
131
|
+
TagTest: test_include
|
132
|
+
---------------------
|
133
|
+
-------------------
|
134
|
+
TagTest: test_event
|
135
|
+
-------------------
|
136
|
+
-------------------
|
137
|
+
TagTest: test_event
|
138
|
+
-------------------
|
139
|
+
---------------------
|
140
|
+
TagTest: test_include
|
141
|
+
---------------------
|
142
|
+
-------------------
|
143
|
+
TagTest: test_event
|
144
|
+
-------------------
|
145
|
+
---------------------
|
146
|
+
TagTest: test_include
|
147
|
+
---------------------
|
148
|
+
-------------------
|
149
|
+
TagTest: test_event
|
150
|
+
-------------------
|
151
|
+
---------------------
|
152
|
+
TagTest: test_include
|
153
|
+
---------------------
|
154
|
+
-------------------
|
155
|
+
TagTest: test_event
|
156
|
+
-------------------
|
157
|
+
---------------------
|
158
|
+
TagTest: test_include
|
159
|
+
---------------------
|
data/test/tag_test.rb
CHANGED
@@ -25,8 +25,8 @@ class TagTest < ActionView::TestCase
|
|
25
25
|
'ga("send", "event", "Popup", "click", {});'
|
26
26
|
)
|
27
27
|
assert_includes(
|
28
|
-
google_analytics_event_tag('Video', 'play', 'ad.mp4', 10,
|
29
|
-
'ga("send", "event", "Video", "play", "ad.mp4", 10, {"
|
28
|
+
google_analytics_event_tag('Video', 'play', 'ad.mp4', 10, non_interactive: 'value'),
|
29
|
+
'ga("send", "event", "Video", "play", "ad.mp4", 10, {"nonInteractive":"value"});'
|
30
30
|
)
|
31
31
|
end
|
32
32
|
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: analytics-rails
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.3.
|
4
|
+
version: 0.3.4
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- mmontossi
|
@@ -73,6 +73,7 @@ files:
|
|
73
73
|
- test/dummy/config/locales/en.yml
|
74
74
|
- test/dummy/config/routes.rb
|
75
75
|
- test/dummy/config/secrets.yml
|
76
|
+
- test/dummy/log/development.log
|
76
77
|
- test/dummy/log/test.log
|
77
78
|
- test/dummy/public/404.html
|
78
79
|
- test/dummy/public/422.html
|
@@ -132,6 +133,7 @@ test_files:
|
|
132
133
|
- test/dummy/config/routes.rb
|
133
134
|
- test/dummy/config/secrets.yml
|
134
135
|
- test/dummy/config.ru
|
136
|
+
- test/dummy/log/development.log
|
135
137
|
- test/dummy/log/test.log
|
136
138
|
- test/dummy/public/404.html
|
137
139
|
- test/dummy/public/422.html
|