useragent 0.10.0 → 0.11.0
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/lib/user_agent.rb +4 -8
- data/lib/user_agent/browsers/chrome.rb +1 -1
- data/lib/user_agent/browsers/gecko.rb +2 -1
- data/lib/user_agent/browsers/internet_explorer.rb +2 -3
- data/lib/user_agent/browsers/opera.rb +1 -1
- data/lib/user_agent/browsers/webkit.rb +1 -1
- data/lib/user_agent/version.rb +17 -3
- metadata +11 -11
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 2b5bc3c7403f99b975416f8a4c339e9054169051
|
4
|
+
data.tar.gz: 2c62dedcd7aa755e42670197a480a27e3ec757f2
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 3caceb0aefd8f62a314acf6a80f703c19e72fc81b7157ef06a95f0b86196fecf22cb7df27f3a7e721443f5a17e916878bd6747dabdab213ce50ceaade97d9851
|
7
|
+
data.tar.gz: 5431d35a284d115f7d85abaf4ac361577eab2badaf450ee808e948f5d3e5aef4419247c14b4cfa115f81d99eb23221cc6ece450cff0acff754bc8fcbae05aa46
|
data/lib/user_agent.rb
CHANGED
@@ -38,7 +38,7 @@ class UserAgent
|
|
38
38
|
if version && !version.empty?
|
39
39
|
@version = Version.new(version)
|
40
40
|
else
|
41
|
-
@version =
|
41
|
+
@version = Version.new
|
42
42
|
end
|
43
43
|
|
44
44
|
if comment.respond_to?(:split)
|
@@ -54,11 +54,7 @@ class UserAgent
|
|
54
54
|
# always return false.
|
55
55
|
def <=>(other)
|
56
56
|
if @product == other.product
|
57
|
-
|
58
|
-
@version <=> other.version
|
59
|
-
else
|
60
|
-
0
|
61
|
-
end
|
57
|
+
@version <=> other.version
|
62
58
|
else
|
63
59
|
false
|
64
60
|
end
|
@@ -75,9 +71,9 @@ class UserAgent
|
|
75
71
|
end
|
76
72
|
|
77
73
|
def to_str
|
78
|
-
if @product &&
|
74
|
+
if @product && !@version.nil? && @comment
|
79
75
|
"#{@product}/#{@version} (#{@comment.join("; ")})"
|
80
|
-
elsif @product &&
|
76
|
+
elsif @product && !@version.nil?
|
81
77
|
"#{@product}/#{@version}"
|
82
78
|
elsif @product && @comment
|
83
79
|
"#{@product} (#{@comment.join("; ")})"
|
@@ -13,9 +13,8 @@ class UserAgent
|
|
13
13
|
end
|
14
14
|
|
15
15
|
def version
|
16
|
-
|
17
|
-
|
18
|
-
end
|
16
|
+
str = application.comment.join('; ')[/(MSIE\s|rv:)([\d\.]+)/, 2]
|
17
|
+
Version.new(str)
|
19
18
|
end
|
20
19
|
|
21
20
|
def compatibility_view?
|
@@ -8,7 +8,7 @@ class UserAgent
|
|
8
8
|
|
9
9
|
def version
|
10
10
|
if mini?
|
11
|
-
application.comment[
|
11
|
+
application.comment.detect{|c| c =~ /Opera Mini/}[/Opera Mini\/([\d\.]+)/, 1] rescue Version.new
|
12
12
|
elsif product = detect_product('Version')
|
13
13
|
product.version
|
14
14
|
else
|
data/lib/user_agent/version.rb
CHANGED
@@ -2,12 +2,14 @@ class UserAgent
|
|
2
2
|
class Version
|
3
3
|
include ::Comparable
|
4
4
|
|
5
|
-
def self.new(obj)
|
5
|
+
def self.new(obj = nil)
|
6
6
|
case obj
|
7
7
|
when Version
|
8
8
|
obj
|
9
9
|
when String
|
10
10
|
super
|
11
|
+
when NilClass
|
12
|
+
super("")
|
11
13
|
else
|
12
14
|
raise ArgumentError, "invalid value for Version: #{obj.inspect}"
|
13
15
|
end
|
@@ -16,15 +18,25 @@ class UserAgent
|
|
16
18
|
def initialize(str)
|
17
19
|
@str = str
|
18
20
|
|
19
|
-
if str =~ /^\
|
21
|
+
if @str =~ /^\s*$/
|
22
|
+
@nil = true
|
23
|
+
@sequences = []
|
24
|
+
@comparable = false
|
25
|
+
elsif str =~ /^\d+$/ || str =~ /^\d+\./
|
26
|
+
@nil = false
|
20
27
|
@sequences = str.scan(/\d+|[A-Za-z][0-9A-Za-z-]*$/).map { |s| s =~ /^\d+$/ ? s.to_i : s }
|
21
28
|
@comparable = true
|
22
29
|
else
|
30
|
+
@nil = false
|
23
31
|
@sequences = [str]
|
24
32
|
@comparable = false
|
25
33
|
end
|
26
34
|
end
|
27
35
|
|
36
|
+
def nil?
|
37
|
+
@nil
|
38
|
+
end
|
39
|
+
|
28
40
|
def to_a
|
29
41
|
@sequences.dup
|
30
42
|
end
|
@@ -43,6 +55,8 @@ class UserAgent
|
|
43
55
|
eql?(other)
|
44
56
|
when String
|
45
57
|
eql?(self.class.new(other))
|
58
|
+
when NilClass
|
59
|
+
nil?
|
46
60
|
else
|
47
61
|
false
|
48
62
|
end
|
@@ -72,7 +86,7 @@ class UserAgent
|
|
72
86
|
else
|
73
87
|
return -1
|
74
88
|
end
|
75
|
-
when String
|
89
|
+
when String, NilClass
|
76
90
|
self <=> self.class.new(other)
|
77
91
|
else
|
78
92
|
nil
|
metadata
CHANGED
@@ -1,41 +1,41 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: useragent
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.11.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Joshua Peek
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2015-02-23 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rake
|
15
15
|
requirement: !ruby/object:Gem::Requirement
|
16
16
|
requirements:
|
17
|
-
- -
|
17
|
+
- - ">="
|
18
18
|
- !ruby/object:Gem::Version
|
19
19
|
version: '0'
|
20
20
|
type: :development
|
21
21
|
prerelease: false
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
23
23
|
requirements:
|
24
|
-
- -
|
24
|
+
- - ">="
|
25
25
|
- !ruby/object:Gem::Version
|
26
26
|
version: '0'
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
28
|
name: rspec
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
30
30
|
requirements:
|
31
|
-
- -
|
31
|
+
- - ">="
|
32
32
|
- !ruby/object:Gem::Version
|
33
33
|
version: '0'
|
34
34
|
type: :development
|
35
35
|
prerelease: false
|
36
36
|
version_requirements: !ruby/object:Gem::Requirement
|
37
37
|
requirements:
|
38
|
-
- -
|
38
|
+
- - ">="
|
39
39
|
- !ruby/object:Gem::Version
|
40
40
|
version: '0'
|
41
41
|
description: |2
|
@@ -45,6 +45,8 @@ executables: []
|
|
45
45
|
extensions: []
|
46
46
|
extra_rdoc_files: []
|
47
47
|
files:
|
48
|
+
- LICENSE
|
49
|
+
- README.rdoc
|
48
50
|
- lib/user_agent.rb
|
49
51
|
- lib/user_agent/browsers.rb
|
50
52
|
- lib/user_agent/browsers/base.rb
|
@@ -57,8 +59,6 @@ files:
|
|
57
59
|
- lib/user_agent/operating_systems.rb
|
58
60
|
- lib/user_agent/version.rb
|
59
61
|
- lib/useragent.rb
|
60
|
-
- LICENSE
|
61
|
-
- README.rdoc
|
62
62
|
homepage: http://github.com/josh/useragent
|
63
63
|
licenses:
|
64
64
|
- MIT
|
@@ -69,17 +69,17 @@ require_paths:
|
|
69
69
|
- lib
|
70
70
|
required_ruby_version: !ruby/object:Gem::Requirement
|
71
71
|
requirements:
|
72
|
-
- -
|
72
|
+
- - ">="
|
73
73
|
- !ruby/object:Gem::Version
|
74
74
|
version: '0'
|
75
75
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
76
76
|
requirements:
|
77
|
-
- -
|
77
|
+
- - ">="
|
78
78
|
- !ruby/object:Gem::Version
|
79
79
|
version: '0'
|
80
80
|
requirements: []
|
81
81
|
rubyforge_project:
|
82
|
-
rubygems_version: 2.
|
82
|
+
rubygems_version: 2.4.5
|
83
83
|
signing_key:
|
84
84
|
specification_version: 4
|
85
85
|
summary: HTTP User Agent parser
|