carrierwave 0.5.2 → 0.5.3

Sign up to get free protection for your applications and to get access to all the features.

Potentially problematic release.


This version of carrierwave might be problematic. Click here for more details.

@@ -13,11 +13,11 @@ module CarrierWave
13
13
 
14
14
  class RemoteFile
15
15
  def initialize(uri)
16
- @uri = URI.parse(URI.escape(uri))
16
+ @uri = uri
17
17
  end
18
18
 
19
19
  def original_filename
20
- File.basename(@uri.path)
20
+ File.basename(file.base_uri.path)
21
21
  end
22
22
 
23
23
  def respond_to?(*args)
@@ -52,13 +52,24 @@ module CarrierWave
52
52
  #
53
53
  def download!(uri)
54
54
  unless uri.blank?
55
- file = RemoteFile.new(uri)
55
+ processed_uri = process_uri(uri)
56
+ file = RemoteFile.new(processed_uri)
56
57
  raise CarrierWave::DownloadError, "trying to download a file which is not served over HTTP" unless file.http?
57
58
  cache!(file)
58
59
  end
59
60
  end
60
61
 
62
+ ##
63
+ # Processes the given URL by parsing and escaping it. Public to allow overriding.
64
+ #
65
+ # === Parameters
66
+ #
67
+ # [url (String)] The URL where the remote file is stored
68
+ #
69
+ def process_uri(uri)
70
+ URI.parse(URI.escape(uri))
71
+ end
72
+
61
73
  end # Download
62
74
  end # Uploader
63
75
  end # CarrierWave
64
-
@@ -22,10 +22,11 @@ module CarrierWave
22
22
  ##
23
23
  # === Returns
24
24
  #
25
- # [String] A JSON serializtion containing this uploader's URL
25
+ # [String] A JSON serialization containing this uploader's URL(s)
26
26
  #
27
27
  def as_json(options = nil)
28
- { :url => url }
28
+ h = { :url => url }
29
+ h.merge Hash[versions.map { |name, version| [name, { :url => version.url }] }]
29
30
  end
30
31
 
31
32
  end # Url
@@ -115,16 +115,14 @@ module CarrierWave
115
115
  #
116
116
  def recreate_versions!
117
117
  # Some files could possibly not be stored on the local disk. This
118
- # doesn't play nicely with processing. To fix this, we create a new
119
- # file with the same original filename and we call file.read to get the
120
- # data for the file and then store that.
118
+ # doesn't play nicely with processing. Make sure that we're only
119
+ # processing a cached file
121
120
  #
122
121
  # The call to store! will trigger the necessary callbacks to both
123
122
  # process this version and all sub-versions
124
- local_file = SanitizedFile.new :tempfile => StringIO.new(file.read),
125
- :filename => File.basename(path)
123
+ cache_stored_file! if !cached?
126
124
 
127
- store! local_file
125
+ store!
128
126
  end
129
127
 
130
128
  private
@@ -1,3 +1,3 @@
1
1
  module CarrierWave
2
- VERSION = "0.5.2"
2
+ VERSION = "0.5.3"
3
3
  end
metadata CHANGED
@@ -1,13 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: carrierwave
3
3
  version: !ruby/object:Gem::Version
4
- hash: 15
4
+ hash: 13
5
5
  prerelease:
6
6
  segments:
7
7
  - 0
8
8
  - 5
9
- - 2
10
- version: 0.5.2
9
+ - 3
10
+ version: 0.5.3
11
11
  platform: ruby
12
12
  authors:
13
13
  - Jonas Nicklas
@@ -15,7 +15,7 @@ autorequire:
15
15
  bindir: bin
16
16
  cert_chain: []
17
17
 
18
- date: 2011-02-18 00:00:00 +00:00
18
+ date: 2011-03-22 00:00:00 +00:00
19
19
  default_executable:
20
20
  dependencies:
21
21
  - !ruby/object:Gem::Dependency
@@ -37,13 +37,14 @@ dependencies:
37
37
  version_requirements: &id002 !ruby/object:Gem::Requirement
38
38
  none: false
39
39
  requirements:
40
- - - ~>
40
+ - - "="
41
41
  - !ruby/object:Gem::Version
42
- hash: 7
42
+ hash: 13
43
43
  segments:
44
44
  - 3
45
45
  - 0
46
- version: "3.0"
46
+ - 5
47
+ version: 3.0.5
47
48
  prerelease: false
48
49
  type: :development
49
50
  requirement: *id002
@@ -52,13 +53,14 @@ dependencies:
52
53
  version_requirements: &id003 !ruby/object:Gem::Requirement
53
54
  none: false
54
55
  requirements:
55
- - - ~>
56
+ - - "="
56
57
  - !ruby/object:Gem::Version
57
- hash: 9
58
+ hash: 27
58
59
  segments:
59
60
  - 1
60
61
  - 3
61
- version: "1.3"
62
+ - 0
63
+ version: 1.3.0
62
64
  prerelease: false
63
65
  type: :development
64
66
  requirement: *id003
@@ -67,13 +69,14 @@ dependencies:
67
69
  version_requirements: &id004 !ruby/object:Gem::Requirement
68
70
  none: false
69
71
  requirements:
70
- - - ~>
72
+ - - "="
71
73
  - !ruby/object:Gem::Version
72
- hash: 3
74
+ hash: 1
73
75
  segments:
74
76
  - 0
75
- - 4
76
- version: "0.4"
77
+ - 7
78
+ - 1
79
+ version: 0.7.1
77
80
  prerelease: false
78
81
  type: :development
79
82
  requirement: *id004
@@ -82,12 +85,14 @@ dependencies:
82
85
  version_requirements: &id005 !ruby/object:Gem::Requirement
83
86
  none: false
84
87
  requirements:
85
- - - ">="
88
+ - - "="
86
89
  - !ruby/object:Gem::Version
87
- hash: 3
90
+ hash: 53
88
91
  segments:
89
92
  - 0
90
- version: "0"
93
+ - 8
94
+ - 5
95
+ version: 0.8.5
91
96
  prerelease: false
92
97
  type: :development
93
98
  requirement: *id005
@@ -96,26 +101,30 @@ dependencies:
96
101
  version_requirements: &id006 !ruby/object:Gem::Requirement
97
102
  none: false
98
103
  requirements:
99
- - - ">="
104
+ - - "="
100
105
  - !ruby/object:Gem::Version
101
- hash: 3
106
+ hash: 29
102
107
  segments:
103
- - 0
104
- version: "0"
108
+ - 1
109
+ - 3
110
+ - 3
111
+ version: 1.3.3
105
112
  prerelease: false
106
113
  type: :development
107
114
  requirement: *id006
108
- name: sqlite3-ruby
115
+ name: sqlite3
109
116
  - !ruby/object:Gem::Dependency
110
117
  version_requirements: &id007 !ruby/object:Gem::Requirement
111
118
  none: false
112
119
  requirements:
113
- - - ">="
120
+ - - "="
114
121
  - !ruby/object:Gem::Version
115
- hash: 3
122
+ hash: 23
116
123
  segments:
124
+ - 1
125
+ - 0
117
126
  - 0
118
- version: "0"
127
+ version: 1.0.0
119
128
  prerelease: false
120
129
  type: :development
121
130
  requirement: *id007
@@ -124,12 +133,14 @@ dependencies:
124
133
  version_requirements: &id008 !ruby/object:Gem::Requirement
125
134
  none: false
126
135
  requirements:
127
- - - ">="
136
+ - - "="
128
137
  - !ruby/object:Gem::Version
129
- hash: 3
138
+ hash: 23
130
139
  segments:
140
+ - 1
141
+ - 0
131
142
  - 0
132
- version: "0"
143
+ version: 1.0.0
133
144
  prerelease: false
134
145
  type: :development
135
146
  requirement: *id008
@@ -138,12 +149,14 @@ dependencies:
138
149
  version_requirements: &id009 !ruby/object:Gem::Requirement
139
150
  none: false
140
151
  requirements:
141
- - - ">="
152
+ - - "="
142
153
  - !ruby/object:Gem::Version
143
- hash: 3
154
+ hash: 23
144
155
  segments:
156
+ - 1
145
157
  - 0
146
- version: "0"
158
+ - 0
159
+ version: 1.0.0
147
160
  prerelease: false
148
161
  type: :development
149
162
  requirement: *id009
@@ -152,12 +165,14 @@ dependencies:
152
165
  version_requirements: &id010 !ruby/object:Gem::Requirement
153
166
  none: false
154
167
  requirements:
155
- - - ">="
168
+ - - "="
156
169
  - !ruby/object:Gem::Version
157
- hash: 3
170
+ hash: 23
158
171
  segments:
172
+ - 1
173
+ - 0
159
174
  - 0
160
- version: "0"
175
+ version: 1.0.0
161
176
  prerelease: false
162
177
  type: :development
163
178
  requirement: *id010
@@ -166,12 +181,14 @@ dependencies:
166
181
  version_requirements: &id011 !ruby/object:Gem::Requirement
167
182
  none: false
168
183
  requirements:
169
- - - ">="
184
+ - - "="
170
185
  - !ruby/object:Gem::Version
171
- hash: 3
186
+ hash: 63
172
187
  segments:
188
+ - 3
189
+ - 14
173
190
  - 0
174
- version: "0"
191
+ version: 3.14.0
175
192
  prerelease: false
176
193
  type: :development
177
194
  requirement: *id011
@@ -180,12 +197,14 @@ dependencies:
180
197
  version_requirements: &id012 !ruby/object:Gem::Requirement
181
198
  none: false
182
199
  requirements:
183
- - - ">="
200
+ - - "="
184
201
  - !ruby/object:Gem::Version
185
- hash: 3
202
+ hash: 57
186
203
  segments:
187
- - 0
188
- version: "0"
204
+ - 2
205
+ - 13
206
+ - 1
207
+ version: 2.13.1
189
208
  prerelease: false
190
209
  type: :development
191
210
  requirement: *id012
@@ -194,12 +213,14 @@ dependencies:
194
213
  version_requirements: &id013 !ruby/object:Gem::Requirement
195
214
  none: false
196
215
  requirements:
197
- - - ">="
216
+ - - "="
198
217
  - !ruby/object:Gem::Version
199
- hash: 3
218
+ hash: 47
200
219
  segments:
201
- - 0
202
- version: "0"
220
+ - 3
221
+ - 8
222
+ - 4
223
+ version: 3.8.4
203
224
  prerelease: false
204
225
  type: :development
205
226
  requirement: *id013
@@ -208,12 +229,14 @@ dependencies:
208
229
  version_requirements: &id014 !ruby/object:Gem::Requirement
209
230
  none: false
210
231
  requirements:
211
- - - ">="
232
+ - - "="
212
233
  - !ruby/object:Gem::Version
213
- hash: 3
234
+ hash: 29
214
235
  segments:
215
- - 0
216
- version: "0"
236
+ - 1
237
+ - 2
238
+ - 1
239
+ version: 1.2.1
217
240
  prerelease: false
218
241
  type: :development
219
242
  requirement: *id014
@@ -222,7 +245,7 @@ dependencies:
222
245
  version_requirements: &id015 !ruby/object:Gem::Requirement
223
246
  none: false
224
247
  requirements:
225
- - - ~>
248
+ - - "="
226
249
  - !ruby/object:Gem::Version
227
250
  hash: 5
228
251
  segments:
@@ -239,12 +262,12 @@ dependencies:
239
262
  requirements:
240
263
  - - "="
241
264
  - !ruby/object:Gem::Version
242
- hash: 17
265
+ hash: 23
243
266
  segments:
244
267
  - 1
245
- - 1
246
- - 1
247
- version: 1.1.1
268
+ - 2
269
+ - 4
270
+ version: 1.2.4
248
271
  prerelease: false
249
272
  type: :development
250
273
  requirement: *id016
@@ -271,12 +294,14 @@ dependencies:
271
294
  version_requirements: &id018 !ruby/object:Gem::Requirement
272
295
  none: false
273
296
  requirements:
274
- - - ">="
297
+ - - "="
275
298
  - !ruby/object:Gem::Version
276
- hash: 3
299
+ hash: 25
277
300
  segments:
278
301
  - 0
279
- version: "0"
302
+ - 3
303
+ - 5
304
+ version: 0.3.5
280
305
  prerelease: false
281
306
  type: :development
282
307
  requirement: *id018
@@ -285,12 +310,14 @@ dependencies:
285
310
  version_requirements: &id019 !ruby/object:Gem::Requirement
286
311
  none: false
287
312
  requirements:
288
- - - ">="
313
+ - - "="
289
314
  - !ruby/object:Gem::Version
290
- hash: 3
315
+ hash: 1
291
316
  segments:
292
- - 0
293
- version: "0"
317
+ - 1
318
+ - 5
319
+ - 1
320
+ version: 1.5.1
294
321
  prerelease: false
295
322
  type: :development
296
323
  requirement: *id019
@@ -299,16 +326,34 @@ dependencies:
299
326
  version_requirements: &id020 !ruby/object:Gem::Requirement
300
327
  none: false
301
328
  requirements:
302
- - - ">="
329
+ - - "="
303
330
  - !ruby/object:Gem::Version
304
- hash: 3
331
+ hash: 31
305
332
  segments:
306
- - 0
307
- version: "0"
333
+ - 1
334
+ - 4
335
+ - 12
336
+ version: 1.4.12
308
337
  prerelease: false
309
338
  type: :development
310
339
  requirement: *id020
311
340
  name: cloudfiles
341
+ - !ruby/object:Gem::Dependency
342
+ version_requirements: &id021 !ruby/object:Gem::Requirement
343
+ none: false
344
+ requirements:
345
+ - - "="
346
+ - !ruby/object:Gem::Version
347
+ hash: 29
348
+ segments:
349
+ - 1
350
+ - 3
351
+ - 3
352
+ version: 1.3.3
353
+ prerelease: false
354
+ type: :development
355
+ requirement: *id021
356
+ name: sham_rack
312
357
  description: Upload files in your Ruby applications, map them to a range of ORMs, store them on different backends.
313
358
  email:
314
359
  - jonas.nicklas@gmail.com
@@ -333,6 +378,7 @@ files:
333
378
  - lib/carrierwave/storage/abstract.rb
334
379
  - lib/carrierwave/storage/cloud_files.rb
335
380
  - lib/carrierwave/storage/file.rb
381
+ - lib/carrierwave/storage/fog.rb
336
382
  - lib/carrierwave/storage/grid_fs.rb
337
383
  - lib/carrierwave/storage/right_s3.rb
338
384
  - lib/carrierwave/storage/s3.rb
@@ -358,7 +404,7 @@ files:
358
404
  - lib/generators/uploader_generator.rb
359
405
  - README.rdoc
360
406
  has_rdoc: true
361
- homepage: http://carrierwave.rubyforge.org
407
+ homepage: https://github.com/jnicklas/carrierwave
362
408
  licenses: []
363
409
 
364
410
  post_install_message: