card-mod-google_analytics 0.12.0 → 0.13.3

Sign up to get free protection for your applications and to get access to all the features.
Files changed (3) hide show
  1. checksums.yaml +4 -4
  2. data/set/all/google_analytics.rb +30 -15
  3. metadata +5 -5
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: e79ea19bd6bc2758e3b4b37031a7e518b7486d4ecbc673c3d139f208721d35c8
4
- data.tar.gz: d94001d3d918020fb404904b2ca1fcaf702f4b25880011422cf3ddfee7341035
3
+ metadata.gz: ea5365988b1e431266ede0e1117ecbbde8d9f713a4ab180987afd1d5e7ef3947
4
+ data.tar.gz: 6c627278d34cdeaef86d3b5544144c46a4b73efecb71de2786894e6cedf5c867
5
5
  SHA512:
6
- metadata.gz: 349cbbc6f6180416b79d4b4422920ddc466202e12bca686feb1df4eb2884c81040b26d3247780c7065b7f9df6a53447b78a227c3d3cefb42c1d156c8905149ac
7
- data.tar.gz: f8c850760cd1890db41eb2b723f405f6abb2cbe339111636ca8e0de9367ac8e2e0f3717e2b6ea848e4bc02110d09ab0f565a8ba02d632bf41bf5059a61c8499a
6
+ metadata.gz: a771080f51e99419c93cce722f01966215674b0c2739624bf2eeb5bece9148ee7a2089f32f77f8c2c6993ada86f56f4c1d2116ce5eed55de75ce64191e538f6a
7
+ data.tar.gz: c0df36197a97bf9d9e3525424392efcfae7bb040af168791114abbdae081349e814cd839807443a77df41100a0a1aeabfcdd10006581907c33ad5d5fcc1ea1bd
@@ -1,32 +1,47 @@
1
1
  require "staccato"
2
2
 
3
- mattr_accessor :server_side_tracking_formats
4
-
5
- self.server_side_tracking_formats = %i[csv json]
3
+ event :track_page, before: :show_page, when: :track_page_from_server? do
4
+ track_page!
5
+ end
6
6
 
7
- event :track_page, before: :show_page, when: :track_page? do
8
- tracker.pageview path: Env.controller.request&.path, host: Env.host, title: name
7
+ def track_page!
8
+ tracker.pageview tracker_options
9
9
  end
10
10
 
11
- def track_page?
12
- google_analytics_key &&
13
- Env.controller&.response_format&.in?(server_side_tracking_formats)
11
+ # TODO: optimize so it doesn't keep doing lookup if there is no key.
12
+ def google_analytics_key
13
+ @google_analytics_key ||=
14
+ Card::Rule.global_setting(:google_analytics_key) ||
15
+ Card.config.google_analytics_key
14
16
  end
15
17
 
16
18
  def tracker
17
- return unless google_analytics_key
19
+ tracker_key && ::Staccato.tracker(tracker_key) # , nil, ssl: true
20
+ end
18
21
 
19
- ::Staccato.tracker google_analytics_key # , nil, ssl: true
22
+ # can override to have separate keys for web and API
23
+ def tracker_key
24
+ google_analytics_key
20
25
  end
21
26
 
22
- def google_analytics_key
23
- @google_analytics_key ||=
24
- Card::Rule.global_setting(:google_analytics_key) ||
25
- Card.config.google_analytics_key
27
+ def tracker_options
28
+ r = Env.controller.request
29
+ {
30
+ path: r.path,
31
+ host: Env.host,
32
+ title: name,
33
+ user_id: Auth.current_id,
34
+ user_ip: r.remote_ip
35
+ }
36
+ end
37
+
38
+ # for override
39
+ def track_page_from_server?
40
+ false
26
41
  end
27
42
 
28
43
  format :html do
29
- delegate :tracker, :google_analytics_key, to: :card
44
+ delegate :google_analytics_key, to: :card
30
45
 
31
46
  def views_in_head
32
47
  super << :google_analytics_snippet
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: card-mod-google_analytics
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.12.0
4
+ version: 0.13.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ethan McCutchen
@@ -10,7 +10,7 @@ authors:
10
10
  autorequire:
11
11
  bindir: bin
12
12
  cert_chain: []
13
- date: 2021-07-05 00:00:00.000000000 Z
13
+ date: 2021-09-24 00:00:00.000000000 Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: card
@@ -18,14 +18,14 @@ dependencies:
18
18
  requirements:
19
19
  - - '='
20
20
  - !ruby/object:Gem::Version
21
- version: 1.102.0
21
+ version: 1.103.3
22
22
  type: :runtime
23
23
  prerelease: false
24
24
  version_requirements: !ruby/object:Gem::Requirement
25
25
  requirements:
26
26
  - - '='
27
27
  - !ruby/object:Gem::Version
28
- version: 1.102.0
28
+ version: 1.103.3
29
29
  - !ruby/object:Gem::Dependency
30
30
  name: staccato
31
31
  requirement: !ruby/object:Gem::Requirement
@@ -75,7 +75,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
75
75
  - !ruby/object:Gem::Version
76
76
  version: '0'
77
77
  requirements: []
78
- rubygems_version: 3.2.15
78
+ rubygems_version: 3.1.6
79
79
  signing_key:
80
80
  specification_version: 4
81
81
  summary: Google Analytics support for decko