mobvious 0.3.1 → 0.3.2

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