analytics-js-rails 0.11.0.rc1
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/.gitignore +17 -0
- data/Gemfile +4 -0
- data/LICENSE +22 -0
- data/README.md +51 -0
- data/Rakefile +1 -0
- data/analytics-js-rails.gemspec +25 -0
- data/app/assets/javascripts/analytics.js +3787 -0
- data/app/views/analytics-js/_loader.html.erb +55 -0
- data/lib/analytics-js-rails.rb +5 -0
- data/lib/analytics-js/version.rb +3 -0
- metadata +124 -0
@@ -0,0 +1,55 @@
|
|
1
|
+
<script type="text/javascript">
|
2
|
+
// Create a queue, but don't obliterate an existing one! After the script has loaded, analytics.js is available as the global variable `analytics`.
|
3
|
+
var analytics = analytics || [];
|
4
|
+
|
5
|
+
(function () {
|
6
|
+
|
7
|
+
// A list of all the methods we want to generate queueing stubs for.
|
8
|
+
var methods = [
|
9
|
+
'identify', 'track', 'trackLink', 'trackForm', 'trackClick', 'trackSubmit',
|
10
|
+
'page', 'pageview', 'ab', 'alias', 'ready', 'group'
|
11
|
+
];
|
12
|
+
|
13
|
+
// For each of our methods, generate a queueing method that pushes arrays of
|
14
|
+
// arguments onto our `analytics` queue. The first element of the array
|
15
|
+
// is always the name of the analytics.js method itself (eg. `track`), so that
|
16
|
+
// we know where to replay them when analytics.js finally loads.
|
17
|
+
var factory = function (method) {
|
18
|
+
return function () {
|
19
|
+
analytics.push([method].concat(Array.prototype.slice.call(arguments, 0)));
|
20
|
+
};
|
21
|
+
};
|
22
|
+
|
23
|
+
for (var i = 0; i < methods.length; i++) {
|
24
|
+
analytics[methods[i]] = factory(methods[i]);
|
25
|
+
}
|
26
|
+
|
27
|
+
}());
|
28
|
+
|
29
|
+
// Define a method that will asynchronously load analytics.js
|
30
|
+
analytics.load = function(callback) {
|
31
|
+
// Create an async script element for analytics.js, hosted on your own server
|
32
|
+
var script = document.createElement('script');
|
33
|
+
script.type = 'text/javascript';
|
34
|
+
script.async = true;
|
35
|
+
script.src = '<%= asset_url("analytics.js") %>';
|
36
|
+
|
37
|
+
script.addEventListener('load', function (e) {
|
38
|
+
if(typeof callback == 'function') {
|
39
|
+
callback(e);
|
40
|
+
}
|
41
|
+
}, false);
|
42
|
+
|
43
|
+
// Find the first script element on the page and insert our script next to it.
|
44
|
+
var firstScript = document.getElementsByTagName('script')[0];
|
45
|
+
firstScript.parentNode.insertBefore(script, firstScript);
|
46
|
+
};
|
47
|
+
|
48
|
+
// Load analytics.js asynchronously. Note that the rest of these calls will
|
49
|
+
// also be async, since they will follow the loading.
|
50
|
+
analytics.load(function () {
|
51
|
+
analytics.initialize(<%= providers.to_json.html_safe %>);
|
52
|
+
|
53
|
+
analytics.identify('<%= current_user.try(:id) %>')
|
54
|
+
});
|
55
|
+
</script>
|
metadata
ADDED
@@ -0,0 +1,124 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: analytics-js-rails
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 0.11.0.rc1
|
5
|
+
prerelease: 7
|
6
|
+
platform: ruby
|
7
|
+
authors:
|
8
|
+
- Phill Baker
|
9
|
+
autorequire:
|
10
|
+
bindir: bin
|
11
|
+
cert_chain: []
|
12
|
+
date: 2013-09-18 00:00:00.000000000 Z
|
13
|
+
dependencies:
|
14
|
+
- !ruby/object:Gem::Dependency
|
15
|
+
name: railties
|
16
|
+
requirement: !ruby/object:Gem::Requirement
|
17
|
+
none: false
|
18
|
+
requirements:
|
19
|
+
- - ! '>='
|
20
|
+
- !ruby/object:Gem::Version
|
21
|
+
version: 3.1.0
|
22
|
+
type: :runtime
|
23
|
+
prerelease: false
|
24
|
+
version_requirements: !ruby/object:Gem::Requirement
|
25
|
+
none: false
|
26
|
+
requirements:
|
27
|
+
- - ! '>='
|
28
|
+
- !ruby/object:Gem::Version
|
29
|
+
version: 3.1.0
|
30
|
+
- !ruby/object:Gem::Dependency
|
31
|
+
name: bundler
|
32
|
+
requirement: !ruby/object:Gem::Requirement
|
33
|
+
none: false
|
34
|
+
requirements:
|
35
|
+
- - ! '>='
|
36
|
+
- !ruby/object:Gem::Version
|
37
|
+
version: 1.0.0
|
38
|
+
type: :development
|
39
|
+
prerelease: false
|
40
|
+
version_requirements: !ruby/object:Gem::Requirement
|
41
|
+
none: false
|
42
|
+
requirements:
|
43
|
+
- - ! '>='
|
44
|
+
- !ruby/object:Gem::Version
|
45
|
+
version: 1.0.0
|
46
|
+
- !ruby/object:Gem::Dependency
|
47
|
+
name: rake
|
48
|
+
requirement: !ruby/object:Gem::Requirement
|
49
|
+
none: false
|
50
|
+
requirements:
|
51
|
+
- - ! '>='
|
52
|
+
- !ruby/object:Gem::Version
|
53
|
+
version: '0'
|
54
|
+
type: :development
|
55
|
+
prerelease: false
|
56
|
+
version_requirements: !ruby/object:Gem::Requirement
|
57
|
+
none: false
|
58
|
+
requirements:
|
59
|
+
- - ! '>='
|
60
|
+
- !ruby/object:Gem::Version
|
61
|
+
version: '0'
|
62
|
+
- !ruby/object:Gem::Dependency
|
63
|
+
name: rspec
|
64
|
+
requirement: !ruby/object:Gem::Requirement
|
65
|
+
none: false
|
66
|
+
requirements:
|
67
|
+
- - ! '>='
|
68
|
+
- !ruby/object:Gem::Version
|
69
|
+
version: '0'
|
70
|
+
type: :development
|
71
|
+
prerelease: false
|
72
|
+
version_requirements: !ruby/object:Gem::Requirement
|
73
|
+
none: false
|
74
|
+
requirements:
|
75
|
+
- - ! '>='
|
76
|
+
- !ruby/object:Gem::Version
|
77
|
+
version: '0'
|
78
|
+
description: A self-hosted copy of Analytics.js, a wrapper for web analytics services,
|
79
|
+
for the Ruby on Rails 3.1+ asset pipeline.
|
80
|
+
email:
|
81
|
+
- phill@generalassemb.ly
|
82
|
+
executables: []
|
83
|
+
extensions: []
|
84
|
+
extra_rdoc_files: []
|
85
|
+
files:
|
86
|
+
- .gitignore
|
87
|
+
- Gemfile
|
88
|
+
- LICENSE
|
89
|
+
- README.md
|
90
|
+
- Rakefile
|
91
|
+
- analytics-js-rails.gemspec
|
92
|
+
- app/assets/javascripts/analytics.js
|
93
|
+
- app/views/analytics-js/_loader.html.erb
|
94
|
+
- lib/analytics-js-rails.rb
|
95
|
+
- lib/analytics-js/version.rb
|
96
|
+
homepage: https://github.com/phillbaker/analytics-js-rails
|
97
|
+
licenses:
|
98
|
+
- MIT
|
99
|
+
post_install_message:
|
100
|
+
rdoc_options: []
|
101
|
+
require_paths:
|
102
|
+
- lib
|
103
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
104
|
+
none: false
|
105
|
+
requirements:
|
106
|
+
- - ! '>='
|
107
|
+
- !ruby/object:Gem::Version
|
108
|
+
version: '0'
|
109
|
+
segments:
|
110
|
+
- 0
|
111
|
+
hash: -1967431797951267172
|
112
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
113
|
+
none: false
|
114
|
+
requirements:
|
115
|
+
- - ! '>'
|
116
|
+
- !ruby/object:Gem::Version
|
117
|
+
version: 1.3.1
|
118
|
+
requirements: []
|
119
|
+
rubyforge_project:
|
120
|
+
rubygems_version: 1.8.23
|
121
|
+
signing_key:
|
122
|
+
specification_version: 3
|
123
|
+
summary: Rails + your app + analytics.js = analytics in all the right places
|
124
|
+
test_files: []
|