schmobile 0.4.0 → 0.4.1

Sign up to get free protection for your applications and to get access to all the features.
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.4.0
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 = user_agent.to_s.downcase
28
- agent !~ non_mobile_agent_matcher && !(agent =~ mobile_agent_matcher).nil?
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.0"
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-06-30}
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.6.2}
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",
@@ -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: 15
4
+ hash: 13
5
5
  prerelease:
6
6
  segments:
7
7
  - 0
8
8
  - 4
9
- - 0
10
- version: 0.4.0
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-06-30 00:00:00 -07:00
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
- prerelease: false
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
- prerelease: false
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
- prerelease: false
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
- prerelease: false
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
- prerelease: false
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.6.2
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