cv-user-agent 1.0.3 → 1.1.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.
- data/Rakefile +1 -4
- data/lib/user-agent.rb +9 -1
- data/lib/user-agent/agent.rb +8 -8
- data/lib/user-agent/version.rb +1 -1
- data/spec/agent_spec.rb +8 -8
- data/spec/agents_spec.rb +2 -2
- metadata +6 -6
data/Rakefile
CHANGED
data/lib/user-agent.rb
CHANGED
data/lib/user-agent/agent.rb
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
module UserAgent
|
2
2
|
|
3
|
-
class
|
3
|
+
class ParsedUserAgent
|
4
4
|
|
5
5
|
attr_reader :string
|
6
6
|
|
@@ -9,27 +9,27 @@ module UserAgent
|
|
9
9
|
end
|
10
10
|
|
11
11
|
def name
|
12
|
-
|
12
|
+
ParsedUserAgent.name_for_user_agent string
|
13
13
|
end
|
14
14
|
|
15
15
|
def version
|
16
|
-
|
16
|
+
ParsedUserAgent.version_for_user_agent string
|
17
17
|
end
|
18
18
|
|
19
19
|
def engine
|
20
|
-
|
20
|
+
ParsedUserAgent.engine_for_user_agent string
|
21
21
|
end
|
22
22
|
|
23
23
|
def engine_version
|
24
|
-
|
24
|
+
ParsedUserAgent.engine_version_for_user_agent string
|
25
25
|
end
|
26
26
|
|
27
27
|
def os
|
28
|
-
|
28
|
+
ParsedUserAgent.os_for_user_agent string
|
29
29
|
end
|
30
30
|
|
31
31
|
def platform
|
32
|
-
|
32
|
+
ParsedUserAgent.platform_for_user_agent string
|
33
33
|
end
|
34
34
|
|
35
35
|
def to_s
|
@@ -37,7 +37,7 @@ module UserAgent
|
|
37
37
|
end
|
38
38
|
|
39
39
|
def inspect
|
40
|
-
"#<
|
40
|
+
"#<ParsedUserAgent:#{name} version:#{version.inspect} engine:\"#{engine.to_s}:#{engine_version}\" os:#{os.to_s.inspect}>"
|
41
41
|
end
|
42
42
|
|
43
43
|
def == other
|
data/lib/user-agent/version.rb
CHANGED
data/spec/agent_spec.rb
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
|
2
2
|
require File.dirname(__FILE__) + '/spec_helper'
|
3
3
|
|
4
|
-
describe UserAgent::
|
4
|
+
describe UserAgent::ParsedUserAgent do
|
5
5
|
before :each do
|
6
|
-
@agent = UserAgent::
|
6
|
+
@agent = UserAgent::ParsedUserAgent.new 'Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_5_4; en-us) AppleWebKit/528.4+ (KHTML, like Gecko) Version/4.0dp1 Safari/526.11.2'
|
7
7
|
end
|
8
8
|
|
9
9
|
describe "#initialize" do
|
10
10
|
it "should allow a user agent string to be passed" do
|
11
|
-
UserAgent::
|
11
|
+
UserAgent::ParsedUserAgent.new('foo').string.should == 'foo'
|
12
12
|
end
|
13
13
|
end
|
14
14
|
|
@@ -38,7 +38,7 @@ describe UserAgent::Agent do
|
|
38
38
|
|
39
39
|
describe "#inspect" do
|
40
40
|
it "should return string presenting the engine, os, version, etc" do
|
41
|
-
@agent.inspect.should == '#<
|
41
|
+
@agent.inspect.should == '#<ParsedUserAgent:Safari version:"4.0dp1" engine:"webkit:528.4" os:"OS X 10.5">'
|
42
42
|
end
|
43
43
|
end
|
44
44
|
|
@@ -50,14 +50,14 @@ describe UserAgent::Agent do
|
|
50
50
|
|
51
51
|
describe "#==" do
|
52
52
|
it "should be equal when the user agent strings are the same" do
|
53
|
-
a = UserAgent::
|
54
|
-
b = UserAgent::
|
53
|
+
a = UserAgent::ParsedUserAgent.new 'foo'
|
54
|
+
b = UserAgent::ParsedUserAgent.new 'foo'
|
55
55
|
a.should == b
|
56
56
|
end
|
57
57
|
|
58
58
|
it "should not be equal when user agent strings are different" do
|
59
|
-
a = UserAgent::
|
60
|
-
b = UserAgent::
|
59
|
+
a = UserAgent::ParsedUserAgent.new 'foo'
|
60
|
+
b = UserAgent::ParsedUserAgent.new 'bar'
|
61
61
|
a.should_not == b
|
62
62
|
end
|
63
63
|
end
|
data/spec/agents_spec.rb
CHANGED
@@ -2,7 +2,7 @@ require File.dirname(__FILE__) + '/spec_helper'
|
|
2
2
|
|
3
3
|
def test name, version, platform, os, engine, engine_version, string
|
4
4
|
it "should parse #{name} #{version} on #{os} with engine #{engine} #{engine_version}" do
|
5
|
-
agent = UserAgent
|
5
|
+
agent = UserAgent.parse string
|
6
6
|
agent.name.should == name
|
7
7
|
agent.os.should == os
|
8
8
|
agent.platform.should == platform
|
@@ -12,7 +12,7 @@ def test name, version, platform, os, engine, engine_version, string
|
|
12
12
|
end
|
13
13
|
end
|
14
14
|
|
15
|
-
describe UserAgent
|
15
|
+
describe UserAgent do
|
16
16
|
|
17
17
|
test :Safari, '4.0dp1', :Windows, :'Windows XP', :webkit, '526.9', 'Mozilla/5.0 (Windows; U; Windows NT 5.1; en) AppleWebKit/526.9 (KHTML, like Gecko) Version/4.0dp1 Safari/526.8'
|
18
18
|
test :Safari, '4.0.3', :Windows, :'Windows Vista', :webkit, '531.9', 'Mozilla/5.0 (Windows; U; Windows NT 6.0; en-us) AppleWebKit/531.9 (KHTML, like Gecko) Version/4.0.3 Safari/531.9'
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: cv-user-agent
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.0
|
4
|
+
version: 1.1.0
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,11 +9,11 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2011-10-
|
12
|
+
date: 2011-10-26 00:00:00.000000000Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: rake
|
16
|
-
requirement: &
|
16
|
+
requirement: &70326637567240 !ruby/object:Gem::Requirement
|
17
17
|
none: false
|
18
18
|
requirements:
|
19
19
|
- - ! '>='
|
@@ -21,10 +21,10 @@ dependencies:
|
|
21
21
|
version: '0'
|
22
22
|
type: :development
|
23
23
|
prerelease: false
|
24
|
-
version_requirements: *
|
24
|
+
version_requirements: *70326637567240
|
25
25
|
- !ruby/object:Gem::Dependency
|
26
26
|
name: rspec
|
27
|
-
requirement: &
|
27
|
+
requirement: &70326637566820 !ruby/object:Gem::Requirement
|
28
28
|
none: false
|
29
29
|
requirements:
|
30
30
|
- - ! '>='
|
@@ -32,7 +32,7 @@ dependencies:
|
|
32
32
|
version: '0'
|
33
33
|
type: :development
|
34
34
|
prerelease: false
|
35
|
-
version_requirements: *
|
35
|
+
version_requirements: *70326637566820
|
36
36
|
description: user-agent is a user agent parser support most of the commonly used browsers
|
37
37
|
today.
|
38
38
|
email: cvillela@thoughtworks.com
|