rack-mobile-detect 0.1.0 → 0.1.1

Sign up to get free protection for your applications and to get access to all the features.
data/README.md CHANGED
@@ -1,9 +1,14 @@
1
+ Install
2
+ =======
3
+
4
+ sudo gem install rack-mobile-detect -s http://gemcutter.org
5
+
1
6
  Overview
2
7
  ========
3
8
 
4
- `Rack::MobileDetect` detects mobile devices and adds an
5
- `X_MOBILE_DEVICE` header to the request if a mobile device is
6
- detected. The strategy for detecting a mobile device is as
9
+ `Rack::MobileDetect` is Rack middleware for ruby webapps that detects
10
+ mobile devices. It adds an `X_MOBILE_DEVICE` header to the request if
11
+ a device is detected. The strategy for detecting a mobile device is as
7
12
  follows:
8
13
 
9
14
  ### Targeted Detection ###
@@ -72,4 +77,13 @@ Configuration/CLDC-1.1 VendorID/102' connects, the value of
72
77
  This allows you to limit the catchall expression to only the device
73
78
  list you choose.
74
79
 
75
- See the unit test source code for more info.
80
+ Utils
81
+ =====
82
+
83
+ A Sinatra app called echo_env.rb is available in the
84
+ [util/](http://github.com/talison/rack-mobile-detect/tree/master/util/)
85
+ directory. Hit this app with a mobile device to see the various HTTP
86
+ headers and whether or not the `X_MOBILE_DEVICE` header is added by
87
+ `Rack::MobileDetect`.
88
+
89
+ See the [unit test source code](http://github.com/talison/rack-mobile-detect/tree/master/test/) for more info.
data/Rakefile CHANGED
@@ -11,7 +11,7 @@ begin
11
11
  devices can be targeted with custom Regexps.}
12
12
  gem.email = "accounts@majortom.fastmail.us"
13
13
  gem.homepage = "http://github.com/talison/rack-mobile-detect"
14
- gem.authors = ["Tom Alison"]
14
+ gem.authors = ["Tom Alison", "Michael Wood"]
15
15
  gem.add_development_dependency "shoulda", ">= 0"
16
16
  # gem is a Gem::Specification... see http://www.rubygems.org/read/chapter/20 for additional settings
17
17
  end
data/TODO CHANGED
@@ -1,2 +1 @@
1
- * Package as a gem
2
1
  * Allow options to disable UAProf detection, Accept detection
@@ -1,5 +1,5 @@
1
1
  ---
2
2
  :build:
3
3
  :minor: 1
4
- :patch: 0
4
+ :patch: 1
5
5
  :major: 0
@@ -134,7 +134,7 @@ module Rack
134
134
 
135
135
  # Fall-back on UAProf detection
136
136
  # http://www.developershome.com/wap/detection/detection.asp?page=profileHeader
137
- device ||= env.keys.detect { |k| k.start_with?('HTTP_') && k.end_with?('_PROFILE') } != nil
137
+ device ||= env.keys.detect { |k| k.match(/^HTTP(.*)_PROFILE$/) } != nil
138
138
 
139
139
  # Fall back to Accept header detection
140
140
  device ||= Regexp.new(@regex_accept).match(env.fetch('HTTP_ACCEPT','')) != nil
@@ -0,0 +1,58 @@
1
+ # Generated by jeweler
2
+ # DO NOT EDIT THIS FILE DIRECTLY
3
+ # Instead, edit Jeweler::Tasks in Rakefile, and run the gemspec command
4
+ # -*- encoding: utf-8 -*-
5
+
6
+ Gem::Specification.new do |s|
7
+ s.name = %q{rack-mobile-detect}
8
+ s.version = "0.1.1"
9
+
10
+ s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
+ s.authors = ["Tom Alison", "Michael Wood"]
12
+ s.date = %q{2009-10-30}
13
+ s.description = %q{Rack::MobileDetect detects mobile devices and adds an
14
+ X_MOBILE_DEVICE header to the request if a mobile device is detected. Specific
15
+ devices can be targeted with custom Regexps.}
16
+ s.email = %q{accounts@majortom.fastmail.us}
17
+ s.extra_rdoc_files = [
18
+ "LICENSE",
19
+ "README.md"
20
+ ]
21
+ s.files = [
22
+ ".document",
23
+ ".gitignore",
24
+ "LICENSE",
25
+ "README.md",
26
+ "Rakefile",
27
+ "TODO",
28
+ "VERSION.yml",
29
+ "lib/rack-mobile-detect.rb",
30
+ "rack-mobile-detect.gemspec",
31
+ "test/helper.rb",
32
+ "test/test_rack-mobile-detect.rb",
33
+ "util/echo_env.rb"
34
+ ]
35
+ s.homepage = %q{http://github.com/talison/rack-mobile-detect}
36
+ s.rdoc_options = ["--charset=UTF-8"]
37
+ s.require_paths = ["lib"]
38
+ s.rubygems_version = %q{1.3.5}
39
+ s.summary = %q{Rack middleware for ruby webapps to detect mobile devices.}
40
+ s.test_files = [
41
+ "test/test_rack-mobile-detect.rb",
42
+ "test/helper.rb"
43
+ ]
44
+
45
+ if s.respond_to? :specification_version then
46
+ current_version = Gem::Specification::CURRENT_SPECIFICATION_VERSION
47
+ s.specification_version = 3
48
+
49
+ if Gem::Version.new(Gem::RubyGemsVersion) >= Gem::Version.new('1.2.0') then
50
+ s.add_development_dependency(%q<shoulda>, [">= 0"])
51
+ else
52
+ s.add_dependency(%q<shoulda>, [">= 0"])
53
+ end
54
+ else
55
+ s.add_dependency(%q<shoulda>, [">= 0"])
56
+ end
57
+ end
58
+
metadata CHANGED
@@ -1,15 +1,16 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rack-mobile-detect
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0
4
+ version: 0.1.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Tom Alison
8
+ - Michael Wood
8
9
  autorequire:
9
10
  bindir: bin
10
11
  cert_chain: []
11
12
 
12
- date: 2009-10-29 00:00:00 -04:00
13
+ date: 2009-10-30 00:00:00 -04:00
13
14
  default_executable:
14
15
  dependencies:
15
16
  - !ruby/object:Gem::Dependency
@@ -43,6 +44,7 @@ files:
43
44
  - TODO
44
45
  - VERSION.yml
45
46
  - lib/rack-mobile-detect.rb
47
+ - rack-mobile-detect.gemspec
46
48
  - test/helper.rb
47
49
  - test/test_rack-mobile-detect.rb
48
50
  - util/echo_env.rb