schmobile 0.4.0 → 0.4.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/VERSION +1 -1
- data/lib/rack/schmobile/user_agents.rb +14 -2
- data/schmobile.gemspec +3 -3
- data/test/test_user_agents.rb +9 -0
- metadata +15 -15
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.4.
|
1
|
+
0.4.1
|
@@ -23,9 +23,21 @@ module Rack
|
|
23
23
|
@mobile_agent_matcher = nil
|
24
24
|
end
|
25
25
|
|
26
|
+
def self.remove_non_mobile_user_agent_pattern(pattern)
|
27
|
+
NON_MOBILE_USER_AGENTS.delete(pattern)
|
28
|
+
@non_mobile_agent_matcher = nil
|
29
|
+
end
|
30
|
+
|
31
|
+
def self.add_non_mobile_user_agent_pattern(pattern)
|
32
|
+
NON_MOBILE_USER_AGENTS.push(*pattern)
|
33
|
+
@non_mobile_agent_matcher = nil
|
34
|
+
end
|
35
|
+
|
26
36
|
def self.is_mobile_agent?(user_agent)
|
27
|
-
agent
|
28
|
-
|
37
|
+
agent = user_agent.to_s.downcase
|
38
|
+
mobile = !(agent =~ mobile_agent_matcher).nil?
|
39
|
+
mobile = mobile && agent !~ non_mobile_agent_matcher unless NON_MOBILE_USER_AGENTS.empty?
|
40
|
+
mobile
|
29
41
|
end
|
30
42
|
|
31
43
|
def self.mobile_agent_matcher
|
data/schmobile.gemspec
CHANGED
@@ -5,11 +5,11 @@
|
|
5
5
|
|
6
6
|
Gem::Specification.new do |s|
|
7
7
|
s.name = %q{schmobile}
|
8
|
-
s.version = "0.4.
|
8
|
+
s.version = "0.4.1"
|
9
9
|
|
10
10
|
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
11
11
|
s.authors = ["Morten Primdahl"]
|
12
|
-
s.date = %q{2011-
|
12
|
+
s.date = %q{2011-11-03}
|
13
13
|
s.description = %q{Used to determine if a request is from a mobile client, and possibly redirect it if that's the case}
|
14
14
|
s.email = %q{morten@zendesk.com}
|
15
15
|
s.extra_rdoc_files = [
|
@@ -43,7 +43,7 @@ Gem::Specification.new do |s|
|
|
43
43
|
s.homepage = %q{http://github.com/morten/schmobile}
|
44
44
|
s.licenses = ["MIT"]
|
45
45
|
s.require_paths = ["lib"]
|
46
|
-
s.rubygems_version = %q{1.
|
46
|
+
s.rubygems_version = %q{1.5.3}
|
47
47
|
s.summary = %q{A Rack middleware for detecting mobile user agents}
|
48
48
|
s.test_files = [
|
49
49
|
"test/helper.rb",
|
data/test/test_user_agents.rb
CHANGED
@@ -17,6 +17,15 @@ class TestUserAgents < Test::Unit::TestCase
|
|
17
17
|
Rack::Schmobile::UserAgents.add_user_agent_pattern("wibble")
|
18
18
|
assert Rack::Schmobile::UserAgents.is_mobile_agent?("wibble")
|
19
19
|
end
|
20
|
+
|
21
|
+
should "allow changing behavior for a non-mobile agent" do
|
22
|
+
assert !Rack::Schmobile::UserAgents.is_mobile_agent?("ipad")
|
23
|
+
Rack::Schmobile::UserAgents.add_user_agent_pattern("ipad")
|
24
|
+
assert !Rack::Schmobile::UserAgents.is_mobile_agent?("ipad")
|
25
|
+
Rack::Schmobile::UserAgents.remove_non_mobile_user_agent_pattern("ipad")
|
26
|
+
assert Rack::Schmobile::UserAgents.is_mobile_agent?("ipad")
|
27
|
+
Rack::Schmobile::UserAgents.add_non_mobile_user_agent_pattern("ipad")
|
28
|
+
end
|
20
29
|
end
|
21
30
|
|
22
31
|
context "#is_mobile_agent?" do
|
metadata
CHANGED
@@ -1,13 +1,13 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: schmobile
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
hash:
|
4
|
+
hash: 13
|
5
5
|
prerelease:
|
6
6
|
segments:
|
7
7
|
- 0
|
8
8
|
- 4
|
9
|
-
-
|
10
|
-
version: 0.4.
|
9
|
+
- 1
|
10
|
+
version: 0.4.1
|
11
11
|
platform: ruby
|
12
12
|
authors:
|
13
13
|
- Morten Primdahl
|
@@ -15,10 +15,11 @@ autorequire:
|
|
15
15
|
bindir: bin
|
16
16
|
cert_chain: []
|
17
17
|
|
18
|
-
date: 2011-
|
18
|
+
date: 2011-11-03 00:00:00 -07:00
|
19
19
|
default_executable:
|
20
20
|
dependencies:
|
21
21
|
- !ruby/object:Gem::Dependency
|
22
|
+
prerelease: false
|
22
23
|
type: :development
|
23
24
|
requirement: &id001 !ruby/object:Gem::Requirement
|
24
25
|
none: false
|
@@ -31,10 +32,10 @@ dependencies:
|
|
31
32
|
- 1
|
32
33
|
- 0
|
33
34
|
version: 1.1.0
|
34
|
-
name: rack
|
35
35
|
version_requirements: *id001
|
36
|
-
|
36
|
+
name: rack
|
37
37
|
- !ruby/object:Gem::Dependency
|
38
|
+
prerelease: false
|
38
39
|
type: :development
|
39
40
|
requirement: &id002 !ruby/object:Gem::Requirement
|
40
41
|
none: false
|
@@ -47,10 +48,10 @@ dependencies:
|
|
47
48
|
- 9
|
48
49
|
- 9
|
49
50
|
version: 0.9.9
|
50
|
-
name: mocha
|
51
51
|
version_requirements: *id002
|
52
|
-
|
52
|
+
name: mocha
|
53
53
|
- !ruby/object:Gem::Dependency
|
54
|
+
prerelease: false
|
54
55
|
type: :development
|
55
56
|
requirement: &id003 !ruby/object:Gem::Requirement
|
56
57
|
none: false
|
@@ -61,10 +62,10 @@ dependencies:
|
|
61
62
|
segments:
|
62
63
|
- 0
|
63
64
|
version: "0"
|
64
|
-
name: shoulda
|
65
65
|
version_requirements: *id003
|
66
|
-
|
66
|
+
name: shoulda
|
67
67
|
- !ruby/object:Gem::Dependency
|
68
|
+
prerelease: false
|
68
69
|
type: :development
|
69
70
|
requirement: &id004 !ruby/object:Gem::Requirement
|
70
71
|
none: false
|
@@ -77,10 +78,10 @@ dependencies:
|
|
77
78
|
- 0
|
78
79
|
- 0
|
79
80
|
version: 1.0.0
|
80
|
-
name: bundler
|
81
81
|
version_requirements: *id004
|
82
|
-
|
82
|
+
name: bundler
|
83
83
|
- !ruby/object:Gem::Dependency
|
84
|
+
prerelease: false
|
84
85
|
type: :development
|
85
86
|
requirement: &id005 !ruby/object:Gem::Requirement
|
86
87
|
none: false
|
@@ -93,9 +94,8 @@ dependencies:
|
|
93
94
|
- 5
|
94
95
|
- 2
|
95
96
|
version: 1.5.2
|
96
|
-
name: jeweler
|
97
97
|
version_requirements: *id005
|
98
|
-
|
98
|
+
name: jeweler
|
99
99
|
description: Used to determine if a request is from a mobile client, and possibly redirect it if that's the case
|
100
100
|
email: morten@zendesk.com
|
101
101
|
executables: []
|
@@ -158,7 +158,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
158
158
|
requirements: []
|
159
159
|
|
160
160
|
rubyforge_project:
|
161
|
-
rubygems_version: 1.
|
161
|
+
rubygems_version: 1.5.3
|
162
162
|
signing_key:
|
163
163
|
specification_version: 3
|
164
164
|
summary: A Rack middleware for detecting mobile user agents
|