analytics-rails 0.1.1 → 0.2.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.
- checksums.yaml +4 -4
- data/README.md +10 -0
- data/lib/analytics/rails/action_view/base.rb +20 -2
- data/lib/analytics/rails/version.rb +1 -1
- data/test/dummy/log/test.log +90 -0
- data/test/include_tag_test.rb +8 -0
- metadata +6 -6
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 85b7455b778150eeb651014c18755febbd09e7a1
|
4
|
+
data.tar.gz: 2cd193d945a371f2d6827da599b7f57b69bb3df7
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: aedd14aa56d3130fd3e815395d3a557c8d149ac2eaa3010a61dfd4c043d875200536dd20f37cfc0470e53b29f8cb0dc81c8fec8f0135ba47eda12ea01a40619a
|
7
|
+
data.tar.gz: 3f07a2a70f252aa63792307c90451848eca4a0bc568c12926d3083975f378cc147439c629f5e3706bb3d33e3851b9e59d39468731d45b230efb38294ea859382
|
data/README.md
CHANGED
@@ -23,6 +23,16 @@ In your layout add a line like this in your head:
|
|
23
23
|
<%= google_analytics_include_tag 'your-id' %>
|
24
24
|
```
|
25
25
|
|
26
|
+
You can add custom events:
|
27
|
+
```erb
|
28
|
+
<%= google_analytics_include_tag 'your-id', events: [['Popup', 'Click']] %>
|
29
|
+
```
|
30
|
+
|
31
|
+
And custom variables:
|
32
|
+
```erb
|
33
|
+
<%= google_analytics_include_tag 'your-id', variables: [[1, 'Member', 'Yes', 1]] %>
|
34
|
+
```
|
35
|
+
|
26
36
|
NOTE: Will only show the include tag in production environment.
|
27
37
|
|
28
38
|
## Credits
|
@@ -3,17 +3,35 @@ module Analytics
|
|
3
3
|
module ActionView
|
4
4
|
module Base
|
5
5
|
|
6
|
-
def google_analytics_include_tag(
|
6
|
+
def google_analytics_include_tag(*args)
|
7
|
+
options = args.extract_options!
|
7
8
|
if ::Rails.env.production?
|
9
|
+
[:variables, :events].each do |name|
|
10
|
+
if options.has_key? name
|
11
|
+
options[name].map! do |values|
|
12
|
+
values.map(&:inspect).join(', ').gsub('"',"'")
|
13
|
+
end
|
14
|
+
else
|
15
|
+
options[name] = []
|
16
|
+
end
|
17
|
+
end
|
18
|
+
variables = options[:variables].map do |values|
|
19
|
+
"_gaq.push(['_setCustomVar', #{values}]);"
|
20
|
+
end
|
21
|
+
events = options[:events].map do |values|
|
22
|
+
"ga('send', 'event', #{values});"
|
23
|
+
end
|
8
24
|
script = <<-SCRIPT
|
9
25
|
var _gaq = _gaq || [];
|
10
|
-
_gaq.push(['_setAccount', '#{
|
26
|
+
_gaq.push(['_setAccount', '#{args.first}']);
|
27
|
+
#{variables.join("\n")}
|
11
28
|
_gaq.push(['_trackPageview']);
|
12
29
|
(function(){
|
13
30
|
var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
|
14
31
|
ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
|
15
32
|
var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
|
16
33
|
})();
|
34
|
+
#{events.join("\n")}
|
17
35
|
SCRIPT
|
18
36
|
content_tag :script, script.html_safe, type: 'text/javascript'
|
19
37
|
end
|
data/test/dummy/log/test.log
CHANGED
@@ -121,3 +121,93 @@ IncludeTagTest: test_should_return_include_tag_with_id
|
|
121
121
|
IncludeTagTest: test_tag_id
|
122
122
|
---------------------------
|
123
123
|
[1m[36m (0.0ms)[0m [1mrollback transaction[0m
|
124
|
+
[1m[36m (0.2ms)[0m [1mCREATE TABLE "schema_migrations" ("version" varchar NOT NULL) [0m
|
125
|
+
[1m[35m (0.1ms)[0m select sqlite_version(*)
|
126
|
+
[1m[36m (0.1ms)[0m [1mCREATE UNIQUE INDEX "unique_schema_migrations" ON "schema_migrations" ("version")[0m
|
127
|
+
[1m[35m (0.0ms)[0m SELECT version FROM "schema_migrations"
|
128
|
+
[1m[36m (0.0ms)[0m [1mINSERT INTO "schema_migrations" (version) VALUES ('0')[0m
|
129
|
+
[1m[36m (0.2ms)[0m [1mCREATE TABLE "schema_migrations" ("version" varchar NOT NULL) [0m
|
130
|
+
[1m[35m (0.0ms)[0m select sqlite_version(*)
|
131
|
+
[1m[36m (0.1ms)[0m [1mCREATE UNIQUE INDEX "unique_schema_migrations" ON "schema_migrations" ("version")[0m
|
132
|
+
[1m[35m (0.0ms)[0m SELECT version FROM "schema_migrations"
|
133
|
+
[1m[36m (0.0ms)[0m [1mINSERT INTO "schema_migrations" (version) VALUES ('0')[0m
|
134
|
+
[1m[35m (0.1ms)[0m begin transaction
|
135
|
+
---------------------------
|
136
|
+
IncludeTagTest: test_tag_id
|
137
|
+
---------------------------
|
138
|
+
[1m[36m (0.0ms)[0m [1mrollback transaction[0m
|
139
|
+
[1m[36m (0.2ms)[0m [1mCREATE TABLE "schema_migrations" ("version" varchar NOT NULL) [0m
|
140
|
+
[1m[35m (0.0ms)[0m select sqlite_version(*)
|
141
|
+
[1m[36m (0.1ms)[0m [1mCREATE UNIQUE INDEX "unique_schema_migrations" ON "schema_migrations" ("version")[0m
|
142
|
+
[1m[35m (0.0ms)[0m SELECT version FROM "schema_migrations"
|
143
|
+
[1m[36m (0.0ms)[0m [1mINSERT INTO "schema_migrations" (version) VALUES ('0')[0m
|
144
|
+
[1m[36m (0.2ms)[0m [1mCREATE TABLE "schema_migrations" ("version" varchar NOT NULL) [0m
|
145
|
+
[1m[35m (0.1ms)[0m select sqlite_version(*)
|
146
|
+
[1m[36m (0.1ms)[0m [1mCREATE UNIQUE INDEX "unique_schema_migrations" ON "schema_migrations" ("version")[0m
|
147
|
+
[1m[35m (0.1ms)[0m SELECT version FROM "schema_migrations"
|
148
|
+
[1m[36m (0.0ms)[0m [1mINSERT INTO "schema_migrations" (version) VALUES ('0')[0m
|
149
|
+
[1m[35m (0.1ms)[0m begin transaction
|
150
|
+
---------------------------
|
151
|
+
IncludeTagTest: test_tag_id
|
152
|
+
---------------------------
|
153
|
+
[1m[36m (0.0ms)[0m [1mrollback transaction[0m
|
154
|
+
[1m[36m (0.2ms)[0m [1mCREATE TABLE "schema_migrations" ("version" varchar NOT NULL) [0m
|
155
|
+
[1m[35m (0.0ms)[0m select sqlite_version(*)
|
156
|
+
[1m[36m (0.1ms)[0m [1mCREATE UNIQUE INDEX "unique_schema_migrations" ON "schema_migrations" ("version")[0m
|
157
|
+
[1m[35m (0.0ms)[0m SELECT version FROM "schema_migrations"
|
158
|
+
[1m[36m (0.0ms)[0m [1mINSERT INTO "schema_migrations" (version) VALUES ('0')[0m
|
159
|
+
[1m[36m (0.2ms)[0m [1mCREATE TABLE "schema_migrations" ("version" varchar NOT NULL) [0m
|
160
|
+
[1m[35m (0.0ms)[0m select sqlite_version(*)
|
161
|
+
[1m[36m (0.1ms)[0m [1mCREATE UNIQUE INDEX "unique_schema_migrations" ON "schema_migrations" ("version")[0m
|
162
|
+
[1m[35m (0.0ms)[0m SELECT version FROM "schema_migrations"
|
163
|
+
[1m[36m (0.0ms)[0m [1mINSERT INTO "schema_migrations" (version) VALUES ('0')[0m
|
164
|
+
[1m[35m (0.1ms)[0m begin transaction
|
165
|
+
---------------------------
|
166
|
+
IncludeTagTest: test_tag_id
|
167
|
+
---------------------------
|
168
|
+
[1m[36m (0.0ms)[0m [1mrollback transaction[0m
|
169
|
+
[1m[36m (0.2ms)[0m [1mCREATE TABLE "schema_migrations" ("version" varchar NOT NULL) [0m
|
170
|
+
[1m[35m (0.0ms)[0m select sqlite_version(*)
|
171
|
+
[1m[36m (0.1ms)[0m [1mCREATE UNIQUE INDEX "unique_schema_migrations" ON "schema_migrations" ("version")[0m
|
172
|
+
[1m[35m (0.0ms)[0m SELECT version FROM "schema_migrations"
|
173
|
+
[1m[36m (0.2ms)[0m [1mINSERT INTO "schema_migrations" (version) VALUES ('0')[0m
|
174
|
+
[1m[36m (0.3ms)[0m [1mCREATE TABLE "schema_migrations" ("version" varchar NOT NULL) [0m
|
175
|
+
[1m[35m (0.1ms)[0m select sqlite_version(*)
|
176
|
+
[1m[36m (0.1ms)[0m [1mCREATE UNIQUE INDEX "unique_schema_migrations" ON "schema_migrations" ("version")[0m
|
177
|
+
[1m[35m (0.1ms)[0m SELECT version FROM "schema_migrations"
|
178
|
+
[1m[36m (0.1ms)[0m [1mINSERT INTO "schema_migrations" (version) VALUES ('0')[0m
|
179
|
+
[1m[35m (0.1ms)[0m begin transaction
|
180
|
+
---------------------------
|
181
|
+
IncludeTagTest: test_tag_id
|
182
|
+
---------------------------
|
183
|
+
[1m[36m (0.0ms)[0m [1mrollback transaction[0m
|
184
|
+
[1m[36m (0.2ms)[0m [1mCREATE TABLE "schema_migrations" ("version" varchar NOT NULL) [0m
|
185
|
+
[1m[35m (0.0ms)[0m select sqlite_version(*)
|
186
|
+
[1m[36m (0.1ms)[0m [1mCREATE UNIQUE INDEX "unique_schema_migrations" ON "schema_migrations" ("version")[0m
|
187
|
+
[1m[35m (0.0ms)[0m SELECT version FROM "schema_migrations"
|
188
|
+
[1m[36m (0.0ms)[0m [1mINSERT INTO "schema_migrations" (version) VALUES ('0')[0m
|
189
|
+
[1m[36m (0.2ms)[0m [1mCREATE TABLE "schema_migrations" ("version" varchar NOT NULL) [0m
|
190
|
+
[1m[35m (0.0ms)[0m select sqlite_version(*)
|
191
|
+
[1m[36m (0.1ms)[0m [1mCREATE UNIQUE INDEX "unique_schema_migrations" ON "schema_migrations" ("version")[0m
|
192
|
+
[1m[35m (0.1ms)[0m SELECT version FROM "schema_migrations"
|
193
|
+
[1m[36m (0.0ms)[0m [1mINSERT INTO "schema_migrations" (version) VALUES ('0')[0m
|
194
|
+
[1m[35m (0.1ms)[0m begin transaction
|
195
|
+
---------------------------
|
196
|
+
IncludeTagTest: test_tag_id
|
197
|
+
---------------------------
|
198
|
+
[1m[36m (0.0ms)[0m [1mrollback transaction[0m
|
199
|
+
[1m[36m (0.2ms)[0m [1mCREATE TABLE "schema_migrations" ("version" varchar NOT NULL) [0m
|
200
|
+
[1m[35m (0.0ms)[0m select sqlite_version(*)
|
201
|
+
[1m[36m (0.1ms)[0m [1mCREATE UNIQUE INDEX "unique_schema_migrations" ON "schema_migrations" ("version")[0m
|
202
|
+
[1m[35m (0.0ms)[0m SELECT version FROM "schema_migrations"
|
203
|
+
[1m[36m (0.0ms)[0m [1mINSERT INTO "schema_migrations" (version) VALUES ('0')[0m
|
204
|
+
[1m[36m (0.2ms)[0m [1mCREATE TABLE "schema_migrations" ("version" varchar NOT NULL) [0m
|
205
|
+
[1m[35m (0.0ms)[0m select sqlite_version(*)
|
206
|
+
[1m[36m (0.1ms)[0m [1mCREATE UNIQUE INDEX "unique_schema_migrations" ON "schema_migrations" ("version")[0m
|
207
|
+
[1m[35m (0.0ms)[0m SELECT version FROM "schema_migrations"
|
208
|
+
[1m[36m (0.0ms)[0m [1mINSERT INTO "schema_migrations" (version) VALUES ('0')[0m
|
209
|
+
[1m[35m (0.1ms)[0m begin transaction
|
210
|
+
---------------------------
|
211
|
+
IncludeTagTest: test_tag_id
|
212
|
+
---------------------------
|
213
|
+
[1m[36m (0.1ms)[0m [1mrollback transaction[0m
|
data/test/include_tag_test.rb
CHANGED
@@ -5,6 +5,14 @@ class IncludeTagTest < ActionView::TestCase
|
|
5
5
|
test 'tag id' do
|
6
6
|
with_env 'production' do
|
7
7
|
assert google_analytics_include_tag('id').include?("_gaq.push(['_setAccount', 'id']);")
|
8
|
+
|
9
|
+
assert google_analytics_include_tag(
|
10
|
+
variables: [[1, 'Member', 'Yes', 1]]
|
11
|
+
).include?("_gaq.push(['_setCustomVar', 1, 'Member', 'Yes', 1])")
|
12
|
+
|
13
|
+
assert google_analytics_include_tag(
|
14
|
+
events: [['Popup', 'Click']]
|
15
|
+
).include?("ga('send', 'event', 'Popup', 'Click');")
|
8
16
|
end
|
9
17
|
end
|
10
18
|
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: analytics-rails
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.2.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Museways
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2015-
|
11
|
+
date: 2015-07-04 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rails
|
@@ -17,9 +17,9 @@ dependencies:
|
|
17
17
|
- - ">="
|
18
18
|
- !ruby/object:Gem::Version
|
19
19
|
version: 4.0.0
|
20
|
-
- - "
|
20
|
+
- - "<"
|
21
21
|
- !ruby/object:Gem::Version
|
22
|
-
version: 4.
|
22
|
+
version: 4.3.0
|
23
23
|
type: :runtime
|
24
24
|
prerelease: false
|
25
25
|
version_requirements: !ruby/object:Gem::Requirement
|
@@ -27,9 +27,9 @@ dependencies:
|
|
27
27
|
- - ">="
|
28
28
|
- !ruby/object:Gem::Version
|
29
29
|
version: 4.0.0
|
30
|
-
- - "
|
30
|
+
- - "<"
|
31
31
|
- !ruby/object:Gem::Version
|
32
|
-
version: 4.
|
32
|
+
version: 4.3.0
|
33
33
|
- !ruby/object:Gem::Dependency
|
34
34
|
name: sqlite3
|
35
35
|
requirement: !ruby/object:Gem::Requirement
|