browserino 1.0.0 → 1.0.1
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 +4 -4
- data/README.md +2 -2
- data/bin/console +1 -0
- data/lib/browserino/agent.rb +15 -13
- data/lib/browserino/alias.rb +25 -3
- data/lib/browserino/maps/android.rb +21 -21
- data/lib/browserino/maps/ios.rb +2 -2
- data/lib/browserino/maps/linux.rb +5 -0
- data/lib/browserino/maps/osx.rb +12 -12
- data/lib/browserino/maps/windows.rb +9 -10
- data/lib/browserino/version.rb +1 -1
- data/lib/browserino.rb +1 -1
- 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: 0f08ae3900de04e818da158b3f213e35d7ea8559
|
4
|
+
data.tar.gz: d9a2ae06194faf027c91de73569e2d9054e8e970
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: bac6047a73c354f69e1a3b6d95747381e61d8fa69e3773c231432d0b7f8b2adfa3db760bdbcb61d6bcc20f8a104235caf895c642fb9876be603a8f5776afbd6d
|
7
|
+
data.tar.gz: 654765d84f9e822dd886ceb393bd7e4ba12831aaece76851689a27ffd4e7d320516769dac020ff4756b9a3759ce620102e249617585e7a816e05611fea42b5ec
|
data/README.md
CHANGED
@@ -66,7 +66,7 @@ agent = Browserino::parse('Mozilla/5.0 (iPad; CPU OS 6_0 like Mac OS X) AppleWeb
|
|
66
66
|
agent.browser_name # => safari
|
67
67
|
agent.browser_version # => 6.0
|
68
68
|
|
69
|
-
agent.engine_name # =>
|
69
|
+
agent.engine_name # => webkit
|
70
70
|
agent.engine_version # => 536.26
|
71
71
|
|
72
72
|
agent.system_name # => ios
|
@@ -76,7 +76,7 @@ agent.system_architecture # => unknown (though it will make an attempt)
|
|
76
76
|
|
77
77
|
## Development
|
78
78
|
|
79
|
-
*Should you want to contribute to the project the instructions for it will be here when version 1 releases*
|
79
|
+
*Should you want to contribute to the project the instructions for it will be here when version 1 releases (PENDING)*
|
80
80
|
|
81
81
|
## Contributing
|
82
82
|
|
data/bin/console
CHANGED
data/lib/browserino/agent.rb
CHANGED
@@ -7,51 +7,53 @@ module Browserino
|
|
7
7
|
end
|
8
8
|
|
9
9
|
def browser_name
|
10
|
-
@info[:browser_name]
|
10
|
+
@info[:browser_name].downcase
|
11
11
|
end
|
12
12
|
|
13
13
|
def browser_version
|
14
|
-
@info[:browser_version].gsub('_', '.')
|
14
|
+
@info[:browser_version].gsub('_', '.').downcase
|
15
15
|
end
|
16
16
|
|
17
17
|
def engine_name
|
18
|
-
@info[:engine_name]
|
18
|
+
@info[:engine_name].downcase
|
19
19
|
end
|
20
20
|
|
21
21
|
def engine_version
|
22
|
-
@info[:engine_version].gsub('_', '.')
|
22
|
+
@info[:engine_version].gsub('_', '.').downcase
|
23
23
|
end
|
24
24
|
|
25
25
|
def system_name(opts = {})
|
26
|
-
opts = {full:
|
27
|
-
name = @info[:system_name]
|
26
|
+
opts = {full: true}.merge(opts)
|
27
|
+
name = @info[:system_name].downcase
|
28
28
|
if opts[:full]
|
29
|
-
[name, fetch_system_version_name(name)]
|
29
|
+
[name, fetch_system_version_name(name).downcase]
|
30
30
|
else
|
31
31
|
name
|
32
32
|
end
|
33
33
|
end
|
34
34
|
|
35
35
|
def system_version
|
36
|
-
@info[:system_version].gsub('_', '.')
|
36
|
+
@info[:system_version].gsub('_', '.').downcase
|
37
37
|
end
|
38
38
|
|
39
39
|
def system_architecture
|
40
|
-
@info[:system_architecture]
|
40
|
+
@info[:system_architecture].downcase
|
41
41
|
end
|
42
42
|
|
43
43
|
private
|
44
44
|
|
45
45
|
def fetch_system_version_name(name)
|
46
|
-
|
46
|
+
const = name.upcase
|
47
47
|
name.downcase!
|
48
48
|
if name.match(/mac|ios/i)
|
49
49
|
version = system_version.split('.').first(2).join.to_i
|
50
|
-
elsif name.
|
50
|
+
elsif name.match(/win|android/i)
|
51
51
|
version = system_version.gsub('.', '').to_i
|
52
52
|
end
|
53
|
-
if version
|
54
|
-
|
53
|
+
if version && defined? const
|
54
|
+
Browserino::Mapping.const_get(const).select { |name, versions| true if versions.include?(version) }.keys.first
|
55
|
+
else
|
56
|
+
'unknown'
|
55
57
|
end
|
56
58
|
end
|
57
59
|
end
|
data/lib/browserino/alias.rb
CHANGED
@@ -1,7 +1,29 @@
|
|
1
1
|
module Browserino
|
2
2
|
ALIAS = {
|
3
|
-
|
4
|
-
|
5
|
-
|
3
|
+
browser_name: {
|
4
|
+
'ie' => ['msie'],
|
5
|
+
'unknown' => ['unknown', :unknown, '']
|
6
|
+
},
|
7
|
+
browser_version: {
|
8
|
+
'unknown' => ['unknown', :unknown, '']
|
9
|
+
},
|
10
|
+
engine_name: {
|
11
|
+
'webkit' => ['applewebkit'],
|
12
|
+
'unknown' => ['unknown', :unknown, '']
|
13
|
+
},
|
14
|
+
engine_version: {
|
15
|
+
'unknown' => ['unknown', :unknown, '']
|
16
|
+
},
|
17
|
+
system_name: {
|
18
|
+
'unknown' => ['unknown', :unknown, '']
|
19
|
+
},
|
20
|
+
system_version: {
|
21
|
+
'unknown' => ['unknown', :unknown, '']
|
22
|
+
},
|
23
|
+
system_architecture: {
|
24
|
+
'x64' => ['64', 'x86_64'],
|
25
|
+
'x32' => ['32', 'i686', 'i383'],
|
26
|
+
'unknown' => ['unknown', :unknown, '', nil]
|
27
|
+
}
|
6
28
|
}
|
7
29
|
end
|
@@ -4,27 +4,27 @@
|
|
4
4
|
module Browserino
|
5
5
|
module Mapping
|
6
6
|
ANDROID = {
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
[22, 221, 222, 223]
|
15
|
-
[23, 231, 232]
|
16
|
-
[233, 234, 235, 236, 237]
|
17
|
-
|
18
|
-
|
19
|
-
[32, 321, 322, 323, 324, 325, 326]
|
20
|
-
|
21
|
-
|
22
|
-
[41, 411, 412]
|
23
|
-
[42, 421, 422]
|
24
|
-
|
25
|
-
[44, 441, 442, 443, 444]
|
26
|
-
[50, 501, 502]
|
27
|
-
[51, 511]
|
7
|
+
'1.0' => [10],
|
8
|
+
'1.1' => [11],
|
9
|
+
'Cupcake 3' => [15],
|
10
|
+
'Cupcake 4' => [16],
|
11
|
+
'Eclair 5' => [20],
|
12
|
+
'Eclair 6' => [201],
|
13
|
+
'Eclair 7' => [21],
|
14
|
+
'Froyo 8' => [22, 221, 222, 223],
|
15
|
+
'Gingerbread 9' => [23, 231, 232],
|
16
|
+
'Gingerbread 10' => [233, 234, 235, 236, 237],
|
17
|
+
'Honeycomb 11' => [30],
|
18
|
+
'honeycomb 12' => [31],
|
19
|
+
'Honeycomb 13' => [32, 321, 322, 323, 324, 325, 326],
|
20
|
+
'Ice Cream Sandwich 14' => [40, 401, 402],
|
21
|
+
'Ice Cream Sandwich 15' => [403, 404],
|
22
|
+
'Jelly Bean 16' => [41, 411, 412],
|
23
|
+
'Jelly Bean 17' => [42, 421, 422],
|
24
|
+
'Jelly Bean 18' => [43, 431],
|
25
|
+
'KitKat 19' => [44, 441, 442, 443, 444],
|
26
|
+
'Lollipop 21' => [50, 501, 502],
|
27
|
+
'Lollipop 22' => [51, 511]
|
28
28
|
}
|
29
29
|
end
|
30
30
|
end
|
data/lib/browserino/maps/ios.rb
CHANGED
@@ -4,8 +4,8 @@
|
|
4
4
|
module Browserino
|
5
5
|
module Mapping
|
6
6
|
IOS = {
|
7
|
-
[20, 21, 22, 30, 31]
|
8
|
-
[40, 41, 42, 43, 50, 51, 60, 61, 70, 71, 80, 81, 82, 83, 84, 90, 91]
|
7
|
+
'iPhone OS' => [20, 21, 22, 30, 31],
|
8
|
+
'iOS' => [40, 41, 42, 43, 50, 51, 60, 61, 70, 71, 80, 81, 82, 83, 84, 90, 91]
|
9
9
|
}
|
10
10
|
end
|
11
11
|
end
|
data/lib/browserino/maps/osx.rb
CHANGED
@@ -4,18 +4,18 @@
|
|
4
4
|
module Browserino
|
5
5
|
module Mapping
|
6
6
|
MACINTOSH = {
|
7
|
-
[100]
|
8
|
-
[101]
|
9
|
-
[102]
|
10
|
-
[103]
|
11
|
-
[104]
|
12
|
-
[105]
|
13
|
-
|
14
|
-
[107]
|
15
|
-
|
16
|
-
[109]
|
17
|
-
[1010]
|
18
|
-
|
7
|
+
'Cheetah' => [100],
|
8
|
+
'Puma' => [101],
|
9
|
+
'Jaguar' => [102],
|
10
|
+
'Panther' => [103],
|
11
|
+
'Tiger' => [104],
|
12
|
+
'Leopard' => [105],
|
13
|
+
'Snow Leopard' => [106],
|
14
|
+
'Lion' => [107],
|
15
|
+
'Mountain Lion' => [108],
|
16
|
+
'Mavericks' => [109],
|
17
|
+
'Yosemite' => [1010],
|
18
|
+
'El Capitan' => [1011]
|
19
19
|
}
|
20
20
|
end
|
21
21
|
end
|
@@ -4,16 +4,15 @@
|
|
4
4
|
module Browserino
|
5
5
|
module Mapping
|
6
6
|
WINDOWS = {
|
7
|
-
|
8
|
-
[40]
|
9
|
-
[50]
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
[100] => '10'
|
7
|
+
'3.5' => [35],
|
8
|
+
'4' => [40],
|
9
|
+
'2000' => [50],
|
10
|
+
'XP' => [51, 52],
|
11
|
+
'Vista' => [60],
|
12
|
+
'7' => [61],
|
13
|
+
'8' => [62],
|
14
|
+
'8.1' => [63],
|
15
|
+
'10' => [100]
|
17
16
|
}
|
18
17
|
end
|
19
18
|
end
|
data/lib/browserino/version.rb
CHANGED
data/lib/browserino.rb
CHANGED
@@ -33,7 +33,7 @@ module Browserino
|
|
33
33
|
def self.check_for_aliases(hash)
|
34
34
|
h = {}
|
35
35
|
hash.each do |prop, val|
|
36
|
-
h[prop] = ALIAS.select { |
|
36
|
+
h[prop] = ALIAS[prop].select { |k, m| true if m.include?(val) }.keys.first || val
|
37
37
|
end
|
38
38
|
h
|
39
39
|
end
|
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: 1.0.
|
4
|
+
version: 1.0.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Sidney Liebrand
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2015-09-
|
11
|
+
date: 2015-09-21 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -136,6 +136,7 @@ files:
|
|
136
136
|
- lib/browserino/engine.rb
|
137
137
|
- lib/browserino/maps/android.rb
|
138
138
|
- lib/browserino/maps/ios.rb
|
139
|
+
- lib/browserino/maps/linux.rb
|
139
140
|
- lib/browserino/maps/osx.rb
|
140
141
|
- lib/browserino/maps/windows.rb
|
141
142
|
- lib/browserino/match_extractor.rb
|