analytics-js-rails 0.11.0.rc1

Sign up to get free protection for your applications and to get access to all the features.
@@ -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>
@@ -0,0 +1,5 @@
1
+ require "analytics-js/version"
2
+
3
+ module AnalyticsJs
4
+ # Your code goes here...
5
+ end
@@ -0,0 +1,3 @@
1
+ module AnalyticsJs
2
+ VERSION = "0.11.0.rc1"
3
+ end
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: []