From f46f5a891c6a3528baadc28ceb74c2fbe327a40d Mon Sep 17 00:00:00 2001 From: Karl Lin Date: Wed, 16 Nov 2016 16:27:30 +0800 Subject: [PATCH 01/11] add debug mode --- .../tracker/google_analytics/template/google_analytics.erb | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/lib/rack/tracker/google_analytics/template/google_analytics.erb b/lib/rack/tracker/google_analytics/template/google_analytics.erb index d56f043..b28bb45 100644 --- a/lib/rack/tracker/google_analytics/template/google_analytics.erb +++ b/lib/rack/tracker/google_analytics/template/google_analytics.erb @@ -1,10 +1,13 @@ From 911caaed45e62540dd10cf3588002fe4b0f5722d Mon Sep 17 00:00:00 2001 From: Karl Lin Date: Wed, 16 Nov 2016 17:16:58 +0800 Subject: [PATCH 05/11] add local option for disable send data to GA server --- lib/rack/tracker/google_analytics/template/google_analytics.erb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/rack/tracker/google_analytics/template/google_analytics.erb b/lib/rack/tracker/google_analytics/template/google_analytics.erb index 1e94e96..f5de433 100644 --- a/lib/rack/tracker/google_analytics/template/google_analytics.erb +++ b/lib/rack/tracker/google_analytics/template/google_analytics.erb @@ -32,7 +32,7 @@ <% end %> <% end %> -<% if options[:debug] %> +<% if options[:local] %> ga('set', 'sendHitTask', null); <% end %> From 400662d44e44278379da1f7ee77438ba22e11aee Mon Sep 17 00:00:00 2001 From: Karl Lin Date: Wed, 16 Nov 2016 17:48:59 +0800 Subject: [PATCH 06/11] use sandbox instead of local --- lib/rack/tracker/google_analytics/template/google_analytics.erb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/rack/tracker/google_analytics/template/google_analytics.erb b/lib/rack/tracker/google_analytics/template/google_analytics.erb index f5de433..dd446a3 100644 --- a/lib/rack/tracker/google_analytics/template/google_analytics.erb +++ b/lib/rack/tracker/google_analytics/template/google_analytics.erb @@ -32,7 +32,7 @@ <% end %> <% end %> -<% if options[:local] %> +<% if options[:sandbox] %> ga('set', 'sendHitTask', null); <% end %> From 578671332203d1ce58d9b8c76ee8116721604fbc Mon Sep 17 00:00:00 2001 From: Karl Lin Date: Wed, 16 Nov 2016 17:49:23 +0800 Subject: [PATCH 07/11] use manual_pageview instead of manual --- lib/rack/tracker/google_analytics/template/google_analytics.erb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/rack/tracker/google_analytics/template/google_analytics.erb b/lib/rack/tracker/google_analytics/template/google_analytics.erb index dd446a3..dddd03d 100644 --- a/lib/rack/tracker/google_analytics/template/google_analytics.erb +++ b/lib/rack/tracker/google_analytics/template/google_analytics.erb @@ -43,7 +43,7 @@ ga('ecommerce:send'); <% end %> <% if tracker %> - <% if !options[:manual] %> + <% if !options[:manual_pageview] %> ga('send', 'pageview', window.location.pathname + window.location.search); <% end %> <% end %> From ce9d50c6e1056293d2b7ee7e92cb6df2bee9806c Mon Sep 17 00:00:00 2001 From: CHH Date: Thu, 10 Sep 2020 17:27:15 +0800 Subject: [PATCH 08/11] fix: env not defined --- lib/rack/tracker/controller.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/rack/tracker/controller.rb b/lib/rack/tracker/controller.rb index a565557..801a52a 100644 --- a/lib/rack/tracker/controller.rb +++ b/lib/rack/tracker/controller.rb @@ -3,7 +3,7 @@ class Tracker module Controller def tracker(&block) if block_given? - yield(Rack::Tracker::HandlerDelegator.new(env)) + yield(Rack::Tracker::HandlerDelegator.new(respond_to?(:request) ? request.env : env)) end end end From f61363216bb69dba355e808a8773d5818b3f2df2 Mon Sep 17 00:00:00 2001 From: CHH Date: Thu, 10 Sep 2020 17:27:45 +0800 Subject: [PATCH 09/11] chore: bump 1.1.1 --- lib/rack/tracker/version.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/rack/tracker/version.rb b/lib/rack/tracker/version.rb index 9c92cfb..bb51d0a 100644 --- a/lib/rack/tracker/version.rb +++ b/lib/rack/tracker/version.rb @@ -1,5 +1,5 @@ module Rack class Tracker - VERSION = '1.1.0' + VERSION = '1.1.1' end end From 200925b29fe26a059a599e0d67bebc306ea10264 Mon Sep 17 00:00:00 2001 From: CHH Date: Thu, 10 Sep 2020 18:39:41 +0800 Subject: [PATCH 10/11] =?UTF-8?q?fix:=20=E4=BF=AE=E6=AD=A3=20can't=20modif?= =?UTF-8?q?y=20frozen=20String?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- lib/rack/tracker.rb | 10 +++------- lib/rack/tracker/handler.rb | 10 ++++++++++ 2 files changed, 13 insertions(+), 7 deletions(-) diff --git a/lib/rack/tracker.rb b/lib/rack/tracker.rb index 5f3dbf9..a81aeb3 100644 --- a/lib/rack/tracker.rb +++ b/lib/rack/tracker.rb @@ -56,15 +56,11 @@ def call(env) def html?; @headers['Content-Type'] =~ /html/; end def inject(env, response) + duplicated_response = response.dup @handlers.each(env) do |handler| - # Sub! is enough, in well formed html there's only one head or body tag. - # Block syntax need to be used, otherwise backslashes in input will mess the output. - # @see http://stackoverflow.com/a/4149087/518204 and https://github.com/railslove/rack-tracker/issues/50 - response.sub! %r{} do |m| - handler.render << m.to_s - end + handler.inject(duplicated_response) end - response + duplicated_response end class HandlerSet diff --git a/lib/rack/tracker/handler.rb b/lib/rack/tracker/handler.rb index cab471d..cf78dcc 100644 --- a/lib/rack/tracker/handler.rb +++ b/lib/rack/tracker/handler.rb @@ -23,6 +23,16 @@ def render raise NotImplementedError.new('needs implementation') end + def inject(response) + # Sub! is enough, in well formed html there's only one head or body tag. + # Block syntax need to be used, otherwise backslashes in input will mess the output. + # @see http://stackoverflow.com/a/4149087/518204 and https://github.com/railslove/rack-tracker/issues/50 + response.sub! %r{} do |m| + self.render << m.to_s + end + response + end + def self.track(name, event) raise NotImplementedError.new("class method `#{__callee__}` is not implemented.") end From 4fd9235e4cbb47f0bfaba61565943922487c82a3 Mon Sep 17 00:00:00 2001 From: CHH Date: Thu, 10 Sep 2020 18:40:04 +0800 Subject: [PATCH 11/11] chore: bump 1.1.2 --- lib/rack/tracker/version.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/rack/tracker/version.rb b/lib/rack/tracker/version.rb index bb51d0a..4249ed8 100644 --- a/lib/rack/tracker/version.rb +++ b/lib/rack/tracker/version.rb @@ -1,5 +1,5 @@ module Rack class Tracker - VERSION = '1.1.1' + VERSION = '1.1.2' end end