browserino 2.5.1 → 2.5.2
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.md +5 -0
- data/README.md +13 -5
- data/lib/browserino/agent.rb +7 -8
- data/lib/browserino/alias.rb +2 -1
- data/lib/browserino/maps/windows_phone.rb +5 -0
- data/lib/browserino/patterns.rb +3 -3
- data/lib/browserino/version.rb +1 -1
- data/lib/browserino.rb +2 -0
- metadata +3 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 9a9d892c5ad880cdc418ac696b69dd465ec03820
|
4
|
+
data.tar.gz: 9addf30f035f5c74ada82cf47151c6ec9816667e
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: e9276a510795d45e68ae8e717c07d340258c2f956e2b778fb4d2c632ba45dccc53e256f020cc8eb2be888f515ae2fbc23d70d00ef7d74f91505c38fb2383ee69
|
7
|
+
data.tar.gz: ff0ca377b67f2a492d3abce13b2c864a85f02077af6c8e49b5d021652e7238a0b8c0e38f32adef4b01cc7b6f5f1249b6aff1fc0f3b52871cc48a11ad29383750
|
data/CHANGELOG.md
CHANGED
@@ -1,6 +1,11 @@
|
|
1
1
|
## CHANGELOG
|
2
2
|
_dates are in dd-mm-yyyy format_
|
3
3
|
|
4
|
+
#### 11-01-2016 VERSION 2.4.1(.1)
|
5
|
+
|
6
|
+
- Caching the agent object in Rails
|
7
|
+
- **DEPRECATE** Using a custom return value for when a property isn't found
|
8
|
+
|
4
9
|
#### 10-01-2016 VERSION 2.4.0
|
5
10
|
|
6
11
|
- Added rails integration
|
data/README.md
CHANGED
@@ -10,6 +10,12 @@ This gem aims to provide information about the browser that your visitor is usin
|
|
10
10
|
_dates are in dd-mm-yyyy format_
|
11
11
|
_older changes can be found in the [CHANGELOG.md](https://github.com/SidOfc/browserino/blob/master/CHANGELOG.md)_
|
12
12
|
|
13
|
+
#### 15-01-2016 VERSION 2.5.2
|
14
|
+
|
15
|
+
- **DEPRECATE** Custom return values (passed through `Browserino::parse`) will no longer alter the output of the agent object
|
16
|
+
- Added support for windows phone detection
|
17
|
+
- Added `windows_phone?` method
|
18
|
+
|
13
19
|
#### 12-01-2016 VERSION 2.5.1
|
14
20
|
|
15
21
|
- Patched blackberry mapping, this used to be done by model number instead but is now corrected
|
@@ -22,11 +28,6 @@ _older changes can be found in the [CHANGELOG.md](https://github.com/SidOfc/brow
|
|
22
28
|
- New method `#bsd?`
|
23
29
|
- Fixed using symbols for system version identification (e.g. `:vista` or `:el_capitan`) without a version number
|
24
30
|
|
25
|
-
#### 11-01-2016 VERSION 2.4.1(.1)
|
26
|
-
|
27
|
-
- Caching the agent object in Rails
|
28
|
-
- **DEPRECATE** Using a custom return value for when a property isn't found
|
29
|
-
|
30
31
|
## Installation
|
31
32
|
|
32
33
|
*supports ruby 1.9.3+*
|
@@ -97,6 +98,7 @@ agent.engine_version
|
|
97
98
|
|
98
99
|
agent.system_name
|
99
100
|
# => 'macintosh'
|
101
|
+
# possibilities are macintosh, windows, blackberry, android, linux, bsd and ios
|
100
102
|
|
101
103
|
# or optionally, the full name (guessed from OS version)
|
102
104
|
agent.system_name full: true
|
@@ -221,6 +223,8 @@ agent.macintosh?
|
|
221
223
|
|
222
224
|
agent.blackberry?
|
223
225
|
|
226
|
+
agent.windows_phone?
|
227
|
+
|
224
228
|
agent.linux? # linux doesn't have versions
|
225
229
|
|
226
230
|
agent.bsd? # bsd also doesn't have versions
|
@@ -256,6 +260,8 @@ agent.not.macintosh?
|
|
256
260
|
|
257
261
|
agent.not.blackberry?
|
258
262
|
|
263
|
+
agent.not.windows_phone?
|
264
|
+
|
259
265
|
agent.not.linux?
|
260
266
|
|
261
267
|
agent.not.bsd?
|
@@ -436,6 +442,8 @@ Valid browser names are defined by __/lib/browserino/patterns.rb__ (the keys are
|
|
436
442
|
|
437
443
|
'bb'
|
438
444
|
|
445
|
+
'windows_phone'
|
446
|
+
|
439
447
|
'android'
|
440
448
|
|
441
449
|
'ios'
|
data/lib/browserino/agent.rb
CHANGED
@@ -2,7 +2,6 @@ module Browserino
|
|
2
2
|
class Agent
|
3
3
|
def initialize(ua, unknown = Browserino::UNKNOWN)
|
4
4
|
@ua = ua
|
5
|
-
@unknown = unknown
|
6
5
|
@not = false
|
7
6
|
|
8
7
|
cleansed_ua = Browserino::strip_lies @ua
|
@@ -97,7 +96,7 @@ module Browserino
|
|
97
96
|
end
|
98
97
|
|
99
98
|
def known?
|
100
|
-
allow_inverted_return (browser_name !=
|
99
|
+
allow_inverted_return (browser_name != Browserino::UNKNOWN || bot_name != Browserino::UNKNOWN)
|
101
100
|
end
|
102
101
|
|
103
102
|
def mobile?
|
@@ -233,18 +232,18 @@ module Browserino
|
|
233
232
|
def with_valid(val)
|
234
233
|
if val && (val != '' || val != false) && block_given?
|
235
234
|
res = yield(val)
|
236
|
-
return
|
235
|
+
return Browserino::UNKNOWN if res == ''
|
237
236
|
res
|
238
237
|
else
|
239
|
-
|
238
|
+
Browserino::UNKNOWN
|
240
239
|
end
|
241
240
|
end
|
242
241
|
|
243
242
|
def fetch_system_version_name(name)
|
244
|
-
return
|
245
|
-
const = name.upcase
|
243
|
+
return Browserino::UNKNOWN if name.nil? || name == '' || !name
|
244
|
+
const = name.upcase.gsub(/\s/, '_')
|
246
245
|
name.downcase!
|
247
|
-
version = if system_version ==
|
246
|
+
version = if system_version == Browserino::UNKNOWN
|
248
247
|
nil
|
249
248
|
elsif name.match(/mac|ios|blackberry/i)
|
250
249
|
system_version.split('.').first(2).join.to_i
|
@@ -259,7 +258,7 @@ module Browserino
|
|
259
258
|
end
|
260
259
|
version_names.keys.first || system_version.split('.').first(2).join('.')
|
261
260
|
else
|
262
|
-
|
261
|
+
Browserino::UNKNOWN
|
263
262
|
end
|
264
263
|
end
|
265
264
|
end
|
data/lib/browserino/alias.rb
CHANGED
data/lib/browserino/patterns.rb
CHANGED
@@ -84,10 +84,10 @@ module Browserino
|
|
84
84
|
},
|
85
85
|
|
86
86
|
operating_system: {
|
87
|
-
name: /(?<name>windows
|
88
|
-
version: /(?:nt|mac\sos\sx|android|(cpu\s|i)os|blackberry.*?version\/|bb)\s?(?<version>[\d\._]+)/i,
|
87
|
+
name: /(?<name>windows(?:\sphone(?:\sos)?)?|macintosh|android|ios|blackberry|linux|ubuntu|x11|bsd)/i,
|
88
|
+
version: /(?:windows(?:\sphone(?:\sos)?)?|nt|mac\sos\sx|android|(cpu\s|i)os|blackberry.*?version\/|bb)\s?(?<version>[\d\._]+)/i,
|
89
89
|
architecture: /(?<architecture>((?:x|x86_|amd|wow)64)|i(3|6)86)/i,
|
90
|
-
mobile: /bolt|nokia|samsung|mobi(?:le)?|android|
|
90
|
+
mobile: /bolt|nokia|samsung|mobi(?:le)?|android|i?p(?:[ao]d|hone)|bb\d+|blackberry|iemobile|fennec|bada|meego|vodafone|t\-mobile|opera\sm(?:ob|in)i/i,
|
91
91
|
locale: /\s(?<locale>\w{2}(?:\-\w{2})?)[;\)]/
|
92
92
|
}
|
93
93
|
}
|
data/lib/browserino/version.rb
CHANGED
data/lib/browserino.rb
CHANGED
@@ -5,6 +5,7 @@ require "browserino/maps/bsd"
|
|
5
5
|
require "browserino/maps/linux"
|
6
6
|
require "browserino/maps/android"
|
7
7
|
require "browserino/maps/windows"
|
8
|
+
require "browserino/maps/windows_phone"
|
8
9
|
|
9
10
|
require "browserino/integrate/rails" if defined?(::Rails)
|
10
11
|
|
@@ -41,6 +42,7 @@ module Browserino
|
|
41
42
|
ua = ua.gsub(/(?:ms)?ie/i, '') if /rv\:/i =~ ua
|
42
43
|
ua = ua.gsub(/linux/i, '') if /android/i =~ ua
|
43
44
|
ua = ua.gsub(/x11/i, '') if /bsd/i =~ ua
|
45
|
+
ua = ua.gsub(/windows\snt/i, '') if /windows\sphone/i =~ ua
|
44
46
|
ua
|
45
47
|
end
|
46
48
|
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: browserino
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.5.
|
4
|
+
version: 2.5.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Sidney Liebrand
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2016-01-
|
11
|
+
date: 2016-01-15 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -143,6 +143,7 @@ files:
|
|
143
143
|
- lib/browserino/maps/linux.rb
|
144
144
|
- lib/browserino/maps/macintosh.rb
|
145
145
|
- lib/browserino/maps/windows.rb
|
146
|
+
- lib/browserino/maps/windows_phone.rb
|
146
147
|
- lib/browserino/operating_system.rb
|
147
148
|
- lib/browserino/patterns.rb
|
148
149
|
- lib/browserino/unknown.rb
|