ahoy_matey 0.3.1 → 0.3.2

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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: d9db513e48eea03c383990fb228564e252bebc5b
4
- data.tar.gz: a05f03369e5777866a376d0e9c62989f74dfb4c0
3
+ metadata.gz: 2226bcc4712d1729f93cc68a4a01ac03eef2ee0a
4
+ data.tar.gz: fc0f05b5df70d3fddbb8f888bc7a136146b8cf47
5
5
  SHA512:
6
- metadata.gz: 9cc1490028f6f3ab3565b8214ab67b29b35d50feed74c7a2ba171de1a5c765d5be3a1c1708fa14db440a350a429fa49b18e63119b4d3a6472866cadfc02e6eda
7
- data.tar.gz: 693ce18cd49030035611bea317a931011c9d2ffd01c2ef5d77769b040bc88a1ebe06364ed2b864a21513c276aa2db8dad95e1e27d2d610c7ae44c3138d02e9eb
6
+ metadata.gz: f1d5a9cff762a21c7690eabea4100b842fa419fb1b0094117e4d0f34500c131a9738a8c83f4d52ec397f8c951bbd7a99f55b6a837acc99f227d2457d528495a8
7
+ data.tar.gz: 047ed1ac5af0529aa172640629ca4101dff2659cc21452b4adb4f4d5219b684eae535d40f2d55b56ff9d0a65d440853bcf7bdf750da054afe2c4c004170fe2dd
data/CHANGELOG.md CHANGED
@@ -1,3 +1,8 @@
1
+ ## 0.3.2
2
+
3
+ - Fixed bot exclusion for visits
4
+ - Fixed user method
5
+
1
6
  ## 0.3.1
2
7
 
3
8
  - Fixed visitor cookies when set on server
@@ -2,25 +2,7 @@ module Ahoy
2
2
  class VisitsController < BaseController
3
3
 
4
4
  def create
5
- visit_token = params[:visit_token] || Ahoy.generate_id
6
- visitor_token = params[:visitor_token] || Ahoy.generate_id
7
-
8
- visit =
9
- Ahoy.visit_model.new do |v|
10
- v.visit_token = visit_token
11
- v.visitor_token = visitor_token
12
- v.ip = request.remote_ip if v.respond_to?(:ip=)
13
- v.user_agent = request.user_agent if v.respond_to?(:user_agent=)
14
- v.referrer = params[:referrer] if v.respond_to?(:referrer=)
15
- v.landing_page = params[:landing_page] if v.respond_to?(:landing_page=)
16
- v.user = Ahoy.fetch_user(self) if v.respond_to?(:user=)
17
- v.platform = params[:platform] if v.respond_to?(:platform=)
18
- v.app_version = params[:app_version] if v.respond_to?(:app_version=)
19
- v.os_version = params[:os_version] if v.respond_to?(:os_version=)
20
- end
21
-
22
- visit.save!
23
- render json: {visit_token: visit.visit_token, visitor_token: visit.visitor_token}
5
+ render json: ahoy.track_visit
24
6
  end
25
7
 
26
8
  end
data/lib/ahoy/tracker.rb CHANGED
@@ -7,7 +7,7 @@ module Ahoy
7
7
  end
8
8
 
9
9
  def track(name, properties = {}, options = {})
10
- if (Ahoy.track_bots or !bot?) and !exclude?
10
+ if track?
11
11
  # publish to each subscriber
12
12
  options = options.dup
13
13
  if @controller
@@ -39,8 +39,43 @@ module Ahoy
39
39
  true
40
40
  end
41
41
 
42
+ # not a public API - do not use
43
+ def track_visit
44
+ visit_token = params[:visit_token] || Ahoy.generate_id
45
+ visitor_token = params[:visitor_token] || Ahoy.generate_id
46
+
47
+ if track?
48
+ # TODO move to subscriber
49
+ visit =
50
+ Ahoy.visit_model.new do |v|
51
+ v.visit_token = visit_token
52
+ v.visitor_token = visitor_token
53
+ v.ip = request.remote_ip if v.respond_to?(:ip=)
54
+ v.user_agent = request.user_agent if v.respond_to?(:user_agent=)
55
+ v.referrer = params[:referrer] if v.respond_to?(:referrer=)
56
+ v.landing_page = params[:landing_page] if v.respond_to?(:landing_page=)
57
+ v.user = Ahoy.fetch_user(@controller) if v.respond_to?(:user=)
58
+ v.platform = params[:platform] if v.respond_to?(:platform=)
59
+ v.app_version = params[:app_version] if v.respond_to?(:app_version=)
60
+ v.os_version = params[:os_version] if v.respond_to?(:os_version=)
61
+ end
62
+
63
+ begin
64
+ visit.save!
65
+ rescue ActiveRecord::RecordNotUnique
66
+ # do nothing
67
+ end
68
+ end
69
+
70
+ {visit_token: visit_token, visitor_token: visitor_token}
71
+ end
72
+
42
73
  protected
43
74
 
75
+ def track?
76
+ (Ahoy.track_bots || !bot?) && !exclude?
77
+ end
78
+
44
79
  def bot?
45
80
  @bot ||= Browser.new(ua: @request.user_agent).bot?
46
81
  end
@@ -57,5 +92,13 @@ module Ahoy
57
92
  end
58
93
  end
59
94
 
95
+ def params
96
+ @controller.params
97
+ end
98
+
99
+ def request
100
+ @request
101
+ end
102
+
60
103
  end
61
104
  end
data/lib/ahoy/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module Ahoy
2
- VERSION = "0.3.1"
2
+ VERSION = "0.3.2"
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ahoy_matey
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.1
4
+ version: 0.3.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Andrew Kane
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-06-12 00:00:00.000000000 Z
11
+ date: 2014-06-16 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: addressable