mobvious 0.3.1 → 0.3.2

Sign up to get free protection for your applications and to get access to all the features.
data/Gemfile CHANGED
@@ -1,4 +1,4 @@
1
- source :rubygems
1
+ source 'https://rubygems.org'
2
2
 
3
3
  gemspec
4
4
 
data/README.md CHANGED
@@ -114,12 +114,12 @@ information it can dig out of MobileESPConverted::UserAgentInfo instance.
114
114
 
115
115
  There are two predefined detection procedures (and you can write your own):
116
116
 
117
- * `DEVICE_TYPES_MOBILE_DESKTOP` (this is the default)
117
+ * `:mobile_desktop` (this is the default)
118
118
  distinguishes between `:mobile` and `:desktop`. Tablets
119
119
  are reported as `:desktop`, because their screens are usually large enough to handle
120
120
  web interfaces meant for desktops.
121
121
 
122
- * `DEVICE_TYPES_MOBILE_TABLET_DESKTOP` distinguishes between `:mobile`, `:tablet`
122
+ * `:mobile_tablet_desktop` distinguishes between `:mobile`, `:tablet`
123
123
  and `:desktop`.
124
124
 
125
125
  ### URL (URL pattern matching)
@@ -139,7 +139,7 @@ User-Agent detection take precedence.
139
139
 
140
140
  There is one predefined rule set:
141
141
 
142
- * `MOBILE_PATH_RULES` detects all URLs that begin with m. (e.g. `http://m.foo.com/`)
142
+ * `:mobile_path` detects all URLs that begin with m. (e.g. `http://m.foo.com/`)
143
143
  as `:mobile`. Doesn't make assumption about other URLs (the detection process
144
144
  continues to the next strategy in order).
145
145
 
@@ -41,13 +41,17 @@ module Mobvious
41
41
  # @param request [Rack::Request]
42
42
  # @param response [Rack::Response]
43
43
  def response_callback(request, response)
44
- response_cookie_already_set = !!response.headers["Set-Cookie"] &&
45
- !!response.headers["Set-Cookie"]["mobvious.device_type"]
46
- request_cookie = request.cookies['mobvious.device_type']
44
+ if response.respond_to? :headers
45
+
46
+ response_cookie_already_set = !!response.headers["Set-Cookie"] &&
47
+ !!response.headers["Set-Cookie"]["mobvious.device_type"]
48
+ request_cookie = request.cookies['mobvious.device_type']
49
+
50
+ # re-set the cookie to renew the expiration date
51
+ if request_cookie && !response_cookie_already_set
52
+ set_device_type(response, request_cookie)
53
+ end
47
54
 
48
- # re-set the cookie to renew the expiration date
49
- if request_cookie && !response_cookie_already_set
50
- set_device_type(response, request_cookie)
51
55
  end
52
56
  end
53
57
 
@@ -1,3 +1,3 @@
1
1
  module Mobvious
2
- VERSION = "0.3.1"
2
+ VERSION = "0.3.2"
3
3
  end
@@ -16,7 +16,7 @@ Gem::Specification.new do |s|
16
16
  s.executables = `git ls-files -- bin/*`.split("\n").map{ |f| File.basename(f) }
17
17
  s.require_paths = ["lib"]
18
18
 
19
- s.add_runtime_dependency "rack", ">= 1.2.0"
19
+ s.add_runtime_dependency "rack", ">= 1.1.0"
20
20
  s.add_runtime_dependency "mobileesp_converted", '~> 0.2.0'
21
21
 
22
22
 
@@ -24,6 +24,8 @@ Gem::Specification.new do |s|
24
24
  # Smart irb
25
25
  s.add_development_dependency 'pry'
26
26
 
27
+ s.add_development_dependency 'rake'
28
+
27
29
  # Specs
28
30
  s.add_development_dependency 'minitest'
29
31
  s.add_development_dependency 'mocha'
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: mobvious
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.1
4
+ version: 0.3.2
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,22 +9,27 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2012-04-25 00:00:00.000000000 Z
12
+ date: 2013-05-03 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: rack
16
- requirement: &8000540 !ruby/object:Gem::Requirement
16
+ requirement: !ruby/object:Gem::Requirement
17
17
  none: false
18
18
  requirements:
19
19
  - - ! '>='
20
20
  - !ruby/object:Gem::Version
21
- version: 1.2.0
21
+ version: 1.1.0
22
22
  type: :runtime
23
23
  prerelease: false
24
- version_requirements: *8000540
24
+ version_requirements: !ruby/object:Gem::Requirement
25
+ none: false
26
+ requirements:
27
+ - - ! '>='
28
+ - !ruby/object:Gem::Version
29
+ version: 1.1.0
25
30
  - !ruby/object:Gem::Dependency
26
31
  name: mobileesp_converted
27
- requirement: &8090160 !ruby/object:Gem::Requirement
32
+ requirement: !ruby/object:Gem::Requirement
28
33
  none: false
29
34
  requirements:
30
35
  - - ~>
@@ -32,10 +37,15 @@ dependencies:
32
37
  version: 0.2.0
33
38
  type: :runtime
34
39
  prerelease: false
35
- version_requirements: *8090160
40
+ version_requirements: !ruby/object:Gem::Requirement
41
+ none: false
42
+ requirements:
43
+ - - ~>
44
+ - !ruby/object:Gem::Version
45
+ version: 0.2.0
36
46
  - !ruby/object:Gem::Dependency
37
47
  name: pry
38
- requirement: &8089640 !ruby/object:Gem::Requirement
48
+ requirement: !ruby/object:Gem::Requirement
39
49
  none: false
40
50
  requirements:
41
51
  - - ! '>='
@@ -43,10 +53,31 @@ dependencies:
43
53
  version: '0'
44
54
  type: :development
45
55
  prerelease: false
46
- version_requirements: *8089640
56
+ version_requirements: !ruby/object:Gem::Requirement
57
+ none: false
58
+ requirements:
59
+ - - ! '>='
60
+ - !ruby/object:Gem::Version
61
+ version: '0'
62
+ - !ruby/object:Gem::Dependency
63
+ name: rake
64
+ requirement: !ruby/object:Gem::Requirement
65
+ none: false
66
+ requirements:
67
+ - - ! '>='
68
+ - !ruby/object:Gem::Version
69
+ version: '0'
70
+ type: :development
71
+ prerelease: false
72
+ version_requirements: !ruby/object:Gem::Requirement
73
+ none: false
74
+ requirements:
75
+ - - ! '>='
76
+ - !ruby/object:Gem::Version
77
+ version: '0'
47
78
  - !ruby/object:Gem::Dependency
48
79
  name: minitest
49
- requirement: &8088840 !ruby/object:Gem::Requirement
80
+ requirement: !ruby/object:Gem::Requirement
50
81
  none: false
51
82
  requirements:
52
83
  - - ! '>='
@@ -54,10 +85,15 @@ dependencies:
54
85
  version: '0'
55
86
  type: :development
56
87
  prerelease: false
57
- version_requirements: *8088840
88
+ version_requirements: !ruby/object:Gem::Requirement
89
+ none: false
90
+ requirements:
91
+ - - ! '>='
92
+ - !ruby/object:Gem::Version
93
+ version: '0'
58
94
  - !ruby/object:Gem::Dependency
59
95
  name: mocha
60
- requirement: &8088080 !ruby/object:Gem::Requirement
96
+ requirement: !ruby/object:Gem::Requirement
61
97
  none: false
62
98
  requirements:
63
99
  - - ! '>='
@@ -65,10 +101,15 @@ dependencies:
65
101
  version: '0'
66
102
  type: :development
67
103
  prerelease: false
68
- version_requirements: *8088080
104
+ version_requirements: !ruby/object:Gem::Requirement
105
+ none: false
106
+ requirements:
107
+ - - ! '>='
108
+ - !ruby/object:Gem::Version
109
+ version: '0'
69
110
  - !ruby/object:Gem::Dependency
70
111
  name: rack-test
71
- requirement: &8087380 !ruby/object:Gem::Requirement
112
+ requirement: !ruby/object:Gem::Requirement
72
113
  none: false
73
114
  requirements:
74
115
  - - ! '>='
@@ -76,10 +117,15 @@ dependencies:
76
117
  version: '0'
77
118
  type: :development
78
119
  prerelease: false
79
- version_requirements: *8087380
120
+ version_requirements: !ruby/object:Gem::Requirement
121
+ none: false
122
+ requirements:
123
+ - - ! '>='
124
+ - !ruby/object:Gem::Version
125
+ version: '0'
80
126
  - !ruby/object:Gem::Dependency
81
127
  name: guard
82
- requirement: &8086800 !ruby/object:Gem::Requirement
128
+ requirement: !ruby/object:Gem::Requirement
83
129
  none: false
84
130
  requirements:
85
131
  - - ! '>='
@@ -87,10 +133,15 @@ dependencies:
87
133
  version: '0'
88
134
  type: :development
89
135
  prerelease: false
90
- version_requirements: *8086800
136
+ version_requirements: !ruby/object:Gem::Requirement
137
+ none: false
138
+ requirements:
139
+ - - ! '>='
140
+ - !ruby/object:Gem::Version
141
+ version: '0'
91
142
  - !ruby/object:Gem::Dependency
92
143
  name: guard-minitest
93
- requirement: &8086020 !ruby/object:Gem::Requirement
144
+ requirement: !ruby/object:Gem::Requirement
94
145
  none: false
95
146
  requirements:
96
147
  - - ! '>='
@@ -98,10 +149,15 @@ dependencies:
98
149
  version: '0'
99
150
  type: :development
100
151
  prerelease: false
101
- version_requirements: *8086020
152
+ version_requirements: !ruby/object:Gem::Requirement
153
+ none: false
154
+ requirements:
155
+ - - ! '>='
156
+ - !ruby/object:Gem::Version
157
+ version: '0'
102
158
  - !ruby/object:Gem::Dependency
103
159
  name: rb-inotify
104
- requirement: &8084920 !ruby/object:Gem::Requirement
160
+ requirement: !ruby/object:Gem::Requirement
105
161
  none: false
106
162
  requirements:
107
163
  - - ! '>='
@@ -109,10 +165,15 @@ dependencies:
109
165
  version: '0'
110
166
  type: :development
111
167
  prerelease: false
112
- version_requirements: *8084920
168
+ version_requirements: !ruby/object:Gem::Requirement
169
+ none: false
170
+ requirements:
171
+ - - ! '>='
172
+ - !ruby/object:Gem::Version
173
+ version: '0'
113
174
  - !ruby/object:Gem::Dependency
114
175
  name: libnotify
115
- requirement: &8172000 !ruby/object:Gem::Requirement
176
+ requirement: !ruby/object:Gem::Requirement
116
177
  none: false
117
178
  requirements:
118
179
  - - ! '>='
@@ -120,10 +181,15 @@ dependencies:
120
181
  version: '0'
121
182
  type: :development
122
183
  prerelease: false
123
- version_requirements: *8172000
184
+ version_requirements: !ruby/object:Gem::Requirement
185
+ none: false
186
+ requirements:
187
+ - - ! '>='
188
+ - !ruby/object:Gem::Version
189
+ version: '0'
124
190
  - !ruby/object:Gem::Dependency
125
191
  name: turn
126
- requirement: &8171560 !ruby/object:Gem::Requirement
192
+ requirement: !ruby/object:Gem::Requirement
127
193
  none: false
128
194
  requirements:
129
195
  - - ! '>='
@@ -131,7 +197,12 @@ dependencies:
131
197
  version: '0'
132
198
  type: :development
133
199
  prerelease: false
134
- version_requirements: *8171560
200
+ version_requirements: !ruby/object:Gem::Requirement
201
+ none: false
202
+ requirements:
203
+ - - ! '>='
204
+ - !ruby/object:Gem::Version
205
+ version: '0'
135
206
  description: Rack middleware for choosing a version of an interface to render for
136
207
  given request
137
208
  email:
@@ -175,7 +246,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
175
246
  version: '0'
176
247
  segments:
177
248
  - 0
178
- hash: -3843137795956134989
249
+ hash: 1312827557888422141
179
250
  required_rubygems_version: !ruby/object:Gem::Requirement
180
251
  none: false
181
252
  requirements:
@@ -184,12 +255,18 @@ required_rubygems_version: !ruby/object:Gem::Requirement
184
255
  version: '0'
185
256
  segments:
186
257
  - 0
187
- hash: -3843137795956134989
258
+ hash: 1312827557888422141
188
259
  requirements: []
189
260
  rubyforge_project:
190
- rubygems_version: 1.8.11
261
+ rubygems_version: 1.8.23
191
262
  signing_key:
192
263
  specification_version: 3
193
264
  summary: Rack middleware for choosing a version of an interface to render for given
194
265
  request
195
- test_files: []
266
+ test_files:
267
+ - spec/mobvious/manager_spec.rb
268
+ - spec/mobvious/mobvious_spec.rb
269
+ - spec/mobvious/strategies/cookie_spec.rb
270
+ - spec/mobvious/strategies/mobileesp_spec.rb
271
+ - spec/mobvious/strategies/url_spec.rb
272
+ - spec/spec_helper.rb