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.
- data/README.rdoc +104 -72
- data/lib/carrierwave.rb +7 -2
- data/lib/carrierwave/compatibility/paperclip.rb +11 -11
- data/lib/carrierwave/orm/activerecord.rb +10 -3
- data/lib/carrierwave/processing/image_science.rb +6 -0
- data/lib/carrierwave/processing/mini_magick.rb +1 -0
- data/lib/carrierwave/processing/rmagick.rb +1 -0
- data/lib/carrierwave/sanitized_file.rb +1 -1
- data/lib/carrierwave/storage/cloud_files.rb +20 -4
- data/lib/carrierwave/storage/fog.rb +317 -0
- data/lib/carrierwave/storage/s3.rb +10 -6
- data/lib/carrierwave/uploader/cache.rb +15 -1
- data/lib/carrierwave/uploader/configuration.rb +52 -28
- data/lib/carrierwave/uploader/download.rb +15 -4
- data/lib/carrierwave/uploader/url.rb +3 -2
- data/lib/carrierwave/uploader/versions.rb +4 -6
- data/lib/carrierwave/version.rb +1 -1
- metadata +112 -66
@@ -13,11 +13,11 @@ module CarrierWave
|
|
13
13
|
|
14
14
|
class RemoteFile
|
15
15
|
def initialize(uri)
|
16
|
-
@uri =
|
16
|
+
@uri = uri
|
17
17
|
end
|
18
18
|
|
19
19
|
def original_filename
|
20
|
-
File.basename(
|
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
|
-
|
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
|
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.
|
119
|
-
#
|
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
|
-
|
125
|
-
:filename => File.basename(path)
|
123
|
+
cache_stored_file! if !cached?
|
126
124
|
|
127
|
-
store!
|
125
|
+
store!
|
128
126
|
end
|
129
127
|
|
130
128
|
private
|
data/lib/carrierwave/version.rb
CHANGED
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:
|
4
|
+
hash: 13
|
5
5
|
prerelease:
|
6
6
|
segments:
|
7
7
|
- 0
|
8
8
|
- 5
|
9
|
-
-
|
10
|
-
version: 0.5.
|
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-
|
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:
|
42
|
+
hash: 13
|
43
43
|
segments:
|
44
44
|
- 3
|
45
45
|
- 0
|
46
|
-
|
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:
|
58
|
+
hash: 27
|
58
59
|
segments:
|
59
60
|
- 1
|
60
61
|
- 3
|
61
|
-
|
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:
|
74
|
+
hash: 1
|
73
75
|
segments:
|
74
76
|
- 0
|
75
|
-
-
|
76
|
-
|
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:
|
90
|
+
hash: 53
|
88
91
|
segments:
|
89
92
|
- 0
|
90
|
-
|
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:
|
106
|
+
hash: 29
|
102
107
|
segments:
|
103
|
-
-
|
104
|
-
|
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
|
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:
|
122
|
+
hash: 23
|
116
123
|
segments:
|
124
|
+
- 1
|
125
|
+
- 0
|
117
126
|
- 0
|
118
|
-
version:
|
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:
|
138
|
+
hash: 23
|
130
139
|
segments:
|
140
|
+
- 1
|
141
|
+
- 0
|
131
142
|
- 0
|
132
|
-
version:
|
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:
|
154
|
+
hash: 23
|
144
155
|
segments:
|
156
|
+
- 1
|
145
157
|
- 0
|
146
|
-
|
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:
|
170
|
+
hash: 23
|
158
171
|
segments:
|
172
|
+
- 1
|
173
|
+
- 0
|
159
174
|
- 0
|
160
|
-
version:
|
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:
|
186
|
+
hash: 63
|
172
187
|
segments:
|
188
|
+
- 3
|
189
|
+
- 14
|
173
190
|
- 0
|
174
|
-
version:
|
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:
|
202
|
+
hash: 57
|
186
203
|
segments:
|
187
|
-
-
|
188
|
-
|
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:
|
218
|
+
hash: 47
|
200
219
|
segments:
|
201
|
-
-
|
202
|
-
|
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:
|
234
|
+
hash: 29
|
214
235
|
segments:
|
215
|
-
-
|
216
|
-
|
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:
|
265
|
+
hash: 23
|
243
266
|
segments:
|
244
267
|
- 1
|
245
|
-
-
|
246
|
-
-
|
247
|
-
version: 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:
|
299
|
+
hash: 25
|
277
300
|
segments:
|
278
301
|
- 0
|
279
|
-
|
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:
|
315
|
+
hash: 1
|
291
316
|
segments:
|
292
|
-
-
|
293
|
-
|
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:
|
331
|
+
hash: 31
|
305
332
|
segments:
|
306
|
-
-
|
307
|
-
|
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:
|
407
|
+
homepage: https://github.com/jnicklas/carrierwave
|
362
408
|
licenses: []
|
363
409
|
|
364
410
|
post_install_message:
|