content_signals 0.1.15 → 0.1.17
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
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: f3565eb23ff50453ff5b35f84e77483dea0075f9ecd4c2dd6183662b12f796cc
|
|
4
|
+
data.tar.gz: 1f1c09c743778eb5599f3e1a150fc990aeffdbb6d1ff37ac7bde4789a39dcb07
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 0c73705946dd1e5cc8beef7619681452e7a57c9b9a505cbd6840f5625be540fcf14444dbaf5f900ac246e95db705ae0425d10a84feef3d9f1829680bebbd1537
|
|
7
|
+
data.tar.gz: 94fc972805318cac08df4e11d23c2e4838c235241ceac1bcea2e21e84b9286021f1d7800b36176ff7fc44d6dd7c42bef9554297a71ccf5130db6a4d17d754dd1
|
data/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,17 @@
|
|
|
1
1
|
## [Unreleased]
|
|
2
2
|
|
|
3
|
+
## [0.1.17]
|
|
4
|
+
|
|
5
|
+
### Fixed
|
|
6
|
+
|
|
7
|
+
- A request from a Hotwire Native app is recognised by the name every one of them sends. Detection matched only `Turbo Native`, which the webview appends but the app's own HTTP client does not send at all, so those requests were read by device instead: an Android one as a phone, an iOS one as a **desktop**.
|
|
8
|
+
|
|
9
|
+
## [0.1.16]
|
|
10
|
+
|
|
11
|
+
### Fixed
|
|
12
|
+
|
|
13
|
+
- A page view from a mobile app is no longer thrown away. `PageView` validated `device_type` as `desktop/mobile/tablet` while `scope :app` queried for `hybrid_app`, so the value the detector produced for an app could never be stored — and `TrackPageViewJob` rescues the failure, so the view vanished with only a log line. `app_platform` had the same mismatch against every value `detect_platform_from_ua` returns.
|
|
14
|
+
|
|
3
15
|
## [0.1.0] - 2026-01-06
|
|
4
16
|
|
|
5
17
|
- Initial release
|
|
@@ -15,8 +15,8 @@ module ContentSignals
|
|
|
15
15
|
# Validations
|
|
16
16
|
validates :trackable_type, :trackable_id, :visitor_id, :viewed_at, presence: true
|
|
17
17
|
validates :country_code, length: { maximum: 2 }, allow_nil: true
|
|
18
|
-
validates :device_type, inclusion: { in: %w[desktop mobile tablet] }, allow_nil: true
|
|
19
|
-
validates :app_platform, inclusion: { in: %w[hybrid native] }, allow_nil: true
|
|
18
|
+
validates :device_type, inclusion: { in: %w[desktop mobile tablet hybrid_app] }, allow_nil: true
|
|
19
|
+
validates :app_platform, inclusion: { in: %w[hybrid native turbo_native capacitor cordova react_native flutter webview] }, allow_nil: true
|
|
20
20
|
|
|
21
21
|
# Tenant filtering — use explicitly instead of default_scope to avoid
|
|
22
22
|
# silent NULL filtering in background jobs, console, and migrations.
|
|
@@ -119,11 +119,13 @@ module ContentSignals
|
|
|
119
119
|
|
|
120
120
|
def detect_platform_from_ua
|
|
121
121
|
ua = @request.user_agent.to_s.downcase
|
|
122
|
+
return 'turbo_native' if ua.include?('hotwire native')
|
|
122
123
|
return 'capacitor' if ua.include?('capacitor')
|
|
123
124
|
return 'cordova' if ua.include?('cordova')
|
|
124
125
|
return 'react_native' if ua.include?('react-native')
|
|
125
126
|
return 'flutter' if ua.include?('flutter')
|
|
126
127
|
return 'webview' if ua.match?(/wv|webview/)
|
|
128
|
+
|
|
127
129
|
nil
|
|
128
130
|
end
|
|
129
131
|
|
metadata
CHANGED
|
@@ -1,13 +1,14 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: content_signals
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.1.
|
|
4
|
+
version: 0.1.17
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Ionuț Munteanu Alexandru
|
|
8
|
+
autorequire:
|
|
8
9
|
bindir: exe
|
|
9
10
|
cert_chain: []
|
|
10
|
-
date:
|
|
11
|
+
date: 2026-09-16 00:00:00.000000000 Z
|
|
11
12
|
dependencies:
|
|
12
13
|
- !ruby/object:Gem::Dependency
|
|
13
14
|
name: rails
|
|
@@ -144,6 +145,7 @@ metadata:
|
|
|
144
145
|
changelog_uri: https://github.com/eventya/content_signals/blob/main/CHANGELOG.md
|
|
145
146
|
bug_tracker_uri: https://github.com/eventya/content_signals/issues
|
|
146
147
|
documentation_uri: https://github.com/eventya/content_signals#readme
|
|
148
|
+
post_install_message:
|
|
147
149
|
rdoc_options: []
|
|
148
150
|
require_paths:
|
|
149
151
|
- lib
|
|
@@ -158,7 +160,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
|
158
160
|
- !ruby/object:Gem::Version
|
|
159
161
|
version: '0'
|
|
160
162
|
requirements: []
|
|
161
|
-
rubygems_version: 3.
|
|
163
|
+
rubygems_version: 3.5.22
|
|
164
|
+
signing_key:
|
|
162
165
|
specification_version: 4
|
|
163
166
|
summary: Content analytics for Rails - track page views, demographics, and engagement
|
|
164
167
|
metrics
|