which_browser 0.2.0 → 0.2.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.
data/.travis.yml CHANGED
@@ -3,6 +3,5 @@ rvm:
3
3
  - 1.9.2
4
4
  - 1.9.3
5
5
  - rbx
6
- - rbx-2.0
7
6
  - ree
8
7
  - jruby
data/README.md CHANGED
@@ -35,6 +35,7 @@ Here's some other popular helpers:
35
35
  request.ipod?
36
36
  request.iphone?
37
37
  request.mobile_safari?
38
+ request.blackberry?
38
39
 
39
40
 
40
41
  Installation
@@ -46,7 +47,7 @@ As usual, just use the `gem install` command:
46
47
 
47
48
  Or add which_browser as a gem in your Gemfile:
48
49
 
49
- gem 'which_browser', '>= 0.2.0'
50
+ gem 'which_browser', '>= 0.2.1'
50
51
 
51
52
  Then run `bundle install`
52
53
 
@@ -1,3 +1,3 @@
1
1
  module WhichBrowser
2
- VERSION = "0.2.0"
2
+ VERSION = "0.2.1"
3
3
  end
data/lib/which_browser.rb CHANGED
@@ -16,7 +16,7 @@ module WhichBrowser
16
16
  end
17
17
 
18
18
  def mobile?
19
- test_user_agent(/Mobile|webOS/)
19
+ test_user_agent(/Mobile|webOS|Nokia|Symbian/)
20
20
  end
21
21
 
22
22
 
@@ -39,6 +39,17 @@ module WhichBrowser
39
39
  mobile_safari? && test_user_agent(/iPad/)
40
40
  end
41
41
 
42
+ # =============================================
43
+ # Blackberry
44
+
45
+ def blackberry?
46
+ test_user_agent(/BlackBerry/)
47
+ end
48
+
49
+ def symbian?
50
+ test_user_agent(/Nokia|Symbian/)
51
+ end
52
+
42
53
 
43
54
  # =============================================
44
55
  # Browsers
@@ -125,7 +136,7 @@ module WhichBrowser
125
136
  extract_version_with(/MSIE\s?([0-9\.]+)/)
126
137
  when 'safari'
127
138
  extract_version_with(/Version\/([0-9\.]+)\sSafari/)
128
- when 'ios'
139
+ when 'ios', 'blackberry'
129
140
  extract_version_with(/Version\/([0-9\.]+)\sMobile/)
130
141
  when 'ff', 'firefox'
131
142
  extract_version_with(/Firefox\/([0-9\.]+)/)
data/test/helper.rb CHANGED
@@ -33,7 +33,6 @@ register :IE, '6.0b', :'Windows XP', :msie, '6.0b', 'Mozilla/4.0 (compatible;
33
33
  register :IE, '6.0', :'Windows XP', :msie, '6.0', 'Mozilla/5.0 (Windows; U; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 2.0.50727)'
34
34
  register :IE, '5.5', :'Windows 98', :msie, '4.0', 'Mozilla/4.0 (compatible; MSIE 5.50; Windows NT; SiteKiosk 4.9; SiteCoach 1.0)'
35
35
 
36
-
37
36
  register :Opera, '9.99', :'Windows XP', :presto, '9.9.9', 'Opera/9.99 (Windows NT 5.1; U; pl) Presto/9.9.9'
38
37
  register :Opera, '9.70', :Linux, :gecko, '20061208', 'Mozilla/5.0 (Linux i686 ; U; en; rv:1.8.1) Gecko/20061208 Firefox/2.0.0 Opera 9.70'
39
38
  register :Opera, '9.64', :Linux, :presto, '2.1.1', 'Opera/9.64 (X11; Linux i686; U; Linux Mint; it) Presto/2.1.1'
@@ -44,8 +43,6 @@ register :Chrome, '0.2.149.27', :'Windows 2003', :webkit, '525.13', 'Mozilla/5.
44
43
  register :Chrome, '0.2.149.30', :'Windows Vista', :webkit, '525.13', 'Mozilla/5.0 (Windows; U; Windows NT 6.0; en-US) AppleWebKit/525.13 (KHTML, like Gecko) Chrome/0.2.149.30 Safari/525.13'
45
44
  register :Chrome, '8.0.552.237', :'Mac OS X 10_6_6', :webkit, '534.10', 'Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_6_6; en-US) AppleWebKit/534.10 (KHTML, like Gecko) Chrome/8.0.552.237 Safari/534.10'
46
45
 
47
-
48
-
49
46
  register :Konqueror, '4.2', :Linux, :khtml, '4.2.4', 'Mozilla/5.0 (compatible; Konqueror/4.2; Linux; X11; x86_64) KHTML/4.2.4 (like Gecko) Fedora/4.2.4-2.fc11'
50
47
  register :Konqueror, '3.1-rc6', :Linux, :konqueror, '3.1-rc6', 'Mozilla/5.0 (compatible; Konqueror/3.1-rc6; i686 Linux; 20021105)'
51
48
 
@@ -56,13 +53,15 @@ register :PSP, '2.00', :Playstation, :unknown, nil, 'PSP (PlayStation Portable);
56
53
  register :PSP, '2.00', :Playstation, :unknown, nil, 'Mozilla/4.0 (PSP (PlayStation Portable); 2.00)'
57
54
 
58
55
  register :Firefox, '3.5', :Linux, :gecko, '20090624', 'Mozilla/5.0 (X11;U; Linux i686; en-GB; rv:1.9.1) Gecko/20090624 Ubuntu/9.04 (jaunty) Firefox/3.5'
59
- #register :Firefox, '3.5', :'Windows 7', :gecko, '20090612', 'Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.1) Gecko/20090612 Firefox/3.5'
60
56
  register :Firefox, '3.1', :'Windows XP', :gecko, '2009011606', 'Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.0.6pre) Gecko/2009011606 Firefox/3.1'
61
57
  register :Firefox, '3.0', :Linux, :gecko, '2008062315', 'Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9) Gecko/2008062315 (Gentoo) Firefox/3.0'
62
58
  register :Firefox, '2.0', :Linux, :gecko, '20061202', 'Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.8.1) Gecko/20061202 Firefox/2.0'
63
59
  register :Firefox, '3.6', :'OS X 10.6', :gecko, '20100914', 'Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10.6; en-US; rv:1.9.2.10) Gecko/20100914 Firefox/3.6.10'
64
60
 
61
+ register :BlackBerry, '7.0.0.296', :'9xxx', :webkit, '534.11', 'Mozilla/5.0 (BlackBerry; U; BlackBerry 9860; en-GB) AppleWebKit/534.11+ (KHTML, like Gecko) Version/7.0.0.296 Mobile Safari/534.11+'
62
+ register :BlackBerry, '6.0.0.246', :'9800', :webkit, '534.1', 'Mozilla/5.0 (BlackBerry; U; BlackBerry 9800; en-US) AppleWebKit/534.1+ (KHTML, like Gecko) Version/6.0.0.246 Mobile Safari/534.1+'
65
63
 
64
+ register :Symbian, '10.0.018', :'9x', :webkit, '413', 'Mozilla/5.0 (SymbianOS/9.2; U; Series60/3.1 NokiaN95/10.0.018; Profile/MIDP-2.0 Configuration/CLDC-1.1 ) AppleWebKit/413 (KHTML, like Gecko) Safari/413'
66
65
 
67
66
 
68
67
  def get_request(name, version=nil)
@@ -0,0 +1,41 @@
1
+ require File.expand_path('../helper', __FILE__)
2
+
3
+ class TestMobile < MiniTest::Unit::TestCase
4
+
5
+ should "be safari ipad" do
6
+ request = get_request(:MobileSafari, 'iPad')
7
+ assert !request.safari?
8
+ assert request.mobile_safari?
9
+ assert request.ipad?
10
+ assert request.mobile?
11
+ end
12
+
13
+ should "be safari ipod" do
14
+ request = get_request(:MobileSafari, 'iPod')
15
+ assert !request.safari?
16
+ assert request.mobile_safari?
17
+ assert request.ipod?
18
+ assert request.mobile?
19
+ end
20
+
21
+ should "be safari iphone" do
22
+ request = get_request(:MobileSafari, 'iPhone')
23
+ assert !request.safari?
24
+ assert request.mobile_safari?
25
+ assert request.iphone?
26
+ assert request.mobile?
27
+ end
28
+
29
+ should "be blackberry" do
30
+ request = get_request(:BlackBerry, '7.0.0.296')
31
+ assert request.blackberry?
32
+ assert request.mobile?
33
+ end
34
+
35
+ should "be symbian" do
36
+ request = get_request(:Symbian, '10.0.018')
37
+ assert request.symbian?
38
+ assert request.mobile?
39
+ end
40
+
41
+ end
data/test/test_safari.rb CHANGED
@@ -2,8 +2,6 @@ require File.expand_path('../helper', __FILE__)
2
2
 
3
3
  class TestSafari < MiniTest::Unit::TestCase
4
4
 
5
- # safari tests
6
-
7
5
  should "be safari on mac" do
8
6
  request = get_request(:Safari, '4.0.1')
9
7
  assert request.safari?
@@ -15,28 +13,5 @@ class TestSafari < MiniTest::Unit::TestCase
15
13
  assert request.safari?
16
14
  assert request.pc?
17
15
  end
18
-
19
- # mobile safari tests
20
-
21
- should "be safari ipad" do
22
- request = get_request(:MobileSafari, 'iPad')
23
- assert !request.safari?
24
- assert request.mobile_safari?
25
- assert request.ipad?
26
- end
27
-
28
- should "be safari ipod" do
29
- request = get_request(:MobileSafari, 'iPod')
30
- assert !request.safari?
31
- assert request.mobile_safari?
32
- assert request.ipod?
33
- end
34
-
35
- should "be safari iphone" do
36
- request = get_request(:MobileSafari, 'iPhone')
37
- assert !request.safari?
38
- assert request.mobile_safari?
39
- assert request.iphone?
40
- end
41
-
16
+
42
17
  end
metadata CHANGED
@@ -1,71 +1,68 @@
1
- --- !ruby/object:Gem::Specification
1
+ --- !ruby/object:Gem::Specification
2
2
  name: which_browser
3
- version: !ruby/object:Gem::Version
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.2.1
4
5
  prerelease:
5
- version: 0.2.0
6
6
  platform: ruby
7
- authors:
7
+ authors:
8
8
  - Spencer Steffen
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
-
13
- date: 2011-12-02 00:00:00 Z
14
- dependencies:
15
- - !ruby/object:Gem::Dependency
12
+ date: 2011-12-09 00:00:00.000000000Z
13
+ dependencies:
14
+ - !ruby/object:Gem::Dependency
16
15
  name: rack
17
- requirement: &id001 !ruby/object:Gem::Requirement
16
+ requirement: &70130667337300 !ruby/object:Gem::Requirement
18
17
  none: false
19
- requirements:
20
- - - ">="
21
- - !ruby/object:Gem::Version
18
+ requirements:
19
+ - - ! '>='
20
+ - !ruby/object:Gem::Version
22
21
  version: 1.0.1
23
22
  type: :runtime
24
23
  prerelease: false
25
- version_requirements: *id001
26
- - !ruby/object:Gem::Dependency
24
+ version_requirements: *70130667337300
25
+ - !ruby/object:Gem::Dependency
27
26
  name: rake
28
- requirement: &id002 !ruby/object:Gem::Requirement
27
+ requirement: &70130667277520 !ruby/object:Gem::Requirement
29
28
  none: false
30
- requirements:
31
- - - ">="
32
- - !ruby/object:Gem::Version
29
+ requirements:
30
+ - - ! '>='
31
+ - !ruby/object:Gem::Version
33
32
  version: 0.8.7
34
33
  type: :development
35
34
  prerelease: false
36
- version_requirements: *id002
37
- - !ruby/object:Gem::Dependency
35
+ version_requirements: *70130667277520
36
+ - !ruby/object:Gem::Dependency
38
37
  name: minitest
39
- requirement: &id003 !ruby/object:Gem::Requirement
38
+ requirement: &70130667273440 !ruby/object:Gem::Requirement
40
39
  none: false
41
- requirements:
42
- - - ">="
43
- - !ruby/object:Gem::Version
40
+ requirements:
41
+ - - ! '>='
42
+ - !ruby/object:Gem::Version
44
43
  version: 2.1.0
45
44
  type: :development
46
45
  prerelease: false
47
- version_requirements: *id003
48
- - !ruby/object:Gem::Dependency
46
+ version_requirements: *70130667273440
47
+ - !ruby/object:Gem::Dependency
49
48
  name: minitest_should
50
- requirement: &id004 !ruby/object:Gem::Requirement
49
+ requirement: &70130667260720 !ruby/object:Gem::Requirement
51
50
  none: false
52
- requirements:
53
- - - ">="
54
- - !ruby/object:Gem::Version
51
+ requirements:
52
+ - - ! '>='
53
+ - !ruby/object:Gem::Version
55
54
  version: 0.1.1
56
55
  type: :development
57
56
  prerelease: false
58
- version_requirements: *id004
59
- description: Which Browser adds a few helper methods to a rack request making it easier to determine which browser is being used by the client.
60
- email:
57
+ version_requirements: *70130667260720
58
+ description: Which Browser adds a few helper methods to a rack request making it easier
59
+ to determine which browser is being used by the client.
60
+ email:
61
61
  - spencer@citrusme.com
62
62
  executables: []
63
-
64
63
  extensions: []
65
-
66
64
  extra_rdoc_files: []
67
-
68
- files:
65
+ files:
69
66
  - .gitignore
70
67
  - .travis.yml
71
68
  - Gemfile
@@ -79,47 +76,41 @@ files:
79
76
  - test/test_chrome.rb
80
77
  - test/test_firefox.rb
81
78
  - test/test_internet_explorer.rb
79
+ - test/test_mobile.rb
82
80
  - test/test_os.rb
83
81
  - test/test_safari.rb
84
82
  - which_browser.gemspec
85
83
  homepage: https://github.com/citrus/which_browser
86
84
  licenses: []
87
-
88
85
  post_install_message:
89
86
  rdoc_options: []
90
-
91
- require_paths:
87
+ require_paths:
92
88
  - lib
93
- required_ruby_version: !ruby/object:Gem::Requirement
89
+ required_ruby_version: !ruby/object:Gem::Requirement
94
90
  none: false
95
- requirements:
96
- - - ">="
97
- - !ruby/object:Gem::Version
98
- hash: -4551958323863309221
99
- segments:
100
- - 0
101
- version: "0"
102
- required_rubygems_version: !ruby/object:Gem::Requirement
91
+ requirements:
92
+ - - ! '>='
93
+ - !ruby/object:Gem::Version
94
+ version: '0'
95
+ required_rubygems_version: !ruby/object:Gem::Requirement
103
96
  none: false
104
- requirements:
105
- - - ">="
106
- - !ruby/object:Gem::Version
107
- hash: -4551958323863309221
108
- segments:
109
- - 0
110
- version: "0"
97
+ requirements:
98
+ - - ! '>='
99
+ - !ruby/object:Gem::Version
100
+ version: '0'
111
101
  requirements: []
112
-
113
102
  rubyforge_project:
114
- rubygems_version: 1.8.5
103
+ rubygems_version: 1.8.10
115
104
  signing_key:
116
105
  specification_version: 3
117
- summary: Which Browser adds a few helper methods to a rack request making it easier to determine which browser is being used by the client.
118
- test_files:
106
+ summary: Which Browser adds a few helper methods to a rack request making it easier
107
+ to determine which browser is being used by the client.
108
+ test_files:
119
109
  - test/dummy/app.rb
120
110
  - test/helper.rb
121
111
  - test/test_chrome.rb
122
112
  - test/test_firefox.rb
123
113
  - test/test_internet_explorer.rb
114
+ - test/test_mobile.rb
124
115
  - test/test_os.rb
125
116
  - test/test_safari.rb