lytix 0.1.0 → 0.1.1
Sign up to get free protection for your applications and to get access to all the features.
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.1.
|
1
|
+
0.1.1
|
@@ -0,0 +1,112 @@
|
|
1
|
+
Lytix.configure do
|
2
|
+
# Define a single Google Analytics account as follows:
|
3
|
+
#
|
4
|
+
# account "UA-123456-1"
|
5
|
+
#
|
6
|
+
# By default, this will include the basic analytics snippet on each HTML page. The default
|
7
|
+
# snippet looks like:
|
8
|
+
#
|
9
|
+
# <script type="text/javascript">
|
10
|
+
# var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");
|
11
|
+
# document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));
|
12
|
+
# </script>
|
13
|
+
# <script type="text/javascript">
|
14
|
+
# try{
|
15
|
+
# var pageTracker = _gat._getTracker("UA-123456-1");
|
16
|
+
# pageTracker._trackPageview();
|
17
|
+
# } catch(err) {}</script>
|
18
|
+
#
|
19
|
+
# For finer control over the behavior of the defined page tracker, use the +tracker+ method in
|
20
|
+
# an +account+ block:
|
21
|
+
#
|
22
|
+
# account "UA-123456-1" do
|
23
|
+
# tracker do
|
24
|
+
# set_allow_linker(true)
|
25
|
+
# end
|
26
|
+
# end
|
27
|
+
#
|
28
|
+
# Doing so would change the analytics snippet as follows:
|
29
|
+
#
|
30
|
+
# var pageTracker = _gat._getTracker("UA-123456-1");
|
31
|
+
# pageTracker.setAllowLinker(true);
|
32
|
+
# pageTracker._trackPageview();
|
33
|
+
#
|
34
|
+
# Any method can be declared within the tracker block. The method name will be properly camelized
|
35
|
+
# and the arguments properly formatted for inclusion in the snippet.
|
36
|
+
#
|
37
|
+
# E-commerce tracking is available through the transaction block. Within the account block, a
|
38
|
+
# transaction block may look similar to:
|
39
|
+
#
|
40
|
+
# account "UA-123456-1" do
|
41
|
+
# transaction do |order|
|
42
|
+
# _add_trans(
|
43
|
+
# order.id.to_s,
|
44
|
+
# "My Store",
|
45
|
+
# order.total.to_s,
|
46
|
+
# order.tax.to_s,
|
47
|
+
# order.shipping.to_s,
|
48
|
+
# order.billing_address.city,
|
49
|
+
# order.billing_address.state,
|
50
|
+
# order.billing_address.country
|
51
|
+
# )
|
52
|
+
# order.line_items.each do |line_item|
|
53
|
+
# _add_item(
|
54
|
+
# order.id.to_s,
|
55
|
+
# line_item.product.sku,
|
56
|
+
# line_item.product.name,
|
57
|
+
# line_item.product.category,
|
58
|
+
# line_item.unit_price.to_s,
|
59
|
+
# line_item.quantity.to_s
|
60
|
+
# )
|
61
|
+
# end
|
62
|
+
# _track_trans
|
63
|
+
# end
|
64
|
+
# end
|
65
|
+
#
|
66
|
+
# The transaction block can accept any number of arguments. Passing values to the :transaction
|
67
|
+
# option when generating the analytics snippet will pass those values into the transaction block.
|
68
|
+
# For instance:
|
69
|
+
#
|
70
|
+
# google_analytics :transaction => @order
|
71
|
+
#
|
72
|
+
# may produce the following snippet:
|
73
|
+
#
|
74
|
+
# <script type="text/javascript">
|
75
|
+
# var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");
|
76
|
+
# document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));
|
77
|
+
# </script>
|
78
|
+
# <script type="text/javascript">
|
79
|
+
# try{
|
80
|
+
# var pageTracker = _gat._getTracker("UA-123456-1");
|
81
|
+
# pageTracker._trackPageview();
|
82
|
+
# pageTracker._addTrans("123", "My Store", "40.00", "2.40", "10.00", "Holland", "Michigan", "USA");
|
83
|
+
# pageTracker._addItem("123", "ABC", "Sweatshirt", "Orange", "20.00", "2");
|
84
|
+
# pageTracker1._trackTrans();
|
85
|
+
# } catch(err) {}</script>
|
86
|
+
#
|
87
|
+
# Multiple accounts may be defined separately:
|
88
|
+
#
|
89
|
+
# account "UA-123456-1"
|
90
|
+
# account "UA-654321-1"
|
91
|
+
#
|
92
|
+
# or together:
|
93
|
+
#
|
94
|
+
# account "UA-123456-1", "UA-654321-1"
|
95
|
+
#
|
96
|
+
# Accounts can also be given names for easy inclusion/exclusion on any given page:
|
97
|
+
#
|
98
|
+
# account :default => "UA-123456-1"
|
99
|
+
# account :client => "UA-654321-1"
|
100
|
+
#
|
101
|
+
# Inclusion and exclusion is controlled by the :only and :except options when generating the
|
102
|
+
# anlytics snippet:
|
103
|
+
#
|
104
|
+
# google_analytics :except => :client
|
105
|
+
#
|
106
|
+
# Naming accounts is not required to use the :only or :except options. The Google Analytics
|
107
|
+
# account key itself can be given. An array of values can also be given to either option.
|
108
|
+
#
|
109
|
+
# Lytix was designed to be flexible, easily allowing for feature additions to Google Analytics.
|
110
|
+
# For more information on valid snippet syntax, see:
|
111
|
+
# http://code.google.com/intl/en/apis/analytics/docs/tracking/gaTrackingOverview.html
|
112
|
+
end
|
data/lib/lytix.rb
CHANGED
@@ -26,11 +26,9 @@ module Lytix
|
|
26
26
|
|
27
27
|
def insert_google_analytics
|
28
28
|
if @google_analytics && request.format.html? && response.body.respond_to?(:sub!)
|
29
|
-
response.body.sub!(/([ \t]*)<\/body>/i){ [($1 + @google_analytics.to_s), $&].
|
29
|
+
response.body.sub!(/([ \t]*)<\/body>/i){ [($1 + @google_analytics.to_s), $&].join($/) }
|
30
30
|
end
|
31
31
|
end
|
32
32
|
end
|
33
33
|
end
|
34
34
|
end
|
35
|
-
|
36
|
-
ActionController::Base.send(:include, Lytix::ControllerMethods)
|
data/lytix.gemspec
CHANGED
@@ -5,7 +5,7 @@
|
|
5
5
|
|
6
6
|
Gem::Specification.new do |s|
|
7
7
|
s.name = %q{lytix}
|
8
|
-
s.version = "0.1.
|
8
|
+
s.version = "0.1.1"
|
9
9
|
|
10
10
|
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
11
11
|
s.authors = ["Steve Richert"]
|
@@ -23,6 +23,8 @@ Gem::Specification.new do |s|
|
|
23
23
|
"README.rdoc",
|
24
24
|
"Rakefile",
|
25
25
|
"VERSION",
|
26
|
+
"generators/google_analytics/google_analytics_generator.rb",
|
27
|
+
"generators/google_analytics/templates/initializer.rb",
|
26
28
|
"init.rb",
|
27
29
|
"lib/lytix.rb",
|
28
30
|
"lib/lytix/account.rb",
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: lytix
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Steve Richert
|
@@ -38,6 +38,8 @@ files:
|
|
38
38
|
- README.rdoc
|
39
39
|
- Rakefile
|
40
40
|
- VERSION
|
41
|
+
- generators/google_analytics/google_analytics_generator.rb
|
42
|
+
- generators/google_analytics/templates/initializer.rb
|
41
43
|
- init.rb
|
42
44
|
- lib/lytix.rb
|
43
45
|
- lib/lytix/account.rb
|