which_browser 0.2.0 → 0.2.1

Sign up to get free protection for your applications and to get access to all the features.
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