universal-track-manager 0.0.2 → 0.0.3.beta

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 54c410242cd15acf4c1d221e8baa171aaf3742004452b3571d947b4569f152a5
4
- data.tar.gz: b27f33e20d3d020094213b51082ada41bd7af8594167b9c4682381e900036b12
3
+ metadata.gz: e5dd246bf7bad893aa5ce100b9baed5d6bd5fa7bf4bd920567fd7e77d4ff1418
4
+ data.tar.gz: 053d4be197595a5ae3b8b98a1b64d30b43c28b5f177a80b4c899fb033287627a
5
5
  SHA512:
6
- metadata.gz: 5dc2873c890a7910625bd2b3106c23ead3c46392b01df7e890823069f714fda4bf7e61f95472a5c3cdb6e9ebca0306d5d3ea966aff885316ff6a9c408c2da8b6
7
- data.tar.gz: d73313e68338e89885a43347867c063809b3663aa89d8a344819f54190f61b1f5c7dac6a6eac4ea274a36d53511a75b5c91f1cca0c578fcd6a7870244a1e5fc8
6
+ metadata.gz: 5b5ac65638bf5d4c4be1634f38a4041498003d7af4382ea68a40a5ec8050550622dee015c2797d86303ac53859916dccf572f10da74c2b33224c01bf5b211c35
7
+ data.tar.gz: cbdb6173702595a0c179bcf78de3dc2b6afe7fa359d6dd6ff420c35d750f342f8aa3aceaf54ffd8ad84ad47243bcabcd5981daa3f041d3d5df85a56eca81d8e5
@@ -1,6 +1,8 @@
1
1
  module UniversalTrackManagerConcern
2
2
  extend ActiveSupport::Concern
3
3
 
4
+ attr_accessor :visit_evicted
5
+
4
6
  included do
5
7
  before_action :track_visitor
6
8
  end
@@ -39,13 +41,19 @@ module UniversalTrackManagerConcern
39
41
  permitted_utm_params[:utm_medium]
40
42
  end
41
43
 
44
+ def now
45
+ @now ||= Time.now
46
+ end
47
+
42
48
  def track_visitor
43
49
  if !session['visit_id']
44
50
 
45
- visit = UniversalTrackManager::Visit.create!(ip_v4_address: ip_address,
46
- browser: find_or_create_browser_by_current,
47
- campaign: find_or_create_campaign_by_current)
48
-
51
+ visit = UniversalTrackManager::Visit.create!(
52
+ first_pageload: now,
53
+ last_pageload: now,
54
+ ip_v4_address: ip_address,
55
+ browser: find_or_create_browser_by_current,
56
+ campaign: find_or_create_campaign_by_current)
49
57
  session[:visit_id] = visit.id
50
58
  else
51
59
  # existing visit, maybe
@@ -53,6 +61,9 @@ module UniversalTrackManagerConcern
53
61
 
54
62
  evict_visit!(existing_visit) if existing_visit.ip_v4_address != ip_address
55
63
  evict_visit!(existing_visit) if existing_visit.browser.browser_name != user_agent
64
+
65
+ existing_visit.update_columns(:last_pageload => Time.now) if !@visit_evicted
66
+
56
67
  end
57
68
  end
58
69
 
@@ -71,7 +82,10 @@ module UniversalTrackManagerConcern
71
82
  end
72
83
 
73
84
  def evict_visit!(old_visit)
85
+ @visit_evicted = true
74
86
  visit = UniversalTrackManager::Visit.create!(
87
+ first_pageload: now,
88
+ last_pageload: now,
75
89
  original_visit_id: old_visit.original_visit_id.nil? ? old_visit.id : old_visit.original_visit_id,
76
90
  ip_v4_address: ip_address,
77
91
  browser: find_or_create_browser_by_current,
@@ -1,3 +1,3 @@
1
1
  module UniversalTrackManager
2
- VERSION = "0.0.2"
2
+ VERSION = "0.0.3.beta"
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: universal-track-manager
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.2
4
+ version: 0.0.3.beta
5
5
  platform: ruby
6
6
  authors:
7
7
  - Jason Fleetwood-Boldt
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2019-11-19 00:00:00.000000000 Z
11
+ date: 2019-12-12 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rails
@@ -90,12 +90,11 @@ required_ruby_version: !ruby/object:Gem::Requirement
90
90
  version: '0'
91
91
  required_rubygems_version: !ruby/object:Gem::Requirement
92
92
  requirements:
93
- - - ">="
93
+ - - ">"
94
94
  - !ruby/object:Gem::Version
95
- version: '0'
95
+ version: 1.3.1
96
96
  requirements: []
97
- rubyforge_project:
98
- rubygems_version: 2.7.9
97
+ rubygems_version: 3.1.0.pre3
99
98
  signing_key:
100
99
  specification_version: 4
101
100
  summary: A gem to track visitors to your website.