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 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