browser_sniffer 2.2.1 → 2.3.0

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: d021aca2bef95c559cb4c483179018e117859879514a8c3c092e5e4735d157c9
4
- data.tar.gz: abb3148cea2fb4abb2d457ca3c58299990e2e7e41633d7b2b323e9a169c29ecb
3
+ metadata.gz: 9969d00aafaee38b0b21cff940ce3a1881251f04da9aa018d52418a186999071
4
+ data.tar.gz: a015ebec601deaa7523287eef8016cdca7318cfe37c45c76a27d7934b640f289
5
5
  SHA512:
6
- metadata.gz: cd0c1ef575e5d84d86c8b049eea9ff45279d21885b898308378e659dcf1d2bc3d9f9efebe57daf348fe9a5972e334d898f118dfb8defdcd54734db3b1f97b4eb
7
- data.tar.gz: 6253844664073c0fa4cfc82e7def3fd91c046178410fabd4621fa4275c8e078c1f8e4a05798a6170b87a687ebd62bd94177caee4cb3ee3984b29aadd74ff6d37
6
+ metadata.gz: fdd1f9fdfe2111cdedd9c71af2ed23303d38d12535f005814a825b89db078e5e5cbc1bc22c0d7167a6b607ce63b658e6be72522b2d3676ccbe5141006af5894a
7
+ data.tar.gz: 8750a8aa2954195f77c94dd909058efa54b45964ca5c6ef4462a439068ecd230034d0a1a23be0a6c20f5f6f74ad045ca88d7c69ee926f6f6a4fc6534aa3accbf
@@ -321,6 +321,9 @@ class BrowserSniffer
321
321
  ], [[:type, :ios], [:version, lambda { |str| str && str.scan(/\d+/).join(".") }], [:name, 'iOS']], [
322
322
  # Shopify Mobile for iPhone or iPad
323
323
  %r{.*(Shopify Mobile)\/(?:iPhone\sOS|iOS)[\/\d\.]* \((iPhone|iPad|iPod).*\/([\d\.]+)\)}i
324
+ ], [[:type, :ios], [:name, 'iOS'], :version], [
325
+ # Shopify Mobile for iPhone or iPad with build number
326
+ %r{.*(Shopify Mobile)\/(?:iPhone\sOS|iOS)[\/\d\.]* \((iPhone|iPad|iPod).*\/([\d\.]+) - Build [\d]*\)}i
324
327
  ], [[:type, :ios], [:name, 'iOS'], :version], [
325
328
  # Shopify POS Next for iPhone or iPad
326
329
  %r{.*(Shopify POS Next|Shopify POS)\/(?:iPhone\sOS|iOS)[\/\d\.]* \((iPhone|iPad|iPod).*\/([\d\.]+)\)}i
@@ -1,3 +1,3 @@
1
1
  class BrowserSniffer
2
- VERSION = "2.2.1"
2
+ VERSION = "2.3.0"
3
3
  end
@@ -79,6 +79,25 @@ describe "Shopify agents" do
79
79
  version: '12.0.0',
80
80
  name: 'iOS',
81
81
  }), sniffer.os_info
82
+
83
+ user_agent = "Shopify Mobile/iOS/9.108.0 (iPhone14,5 Simulator/com.shopify.Shopify/16.4 - Build 225)"
84
+ sniffer = BrowserSniffer.new(user_agent)
85
+
86
+ assert_equal ({
87
+ name: 'Shopify Mobile',
88
+ version: '9.108.0',
89
+ }), sniffer.browser_info
90
+
91
+ assert_equal ({
92
+ type: :handheld,
93
+ model: '14,5',
94
+ }), sniffer.device_info
95
+
96
+ assert_equal ({
97
+ type: :ios,
98
+ version: '16.4',
99
+ name: 'iOS',
100
+ }), sniffer.os_info
82
101
  end
83
102
 
84
103
  it "Shopify Mobile on iPod touch can be sniffed" do
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: browser_sniffer
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.2.1
4
+ version: 2.3.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Shopify
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2023-09-13 00:00:00.000000000 Z
11
+ date: 2023-12-05 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -97,7 +97,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
97
97
  - !ruby/object:Gem::Version
98
98
  version: '0'
99
99
  requirements: []
100
- rubygems_version: 3.4.19
100
+ rubygems_version: 3.4.22
101
101
  signing_key:
102
102
  specification_version: 4
103
103
  summary: Parses user agent strings and boils it all down to a few simple classifications.